PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP-Versionen unterscheiden?


leok76
17.01.2007, 22:30:04
Hallo und Kompliment an die Klugen Köpfe!
Mein Problem: Ein PHP-Mail-Formular (ca 20 Felder, davon 3 Pflichtfelder) lief lange Zeit reibungslos auf der Website. Aber seit einiger Zeit ist Stillstand bei der Meldung "Nicht alle Pflicht-Felder ausgefüllt oder so ...", obwohl diese nicht leer sind. Kann das daran liegen, dass der Provider eine PHP-Version außer Betrieb gesetzt hat? Und vor allem: Wie kann ich feststellen, in welcher Script-Version das Formular geschrieben ist? (... ich bin selbst nicht php-fit, ich kann bestenfalls ein vorhandenes Script ein wenig modifizieren...!)
Für eine in diesem Sinne noch verständliche Hilfe wäre ich sehr verbunden.
Danke.
LeoK

CIX88
17.01.2007, 22:56:56
echo PHP_VERSION;


Du solltest aber prüfen, aber deine Werte mit $_POST, $_GET oder $_REQUEST abgefragt werden.
Stichwort register_global ...

Opendix
17.01.2007, 23:48:40
phpinfo();


gibt dir detaillierte infos über die PHP installation!

leok76
18.01.2007, 00:10:16
Wie erkenne ich aber die Version, in der das Formular-Script verfasst ist?

rambi
18.01.2007, 01:38:58
Meine Glaskugel sagt:
Dein Script ist im PHP3 bis PHP4.2 Stil geschrieben!!
Es setzt register_globals=On voraus und dein Provider hat
es endlich auf Off umgestellt! Und das ist auch gut so!

Da ist wohl eine Renovierung fällig!

Domi
18.01.2007, 10:09:29
Was er damit sagen will, poste uns mal dein SCript und wir können dir helfen ;)

Domi

feuervogel
18.01.2007, 11:28:40
Wie erkenne ich aber die Version, in der das Formular-Script verfasst ist?

du anscheinend gar nicht, sonst würdest du ja nicht fragen. wir auch nicht, denn wir sehen es nicht.

CIX88
18.01.2007, 11:41:59
Komische Fragen werden hier gestellt ...

Glaube kaum, dass die PHP-Version vom erstellten Script eine Rolle spielen sollte, weshalb es nun nicht mehr richtig geht.
Wenn das Script lange Zeit lief, wird es wohl PHP4 sein aber:
immer noch Stichwort register_global ...
Prüfe lieber das mal nach !

meikel (†)
18.01.2007, 12:51:03
Wie erkenne ich aber die Version, in der das Formular-Script verfasst ist?
Wen interessiert das? Jut, Dich vielleicht, aber Du wirst ja wohl noch wissen, was Du so zusammengetippert hast...

Lesen:
11.20. Warum funktionieren meine Formulare nicht?
http://www.php-faq.de/q/q-formular-register-globals.html

leok76
18.01.2007, 21:31:24
"register_global" gibts in diesem Script nicht. Ich poste die "danke.php"-Datei im Anschluss:

<link href="grafik-zw/stile3kl.css" rel="stylesheet" type="text/css">
<?
$webmaster = "vwxyz@aon.at";
$absender = "xyz@aon.at";
$betreffwebmaster = "Anfrage Website - v1";
$koerperwebmaster = "$anrede $name ($mail) hat ueber die Webseite folgende Kontakt-Daten hinterlassen:
Nachricht: $nachricht \n\n Anforderung Prospekte: $prospekte \n\n Anreisedatum: $startzeit0.$startzeit1.$startzeit2 \n Abreisedatum: $endzeit0.$endzeit1.$endzeit2 \n\n Quartier: \n $fewo0 FEWO fuer insgesamt $pers_anz0 Personen davon $kind_anz0 Kinder im Alter von $alter0 Jahren \n \n Anschrift und Kontaktdaten: \n $anrede $Titel $name \n $strasse \n $plz $ort \n $Land \n Telefon: $telefon Fax: $fax ";

$betreffabsender = "Kopie - Anfrage Fewo Th.";
$koerperabsender = "Herzlichen Dank fuer Ihre Nachricht! Wir werden uns bei Ihnen melden!
Sie haben folgende Daten versandt:
Nachricht: \n $nachricht \n\n Anforderung Prospekte: \n $prospekte \n\n Anreisedatum: \n $startzeit0.$startzeit1.$startzeit2 \n Abreisedatum: \n $endzeit0.$endzeit1.$endzeit2 \n\n Quartier: \n $fewo0 FEWO fuer insgesamt $pers_anz0 Personen davon $kind_anz0 Kinder im Alter von $alter0 Jahren \n \n Anschrift und Kontaktdaten: \n $anrede $Titel $name \n $strasse \n $plz $ort \n $Land \n Telefon: $telefon Fax: $fax ";

$mailfalsch = "<p>Fehler</p><p>Leider ist die E-Mail-Adresse falsch</p><p>Bitte kontrolliere noch einmal die Eingabe und sende das Formular erneut ab.";
$felderleer = "<p>Fehler</p><p>Die Nachricht konnte nicht versandt werden, da nicht alle Pflichtfelder ausgef&uuml;llt wurden.</p>";
$abgesandt = "<p>Danke,</p><p>wir haben Ihre Nachricht erhalten und werden Sie kontaktieren.<br><br>Viele Gr&uuml;&szlig;e,<br>Familie Th.</p>";
if ($name == "" || $mail =="" || $nachricht =="")
{

echo "$felderleer";
}
else
{


if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $mail))
{

mail("$webmaster","$betreffwebmaster","$koerperwebmaster\n","FROM: $absender\n");

if ($kopie == "ja")
{
mail("$mail","$betreffabsender","$koerperabsender","FROM: $absender\n");
echo "$abgesandt";
}
else
{
echo "$abgesandt";
}
}
else
{

echo "$mailfalsch";
}
}
?>

BenniG.
18.01.2007, 21:37:57
Dann klick jetzt mal Meikels link an..
Übrigens, wenn du [php]phpcode[/php] machst kann man sich den Code auch halbwegs ansehnlich anschauen.
Wobei mir der Buchstabensalat im oberen Teil so oder so nicht gefällt ;)

feuervogel
18.01.2007, 21:52:34
"register_global" gibts in diesem Script nicht.

lies dir doch erst mal durch, was register_global ist:

http://www.phpbar.de/w/Register_globals