PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arbeiten mit Formularen


josephus
29.07.2011, 19:47:28
Hallo,

ich habe ein Übungsprogramm aus einem PHP-Einführungsbuch (Thomas Theis) übernommen. Es funktioniert leider teilweise nicht.

Programm Eingabeformular ub11

<html>
<body>
Bitte tragen Sie zwei Zahlen ein und senden Sie das
Formular ab.<p>
<form action = "ub11a.php" method = "post"> // oder "ub11b.php"
Wert 1: <input name = "w1"><p>
Wert 2: <input name = "w2"><p>
<input type = "submit">
<input type = "reset">
</form>
</body>
</html>


Programm Ausgabeformular ub11a

<html>
<body>
<?php
$erg = $w1 + $w2;
echo "Die Summe von $w1 und $w2 ist $erg";
?>
</body>
</html>


Programm Ausgabeformular ub11b

<html>
<body>
<?php
$erg = $_POST["w1"] + $_POST["w2"];
echo "Die Summe von " . $_POST["w1"] . " und " .
$_POST["w2"] . " ist $erg";
?>
</body>
</html>


ub11b funktioniert. ub11a liefert folgende Fehlermeldung:

Notice: Undefined variable: w2 in C:\xampp\htdocs\ub11a.php on line 4

Notice: Undefined variable: w1 in C:\xampp\htdocs\ub11a.php on line 4

Notice: Undefined variable: w1 in C:\xampp\htdocs\ub11a.php on line 5

Notice: Undefined variable: w2 in C:\xampp\htdocs\ub11a.php on line 5
Die Summe von und ist 0

Warum??

vt1816
29.07.2011, 20:35:11
register_globals=off (http://de.wikipedia.org/wiki/PHP)

josephus
29.07.2011, 21:48:03
Hallo,

mal abgesehen davon, dass ich nicht glaube, das dieser Hinweis einem Anfänger was bringt, führt der Link über die Fußnote 13 zu folgendem Hinweis:

http://de3.php.net/manual/de/security.globals.php
Verwendung von Register Globals
Warnung

Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf dieses Feature zu verlassen ist in keiner Weise empfehlenswert.

knight1
29.07.2011, 23:21:15
Hallo,

mal abgesehen davon, dass ich nicht glaube, das dieser Hinweis einem Anfänger was bringt, führt der Link über die Fußnote 13 zu folgendem Hinweis:
...

Ja eben.
Das ist genau das Thema das Du dir wegen deinem Problem genauer zu gemüte führen solltest.


Kai aka Knight1

mn_
02.08.2011, 01:08:50
du solltest dir vlt auch noch einmal den html code anschauen. der ist auch nicht gerade das gelbe vom ei

xmanuu
02.08.2011, 08:27:53
du benutzt nach fast jeder Zeile <p>...

mit dem p-tag macht definiert man einen Absatz. Das Tag wird aber <p>.....</p> angewendet. :)

dempsey
03.08.2011, 16:46:19
Da gebe ich xmanuu Recht,

wenn du etwas Frontendmäßiges machen möchtest, dann würde ich erstmal klein Anfangen mit HTML. Das sind eigentlich böse noGoes und an deiner Stelle würde ich das ganze erstmal validieren

josephus
23.08.2011, 17:53:37
ich hab mich mit dem Thema nochmal beschäftigt. Nur um zu klären, ob ich das richtig verstanden haben.

Die zitiert Fehlermeldung würde vermieden, wenn in register_globals der standardmäßige Variablen-Wert nicht auf "Off" sondern auf "On" gestellt wäre. Aus Sicherheitsgründen ist das Programm deswegen so zu schreiben, dass globale Variablen, die eine "On"-Stellung in der php.ini erfordern, nicht benötigt werden.

Wenn das so stimmt, frag ich mich, wieso das von mir verwendete Lehrbuch (Thomas Theiß, Einstieg in PHP 5 / 2002) permanent Übungsprogramme bringt, die eine "On"-Stellung erfordern.

An der "Off"-Stellung kann und soll ich doch nichts ändern?

Josephus

vt1816
23.08.2011, 17:56:53
[..]
Wenn das so stimmt, frag ich mich, wieso das von mir verwendete Lehrbuch (Thomas Theiß, Einstieg in PHP 5 / 2002) permanent Übungsprogramme bringt, die eine "On"-Stellung erfordern.


Benutze ein Lehr-/Handbuch jüngeren Datums.

Oder fährst Du heute noch mit einer Pferdekutsche zum Wochenendeinkauf und schreibst auf eine Schiefertafel?