Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Wer kann mir sagen, wo der Fehler ist???





Frage

Hallo, ich bin gerade dabei mich etwas in PHP einzuarbeiten. Zu testzwecken habe ich mir extra einen WAMP server aufgesetzt. Der Funktioniert auch schon einwandfrei. Jetzt habe ich ein Formular in html geschrieben, das die Daten in ein php-File senden soll. Leider passiert gar nichts. Die PHP Seite wird zwar geladen, aber die Variable wird nicht ausgegeben. Woran koennte das liegen. Der Quellcode meines Formulars sieht so aus: <html> <head> <title>Formular</title> </head> <body> <form action="form2.php" method="post"> <input type="text" size="17" name="Inhalt"> <br><br> <input type="submit" value="OK"> </form> </body> </html> Der Quellcode meines form2.php Files sieht so aus: <html> <head> <title>form2.php</title> <head> <body> <br><br> <? echo $Inhalt; ?> </body> </html> Wo liegt den hier der verdammte Fehler?

Antwort 1 von Pebbles14

Ich habe gerade im Internet einen anderen Script gefunden bei dem im PHP File noch diese while-Schleife vorhanden war. Allerdings blicke ich noch nicht ganz durch, was dort gemacht wird. Diese Zeile habe ich auch in keinem anderen Beispiel gefunden. Kann mir mal wer sagen, was diese Zeilen dort machen?

while(list($name,$value)=each($HTTP_POST_VARS)) {
$message.="$name: $value\n\n";
}

Antwort 2 von engine

Na im Script ganz bestimmt nicht!

schau doch erstmal was er hiermit anfängt :
<?
phpinfo();
?>


Grüße
Frank

Antwort 3 von engine

Hallo Pebbles

'each' wird typischerweise zusammen mit 'list' verwendet, um ein Array zu durchlaufen, hier zum Beispiel das $HTTP_POST_VARS-System-Array !
Füge echo "$message"; ein.

Siehe auch "key, current, reset, next und prev.

Ach ja ne Frage "was interresiert Dich das ?"

Grüße
Frank

Antwort 4 von Pebbles14

Der PHP-Info-Befehl listet natürlich die Informationen von meinem PHP.

@engine
ich weiß nur, das der Script damit funktioniert, da er alle Variablen einliest. Soviel habe ich in der zwischenzeit schon herausgefunden. Mich interessiert das, weil ich schließlich wissen will, was ich da eigentlich programmiere.

Antwort 5 von Renegade

Hast du PHP - Version 4.2?, dann probier es einmal mit $_POST['Inhalt'] oder bearbeite dein php.ini - File, setze dort register_globals = on (was natürlich nicht im Sinne der Zend-Engine bzw. Sicherheit ist)

cu *wink*

Antwort 6 von Pebbles14

Ich habe die neuerste PHP-Version installiert, die es momentan gibt. Das mit der while-Schleife geht doch nicht, da ich später mehrere Variablen übergeben will und die dann alle auf eine Variable geschrieben werden.
@Renegade ich werde deine Tipps gleich mal ausprobieren.
Aber wodran koennte es sonst noch liegen?

Antwort 7 von MixMax

wird im Quelltext einfach
<?
echo $Inhalt;
?>

ausgegeben kann es daran liegen das die einstellung in der PHP.ini eingestellt ist das er die kurze form nicht akzeptiert, schreibe am besten immer
<?php
echo $Inhalt;
?>



Antwort 8 von Pebbles14

Auch daran liegt es nicht. Habe es gerade ausprobiert. Könnte ich vielleicht noch irgend was verkehrt eingestellt haben?

Antwort 9 von MixMax

nein, denn das script funktioniert ;-)
test

Antwort 10 von semi

Versuche den Namen des Feldes im Formula klein zu schreiben.

html

<html>
<head>
<title>Formular</title>
</head>
<body>
<form action="form2.php" method="post">
  <input type="text" size="17" name="inhalt">
<br><br>
<input type="submit" value="OK">
</form>
</body>
</html>

php

<html>
<head>
<title>form2.php</title>
<head>
<body>
<br><br>
<?php
echo $_POST['inhalt'];
?>
</body>
</html>

Wenn in php.ini der folgende Eintrag
short_open_tag=Off steht, dann ändere ihn in short_open_tag=On oder verwende immer <?php am Anfang eines PHP-Abschnitts.
Sonst in httpd.conf prüfen, ob dort etwas dieser Art steht:

LoadModule php4_module modules/php4apache.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .phtml

Wenn trotzdem nichts geht, dann ist Dein PHP putt.

Es gibt bei AnalogX ein gutes Konfigurationsprogramm für PHP.
Guckst Du hier: http://www.analogx.com/contents/download/network/phpconf.htm

Gruss,
Michael

Antwort 11 von MixMax

wenn es nicht daran liegen sollte, was wirft er den nun raus ?
den php-tag oder gar nix ?

wenn er <?php... auswirft dann sollte es was mit der endung und dieser von semi genannten einstellung zu tun haben (sorry, mit Linux kenn ich mich nicht so aus, wegen Textdateien bearbeiten, dachte aus dem alter wären die PC's raus)

Antwort 12 von Pebbles14

also, bei mir wirft er gar nichts aus. Ich nehme mal an, das ich irgend etwas verkehrt in meinem Apache bzw. in meinem PHP konfiguriert habe. Leider weis ich nicht was. Erstmal danke fuer euren Zahlreichen Tipps, ich werde sie gleich mal ausprobieren. Danke auch an MixMax, der den Script getestet hat. So kann ich wenigstens den Script zur Fehlersuche einsetzen. Sollte ich eine Lösung gefunden haben, benachrichtige ich euch.

Antwort 13 von Pebbles14

@Renegade Sorry, dein Tipp hat leider nichts gebracht.

@semi Ich habe gerade deinen Script ausprobiert. Er funktioniert leider auch nicht. Auch habe ich noch die httpd.conf ausgebessert, d.h. ich musste noch die LoadModule-Zeile nachtragen. Auch damit funktioniert es leider nicht.

Ich bin echt ratlos. Hat vielleicht der Apache 1.23 probleme mit PHP 4.2. Ich glaube das ich mal den Apache 2.0 installieren werde. Vielleicht geht es ja damit.

Antwort 14 von thomasn1975

Guck mal nach, ob in der php.ini der Parameter

register_globals=On

gesetzt ist.

Antwort 15 von Pebbles14

@thomasn1975
das habe ich bereits ausprobiert. Das ist der selbe Tipp wie mir Renegade bereits gegeben hat. Trotzem Danke!

Antwort 16 von Pebbles14

Sorry semi,

dein Tipp hat doch geholfen, nach einem Neustart des Wamp-Servers geht es jetzt. Vielen Dank an alle für die schnellen und Hilfreichen Tipps.

MfG
Pebbles

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: