webForumDet fria alternativet

Byta php5 kod till php4

6 svar · 440 visningar · startad av rille31

rille31Medlem sedan okt. 2004221 inlägg
#1

Hej

Har gjort ett epostscript som fungerar under php5 men inte under php4.
Nu kan jag inte skillnaderna men det fiins säkert någon vänlig själ som kan hjälpa mig att anpassa koden till php4 :r

Är inte haj på php men har för mig att _POST variablerna skiljer sig i tidigare versioner?

function replace($text){
	$text = trim($text);
	$text = str_replace("Ã¥", "å", $text);
	$text = str_replace("Ã…", "Å", $text);
	$text = str_replace("ä", "ä", $text);
	$text = str_replace("Ä", "Ä", $text);
	$text = str_replace("ö", "ö", $text);
	$text = str_replace("Ö", "Ö", $text);
	return $text;
}
 
foreach($_POST as $key=>$value) {
    $temp = replace($value);
    $_POST[$key] = $temp;
 }

$Name = $_POST['namn'];
$Email = $_POST['epost'];
$Phone = $_POST['telefon'];
$Foretag = $_POST['foretag'];
$ToComments = $_POST['meddelande'];

$ToEmail = "info@minsida.se";

$ip = $_SERVER['REMOTE_ADDR']; 

$ToName = "Rickard";

$ToSubject = "Epost från minsida.se";

$EmailBody = "Sent By: $Name\nSenders Email: $Email\nSenders Phone: $Phone\nSenders Company: $Foretag\nMessage Sent: $ToComments\n";

$EmailFooter="\nThis message was sent by: $Name from ipnumber $ip, If you feel that you recieved this email by accident please contact us at http://www.minsida.se";

$Message = $EmailBody.$EmailFooter;

$mailing = @mail($ToName." <".$ToEmail.">",$ToSubject, $Message, "From: ".$Name." <".$Email.">");

if($mailing==true){
	 $something="&sent=OK&"; 
	echo $something; 
	}else{
	 $something="&sent=FAILED&"; 
	 echo $something;
}
PeeerMedlem sedan mars 20025 362 inlägg
#2

Får du någon form av felmeddelande? Jag ser inget php5-specifikt i koden

rille31Medlem sedan okt. 2004221 inlägg
#3

Peeer skrev:

Får du någon form av felmeddelande? Jag ser inget php5-specifikt i koden

Får inga felmeddelandet och ifsatsen returnerar true att mailet skickats

I tidigare versioner så hanterade man väl dom globala variablerna anorlunda?

Tex så var väl nuvarande $ip = $_SERVER['REMOTE_ADDR'] följande $ip = $REMOTE_ADDR

Koden funkade hos b-one som har php5 men inte hos loopia som har php4.

The_HulkMedlem sedan juni 20031 937 inlägg
#4

skillnaden på $ip = $_SERVER['REMOTE_ADDR'] och $ip = $REMOTE_ADDR är att i det senare fallet har du register_globals = On vilket man ska försöka undvika.

den första fungerar i båda.

rille31Medlem sedan okt. 2004221 inlägg
#5

The_Hulk skrev:

skillnaden på $ip = $_SERVER['REMOTE_ADDR'] och $ip = $REMOTE_ADDR är att i det senare fallet har du register_globals = On vilket man ska försöka undvika.

den första fungerar i båda.

fast jag använder den första, finns det ngt annat som kan göra att det inte fungerar hos loopia, kanske någon inställning?

rille31Medlem sedan okt. 2004221 inlägg
#6

Kan sluta slita mitt hår, mailen kommer fram med ett dygns fördröjning av någom anledning.
Skickar dom till min hotmail, det skumma är att på min b-one domän kom dom fram direkt när jag testade.

PeeerMedlem sedan mars 20025 362 inlägg
#7

Kolla i mailheadern och se var fördröjningen ligger. Om det är en fördröjning på ett dygn varje gång kanske du kan klaga hos någon.

Genererad på 872 ms · cache AV · v20260730165559-full.f96bc7eb