webForumDet fria alternativet

Byta php5 kod till php4

PHP

6 svar · 442 visningar · startad av rille31

Medlem sedan okt. 2004186 inlägg
Frågan#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;
}
Medlem sedan mars 20025 907 inlägg
#2

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

Medlem sedan okt. 2004186 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.

Medlem sedan juni 20031 837 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.

Medlem sedan okt. 2004186 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?

Medlem sedan okt. 2004186 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.

Medlem sedan mars 20025 907 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.

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)