Reputation: 79
I am developing website in html. In Careers.html page i am having Apply button. On clicking that apply button it will send the mail using php file. On suceess event i need to set the alert or to show the div on the same Careers.html page.
Careers.html
<form method="post" action="Applyresume.php" enctype="multipart/form-data">
<tr>
<td>First Name </td>
<td><input type="TextBox" name="First_Name" class="applytext" required></td>
</tr>
<tr>
<td>Last Name </td>
<td><input type="TextBox" name="Last_Name" class="applytext" required></td>
</tr>
<tr>
<td>E-mail </td>
<td><input type="TextBox" name="email" class="applytext" required></td>
</tr>
<tr>
<td>Phone </td>
<td><input type="TextBox" name="Phone_No" class="applytext" required></td>
</tr>
<tr>
<td>Attachment </td>
<td><input type="file" name="attachment" maxlength="50" allow="text/*" class="applytext" required></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="button" class="send-resume" value="SEND" style="margin-left:24%;">
<input type="reset" value="RESET" style="margin-left:8%"></td>
</tr>
</form>
Applyresume.php
<?php
if($_POST && isset($_FILES['attachment']))
{
$name= $_POST['First_Name'];
$lname= $_POST['Last_Name'];
$email= $_POST['email'];
$phonenum = $_POST['Phone_No'];
$from_email = $_POST['email']; //sender email
$recipient_email = '[email protected]'; //recipient email
$subject = 'Test Email '; //subject of email
$message = 'Resume attached below.'; //message body
$emailbod = "$name
$lname
$email
$phonenum";
//get file details we need
$file_tmp_name = $_FILES['attachment']['tmp_name'];
$file_name = $_FILES['attachment']['name'];
$file_size = $_FILES['attachment']['size'];
$file_type = $_FILES['attachment']['type'];
$file_error = $_FILES['attachment']['error'];
$user_email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
if($file_error>0)
{
die('upload error');
}
//read from the uploaded file & base64_encode content for the mail
$handle = fopen($file_tmp_name, "r");
$content = fread($handle, $file_size);
fclose($handle);
$encoded_content = chunk_split(base64_encode($content));
$boundary = md5("sanwebe");
//header
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From:".$from_email."\r\n";
$headers .= "Reply-To: ".$user_email."" . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary = $boundary\r\n\r\n";
//plain text
$body = "--$boundary\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode($emailbod));
//attachment
$body .= "--$boundary\r\n";
$body .="Content-Type: $file_type; name=\"$file_name\"\r\n";
$body .="Content-Disposition: attachment; filename=\"$file_name\"\r\n";
$body .="Content-Transfer-Encoding: base64\r\n";
$body .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n";
$body .= $encoded_content;
$sentMail = @mail($recipient_email, $subject, $body, $headers);
if($sentMail) //output success or failure messages
{
echo '<script type="text/javascript">alert("Thanks for your interest. Your Resume has been sent to [email protected]");window.location.assign("Careers.html");</script>';
}else
{
echo"<script>alert('Could not send mail! Please check your PHP mail configuration.')</script>";
}
}
?>
My problem is I need to set the success alert in the same html page. But here my success alert is opening in PHP page.
How to add this php code in same html page?
Upvotes: 2
Views: 3059
Reputation: 174
set a condition on success create a session $_SESSION['action] = "Your Massage";
and when page refresh.
there would be a place where you want to echo that massage.
Upvotes: 0
Reputation: 14810
To view the message or alert on the same page, you can just copy your php
code in the same HTML page. Do it as below
your_html.php
<form method="post" action="" enctype="multipart/form-data">
<tr>
<td>First Name </td>
<td><input type="TextBox" name="First_Name" class="applytext" required></td>
</tr>
<tr>
<td>Last Name </td>
<td><input type="TextBox" name="Last_Name" class="applytext" required></td>
</tr>
<tr>
<td>E-mail </td>
<td><input type="TextBox" name="email" class="applytext" required></td>
</tr>
<tr>
<td>Phone </td>
<td><input type="TextBox" name="Phone_No" class="applytext" required></td>
</tr>
<tr>
<td>Attachment </td>
<td><input type="file" name="attachment" maxlength="50" allow="text/*" class="applytext" required></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="button" class="send-resume" value="SEND" style="margin-left:24%;">
<input type="reset" value="RESET" style="margin-left:8%"></td>
</tr>
</form>
<?php
if($_POST && isset($_FILES['attachment']))
{
$name= $_POST['First_Name'];
$lname= $_POST['Last_Name'];
$email= $_POST['email'];
$phonenum = $_POST['Phone_No'];
$from_email = $_POST['email']; //sender email
$recipient_email = '[email protected]'; //recipient email
$subject = 'Test Email '; //subject of email
$message = 'Resume attached below.'; //message body
$emailbod = "$name
$lname
$email
$phonenum";
//get file details we need
$file_tmp_name = $_FILES['attachment']['tmp_name'];
$file_name = $_FILES['attachment']['name'];
$file_size = $_FILES['attachment']['size'];
$file_type = $_FILES['attachment']['type'];
$file_error = $_FILES['attachment']['error'];
$user_email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
if($file_error>0)
{
die('upload error');
}
//read from the uploaded file & base64_encode content for the mail
$handle = fopen($file_tmp_name, "r");
$content = fread($handle, $file_size);
fclose($handle);
$encoded_content = chunk_split(base64_encode($content));
$boundary = md5("sanwebe");
//header
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From:".$from_email."\r\n";
$headers .= "Reply-To: ".$user_email."" . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary = $boundary\r\n\r\n";
//plain text
$body = "--$boundary\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode($emailbod));
//attachment
$body .= "--$boundary\r\n";
$body .="Content-Type: $file_type; name=\"$file_name\"\r\n";
$body .="Content-Disposition: attachment; filename=\"$file_name\"\r\n";
$body .="Content-Transfer-Encoding: base64\r\n";
$body .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n";
$body .= $encoded_content;
$sentMail = @mail($recipient_email, $subject, $body, $headers);
if($sentMail) //output success or failure messages
{
echo '<script type="text/javascript">alert("Thanks for your interest. Your Resume has been sent to [email protected]");window.location.assign("Careers.html");</script>';
}else
{
echo"<script>alert('Could not send mail! Please check your PHP mail configuration.')</script>";
}
}
?>
Dont forget to remove the action
attribute of <form>
. Also the extension of your HTML page should be changed to php
.
Upvotes: 1