2

I am having issue with this form. It emails me all the data it collects, but I do not get any images. To the genius amongst us, I didn't write any php to attempt to get the because I do not know which coding to use. Any assistance is deeply appreciated. Thank you

<?php
$accounttype = $_POST['accounttype'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$middlename = $_POST['middlename'];
$email = $_POST['email'];
$location = $_POST['location'];
$year = $_POST['year'];
$gender = $_POST['gender'];
$formcontent = "Status: $accounttype \r\n  First: $firstname \r\n  Last:$lastname \r\n Middle:$middlename \r\n Where:$location \r\n Grad:$year \r\n Gender:$gender";
$recipient = "[email protected]";
$subject = "Registration Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" . " -" . "<a href='../../index.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { 
  	padding:0;
  	margin:0;
}

fieldset, img {
	border: 0;
}

ol, ul, li {
	list-style: none;
}

:focus {
	outline: none;
}

body, input, textarea, select {
  	font-family: 'Open Sans', sans-serif;
  	font-size: 16px;
  	color: #4c4c4c;
}

p {
  	font-size: 12px;
  	width: 150px;
  	display: inline-block;
  	margin-left: 18px;
}

h1 {
  font-size: 32px;
  font-weight: 300;
  color: #4c4c4c;
  text-align: center;
  padding-top: 10px;
  margin-bottom: 10px;
}

html{
  background-color: #ffffff;
}

.testbox {
  margin: 20px auto;
  width: 343px; 
  -webkit-border-radius: 8px/7px; 
  -moz-border-radius: 8px/7px; 
  border-radius: 8px/7px; 
  background-color: #ebebeb; 
  -webkit-box-shadow: 1px 2px 5px rgba(0,0,0,.31); 
  -moz-box-shadow: 1px 2px 5px rgba(0,0,0,.31); 
  box-shadow: 1px 2px 5px rgba(0,0,0,.31); 
  border: solid 1px #cbc9c9;
}

input[type=radio] {
  visibility: hidden;
}

form {
	height:auto;
  	margin: 0 30px;
}

label.radio {
	cursor: pointer;
  	text-indent: 35px;
  	overflow: visible;
  	display: inline-block;
  	position: relative;
  	margin-bottom: 15px;
}

label.radio:before {
  	background: #3a57af;
  	content:'';
  	position: absolute;
  	top:2px;
  	left: 0;
  	width: 20px;
  	height: 20px;
  	border-radius: 100%;
}

label.radio:after {
	opacity: 0;
	content: '';
	position: absolute;
	width: 0.5em;
	height: 0.25em;
	background: transparent;
	top: 7.5px;
	left: 4.5px;
	border: 3px solid #ffffff;
	border-top: none;
	border-right: none;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

input[type=radio]:checked + label:after {
	opacity: 1;
}

hr {
  	color: #a9a9a9;
  	opacity: 0.3;
}

input[type=text],input[type=email],input[type=number] {
  	width: 200px; 
  	height: 39px; 
  	-webkit-border-radius: 0px 4px 4px 0px/5px 5px 4px 4px; 
  	-moz-border-radius: 0px 4px 4px 0px/0px 0px 4px 4px; 
  	border-radius: 0px 4px 4px 0px/5px 5px 4px 4px; 
  	background-color: #fff; 
  	-webkit-box-shadow: 1px 2px 5px rgba(0,0,0,.09); 
  	-moz-box-shadow: 1px 2px 5px rgba(0,0,0,.09); 
  	box-shadow: 1px 2px 5px rgba(0,0,0,.09); 
  	border: solid 1px #cbc9c9;
  	margin-left: -5px;
  	margin-top: 13px; 
  	padding-left: 10px;
}

input[type=password] {
  	margin-bottom: 25px;
}

#icon {
  	display: inline-block;
  	width: 30px;
  	background-color: #3a57af;
  	padding: 8px 0px 8px 15px;
  	margin-left: 15px;
  	-webkit-border-radius: 4px 0px 0px 4px; 
  	-moz-border-radius: 4px 0px 0px 4px; 
  	border-radius: 4px 0px 0px 4px;
  	color: white;
  	-webkit-box-shadow: 1px 2px 5px rgba(0,0,0,.09);
  	-moz-box-shadow: 1px 2px 5px rgba(0,0,0,.09); 
  	box-shadow: 1px 2px 5px rgba(0,0,0,.09); 
  	border: solid 0px #cbc9c9;
}

.gender {
  	margin-left: 30px;
  	margin-bottom: 30px;
}

.accounttype {
  	margin-left: 8px;
  	margin-top: 20px;
}

.button {
  	font-size: 14px;
  	font-weight: 600;
  	color: white;
  	padding: 6px 25px 0px 20px;
  	margin: 10px 8px 20px 0px;
  	display: inline-block;
  	float: right;
  	text-decoration: none;
  	width: auto; height: 27px; 
  	-webkit-border-radius: 5px; 
  	-moz-border-radius: 5px; 
  	border-radius: 5px; 
  	background-color: #3a57af; 
  	-webkit-box-shadow: 0 3px rgba(58,87,175,.75); 
  	-moz-box-shadow: 0 3px rgba(58,87,175,.75); 
  	box-shadow: 0 3px rgba(58,87,175,.75);
  	transition: all 0.1s linear 0s; 
  	top: 0px;
  	position: relative;
}

.button:hover {
  	top: 3px;
  	background-color:#2e458b;
  	-webkit-box-shadow: none; 
  	-moz-box-shadow: none; 
  	box-shadow: none;
}
<html>
<body>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600' rel='stylesheet' type='text/css'>
<link href="//netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.css" rel="stylesheet">
<?php echo $output; ?>

<div class="testbox">
	<h1>Registration</h1>
		<form action="assets/php/mail.php" method="post">
<hr>
<div class="accounttype">
	<input type="radio" value="student" id="student" name="accounttype" checked/>
	<label for="student" class="radio" chec>Student</label>
	<input type="radio" value="faculty" id="faculty" name="accounttype" />
	<label for="faculty" class="radio">Faculty</label>
</div>
<hr>
	<label id="icon" for="name"><i class="icon-user "></i></label>
	<input type="text" name="firstname" id="firstname" placeholder="First Name" required/>
	<label id="icon" for="name"><i class="icon-user"></i></label>
	<input type="text" name="lastname" id="lastname" placeholder="Last Name" required/>
	<label id="icon" for="name"><i class="icon-shield"></i></label>
	<input type="text" name="middlename" id="middlename" placeholder="Middle Name"/>
<hr>
	<label id="icon" for="name"><i class="icon-envelope "></i></label>
	<input type="email" name="email" id="email" placeholder="Email Address" required/>
	<label id="icon" for="name"><i class="icon-map-marker "></i></label>
	<input type="text" name="location" id="location" placeholder="City, State" required/>
	<label id="icon" for="name"><i class="icon-shield"></i></label>
	<input type="number" name="year" id="year" placeholder="Graduation Year" required/>
<hr>
<div class="gender">
	<input type="radio" value="male" id="male" name="gender" checked/>
	<label for="male" class="radio" chec>Male</label>
	<input type="radio" value="female" id="female" name="gender" />
	<label for="female" class="radio">Female</label>
<hr>
	<p>Upload full body image</p>
    <input type="file" accept="image/*;capture=camera">
</div> 
<p>By clicking Register, you agree on our <a href="#">terms and condition</a>.</p>
	<input type="submit" class="button" value="Send" />
</form>
</div>
</body>
</html>

3
  • did you know about phpmailer? Commented Sep 25, 2015 at 1:00
  • method="post" enctype="multipart/form-data" if you plan on sending an image to the server. You will also need to (possibly) check file upload restrictions in the php.ini file. Lastly, in the PHP code, you will need handlers that deal with $_FILES php.net/manual/en/reserved.variables.files.php Commented Sep 25, 2015 at 1:05
  • @FiidoFirdauz I've heard of it, never used it. I'm not knowledgeable enough to attempt it. Commented Sep 25, 2015 at 2:00

2 Answers 2

1

It is because you do not upload the images therefore sending the location of file does not help.

I am not going to provide the implementation as it depends on the abstract solution you choose: a) upload the image to your server and send the image to you b) upload the image to a file sharing website and send the image to you

Sign up to request clarification or add additional context in comments.

1 Comment

I want what I assume is the easiest solution : Having it come in the email with everything else, or worst case scenario as an attachment. Once again I didn't attempt anything because I have no idea where to start. Never tried to get a image using a form before.
0

First, You need to upload image to your server, then create a link http://abcd.com/directory/uploaded-image.jpg and send it in email. For this you could use very simple php function

move_uploaded_files

see example here

3 Comments

This literally doesn't help me at all.
Do you have problem in file uploading? have you tried example?
I just need help in adding to the existing code I have that's it. If you cannot provide that then have a blessed day.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.