Problem opstået pga opgradering.
Hej Eksperter.jeg laver side for en ven, og hans webhotel, har nu opgraderet til den nyeste php, og det har resulteret i at hele hans tilmeldings snask går i kage, noget med at den ikke kan finde ud af at sende emails.
Form Parser.
-----------------------------
<?php
// Vigtige infos for at det hele virker. :)
$email_field_names = array(1 => "Cpr Nr", "Fornavn", "Efternavn", "Adresse", "Postnr & By", "Telefon", "Mobil", "Email", "Kørekort", "Disp. Bil", "Ønsket Arbejdstid", "Job Situation", "Job Ønske", "Forventet Løn i Fast Job", "Forventet Løn i Vikariat", "Til Rådighed Fra", "Medlem af A-Kasse", "Hvis Ja, Hvilken", "Evt. Opsigelsesvarsel", "Ryger", "Ren Straffeattest", "Registreret I Andre Bureauer", "Hvis Ja, Hvilke", "Evt. Bemærkninger");
$mysql_field_names = array(1 => "cprnr", "fornavn", "efternavn", "adresse", "postnr_by", "telefon", "mobil", "email", "kørekort", "bil", "arbejdstid", "job_situation", "job_ønske", "løn_fast", "løn_vikariat", "rådighed", "akasse", "ja_akasse", "opsigelse", "ryger", "straffeattest", "bureauer", "ja_bureauer", "bemærkninger");
$required_fields = array(1 => "cprnr", "fornavn", "efternavn", "adresse", "portnr_by", "telefon",'', "email",'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'');
$filename = $_SERVER['REMOTE_ADDR']."_".time();
// LAD VÆRE MED AT PILLE VED NOGET SOM HELST UNDER HER!!
function check_required_fields() {
global $mysql_field_names, $required_fields, $email_field_names;
$n = 1;
$field_name = "";
foreach($_REQUEST as $key=>$val) {
$req_key = $required_fields[$n];
if($req_key) {
if(!$val) {
$field_name .= "Feltet " . $email_field_names[$n] . " er ikke udfyldt.<br \>\n";
}
}
$n++;
}
return $field_name;
}
function email_msg() {
global $email_field_names;
$email_msg = "<!doctype HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
$email_msg .= "<html>\n";
$email_msg .= "<head>\n";
$email_msg .= "<meta http-equiv=\"Content-Language\" content=\"da\">\n";
$email_msg .= "<title>Tilmeldning Til ************</title>\n";
$email_msg .= "</head>\n";
$email_msg .= "<center><img src='http://************/gfx/email_logo.jpg' alt='' border='0'></center>";
$email_msg .= "<table cellpadding='0' cellspacing='0' width='600' align='center' bgcolor='#EAEEF0' style='border: 1px solid black'>\n";
$n = 1;
$field_bgcolor = "C7D1DB";
foreach($_REQUEST as $key=>$val) {
if($email_field_names[$n] == "Evt. Bemærkninger") {
$val = ereg_replace("\n","<br>\n", $val);
}
$email_msg .= "<tr bgcolor='".$field_bgcolor."'><td valign='top'> ".$email_field_names[$n] . ":</td><td width='380' valign='top'>".$val."</td></tr>\n";
$n++;
if($field_bgcolor == "C7D1DB") {
$field_bgcolor = "";
}
else {
$field_bgcolor = "C7D1DB";
}
}
$email_msg .= "</table>\n</body>\n</html>";
return $email_msg;
}
function file_msg() {
global $mysql_field_names;
$file_msg = "";
$n = 1;
foreach($_REQUEST as $key=>$val) {
$file_msg .= $val . ";";
$n++;
}
$file_msg = substr_replace($file_msg, '', -1);
$file_msg .= "\n";
return $file_msg;
}
function mysql_sql() {
global $mysql_field_names;
$n = 1;
$mysql_db_table = "sv_users";
$sql = "insert into $mysql_db_table SET ";
foreach($_REQUEST as $key=>$val) {
$sql .= "`$mysql_field_names[$n]` = '" . $val . "', ";
$n++;
}
$sql .= "`created` = '" . time() . "'";
return $sql;
}
function save_and_mail($file_msg, $email_msg, $mysql_sql) {
global $filename;
$handle = fopen("tmp/".$filename.".txt", "w"); // Opretter tmp filen.
fwrite($handle, $file_msg); // Skriver til temp filen.
fclose($handle);
$mail_file_stuff = "tmp/".$filename.".txt";
$full_name = $_REQUEST['Fornavn'] . " " . $_REQUEST['Efternavn'];
require("class.phpmailer.php");
$mail = new phpmailer();
$mail->From = "************";
$mail->FromName = "************ MailBot";
$mail->Host = "***************";
$mail->Mailer = "smtp";
$mail->ContentType = "text/html";
$mail->Subject = "Tilmelding til **************.";
$mail->Body = $email_msg;
$modtager = "*************";
for($i = 1; $i <= 2; $i++) {
if($modtager == "***********") {
$mail->AddAddress("************", "*********** (**************)"); // ********************
$mail->AddAttachment($mail_file_stuff, "tilmeldning.txt", "base64", "application/octet-stream");
$modtager = "1";
}
else {
$mail->AddAddress($_REQUEST['E-mail'], "$full_name (".$_REQUEST['E-mail'].")");
}
if(!$mail->Send())
echo "There has been a mail error sending to " . $_REQUEST['E-mail'] . "<br>";
// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();
}
$mail->AddAddress($_REQUEST['email'], $full_name);
unlink("tmp/".$filename.".txt"); // Sletter temp filen.
$handle2 = fopen("admin/tmp_dl/brugere.txt", "a"); // Opretter tmp filen.
fwrite($handle2, $file_msg); // Skriver til temp filen.
fclose($handle2);
if(!mysql_connect("localhost","*************","************")) {
echo mysql_error();
exit;
}
if(!mysql_select_db("************")) {
echo mysql_error();
exit;
}
if(!mysql_query($mysql_sql)) {
echo mysql_error();
exit;
}
else {
$email = $_REQUEST['E-mail'];
header("Location: completed.php?navn=$full_name&email=$email");
}
}
if(check_required_fields()) {
printf(check_required_fields());
exit;
}
printf(save_and_mail(file_msg(), email_msg(), mysql_sql()));
?>
--------------------
Nogle der kan se problemet??
