PHP Variablen werden nicht übermittelt warum?

Hi Leude,

hoffe Ihr könnt mir helfen, hab hier ne lustige Seite gebastelt die aber leider mucken macht, finde aber keinen Fehler hab die Seite schon mehrfach kontrolliert aber finde nichts.

Undzwar werden die Variablen $zimmer, $newsletter, $erwachsene, $jugendliche, $kinder & $essen nicht übertragen.

Wäre euch sehr dankbar wenn ihr mal drüber guckt. Ist ja meist nur ne kleinigkeit, die einem so ein ärger macht.

Gruß Fala

<?php $anrede=$_POST[anrede];
$titel=$\_POST[titel]; $nachname=$\_POST[nachname]; $vorname=$\_POST[vorname]; $strasse=$\_POST[strasse]; $plz=$\_POST[plz]; $ort=$\_POST[ort]; $staatsan=$\_POST[staatsan]; $ausweisnummer=$\_POST[ausweisnummer]; $telefon=$\_POST[telefon]; $mobil=$\_POST[mobil]; $fax=$\_POST[fax]; $email=$\_POST[email]; $gebtag=$\_POST[gebtag]; $gebmonat=$\_POST[gebmonat]; $gebjahr=$\_POST[gebjahr]; $ansprechpartnergeschlecht=$\_POST[ansprechpartnergeschlecht]; $ansprechpartner=$\_POST[ansprechpartner]; $ankunftstag=$\_POST[ankunftstag]; $ankunftsmonat=$\_POST[ankunftsmonat]; $ankunftsjahr=$\_POST[ankunftsjahr]; $uebernachtungen=$\_POST[uebernachtungen]; $erwachsene=$\_POST[erwachsene]; $jugendliche=$\_POST[jugendliche]; $kinder=$\_POST[kinder]; $essen=$\_POST[essen]; $zimmer=$\_POST[zimmer]; $newsletter=$\_POST[newsletter]; echo "Erwachsene: ".$erwachsene." "; echo "Jugendliche: ".$jugendliche." "; echo "Kinder: ".$kinder." "; echo "Essen: ".$essen." "; echo "Newsletter: ".$newsletter." "; echo "Zimmer: ".$zimmer." "; $bearbeiter=$login; $ankunftsjahrzaehl=0; $heute=date("Y"); if (!$ankunftstag OR !$uebernachtungen) {$link="kunden2.php"; $text="prüfen";} else {$link="kunden3.php"; $text="senden";} echo " Ankunftsdatum: "; if (!$ankunftstag) {echo " 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031";} else {echo " ";} if (!$ankunftsmonat) {echo "JanuarFebruarMärzAprilMaiJuniJuliAugustSeptemberOktoberNovemberDezember";} else {echo " ";} if (!$ankunftsjahr) {echo ""; while ($ankunftsjahrzaehl".$heute.""; $heute++; $ankunftsjahrzaehl++;} echo "";} else {echo "";} echo " Übernachtungen: "; if (!$uebernachtungen) {echo " 1 2 3 4 5 6 7 8 91011121314";} else {echo " ";} echo "Anzahl Personen: "; if (!$erwachsene) {echo "123456789 Erwachsene 0123456789 Kinder 4 - 13 Jahre 0123456789 Kinder bis 4 Jahre";} else {echo " Erwachsene";} if ($jugendliche==0) {} else {echo " Jugendliche";} if ($kinder==0) {} else {echo " Kinder";} echo "Zimmerwahl: "; if (!$zimmer) {echo " Einzelbettzimmer (insg. 1 verfügbar) Doppelbettzimmer (insg. 5 verfügbar) Dreibettzimmer (insg. 2 verfügbar) Vierbettzimmer (insg. 1 verfügbar)";} else {if ($zimmer==1) {echo "Einzelbettzimmer";} else { if ($zimmer==2) {echo "Doppelbettzimmer";} else { if ($zimmer==3) {echo "Freibettzimmer";} else { if ($zimmer==4) {echo "Vierbettzimmer";} } } } } echo " Frühstück: "; if (!$essen) {echo " mit Frühstück";} else {echo "Mit Frühstück";} echo " Newsletter "; if (!$newsletter) {echo " Hotelangebote erhalten";} else {echo "Angebote erhalten";} echo " "; ?\>

Hi

Der Quellcode den du gepostet hast ist von welcher Seite, kunden2.php oder kunden3.php?

Ein Form Tag in einer Table sollte es nicht geben. Assoziative Arrays werden $_POST[‚erwachsene‘] angesprochen und nicht $_POST[erwachsene].

Das ist erstmal was mir aufgefallen ist. Eine Formatierung des Quellcodes mit pre wäre noch wünschenswert oder aber eine Seite im Netz wo du den Quellcode richtig formatiert hast z.b. mit kunden2.phps damit man sich das mal im Original angucken kann.

Gruß Lamer

Hi

Der Quellcode den du gepostet hast ist von welcher Seite,
kunden2.php oder kunden3.php?

Ein Form Tag in einer Table sollte es nicht geben. Assoziative
Arrays werden $_POST[‚erwachsene‘] angesprochen und nicht
$_POST[erwachsene].

PHP 4 macht das ohne probleme
PHP 5 fordert Anführungszeichen.

siehe zur erklärung
http://www.dynamic-webpages.de/php/language.types.ar…

leider ging es mal :-

Das ist erstmal was mir aufgefallen ist. Eine Formatierung des
Quellcodes mit pre wäre noch wünschenswert oder aber eine
Seite im Netz wo du den Quellcode richtig formatiert hast z.b.
mit kunden2.phps damit man sich das mal im Original angucken
kann.

Gruß Lamer

Hi
Nur weil man es machen kann, heißt es nicht das man es machen sollte.

Wenn man keine Anführungszeichen benutzt kann auch in PHP 4 ganz schnell mal eine Konstante genauso heißen wie die Assoziation und schon hat man ein Problem was man sucht.

Gruß Lamer

öhm wie bist du denn drauf ??

du hast geschrieben

Assoziative Arrays werden $_POST[‚erwachsene‘] angesprochen und nicht $_POST[erwachsene].

nein werden sie nicht, sie müssen ab PHP5 so geschrieben werden, ansonsten kann man es machen weils besser ist.

Und nchts anderes ist hier gemeint.

Oder willst du irgentwie persöhnlich dich angesprochen fühlen, dann zeugt das von wenig didaktischer ahnung.

Hi
Genau das war meine Aussage. Ich hab nichts persönliches gesagt. Ich hab nur eine Erklärung gegeben warum man es, auch in PHP4 und PHP3, nicht machen sollte.

Wo hab ich da denn was persönliches gesagt?

Gruß Lamer

öhm wie bist du denn drauf ??

du hast geschrieben

Assoziative Arrays werden $_POST[‚erwachsene‘] angesprochen
und nicht $_POST[erwachsene].

und zu bedenken
Anmerkung: Das bedeutet nicht, dass Schlüssel immer in Anführungszeichen gesetzt werden müssen. Wenn Sie nämlich Schlüssel, die Konstanten sind, in Anführungszeichen setzen, werden diese von PHP nicht ausgewertet

fals es mal gebraucht wird.

muss man dann sogar
$_POST[erwachsene] schreiben, allerdings sollte man sie auch vorher defenieren.

und tschüss

Hi

Wo hab ich da denn was persönliches gesagt?

Ohm weil du mir aufeinmal unterstellst das

nur weil man es machen kann, heißt es nicht das man es machen sollte.

ich hab weder gesagt das man es machen soll oder nicht, lediglich gibt es fälle wo es so sein muss und eben kein syntax error ist, du aber behauptetest am anfang es wird so und so gemacht und nicht anders.

Und das ist nun mal falsch, solange eine konstante defeniert ist, ist es auch in PHP 5 kein problem.

es werden also mit
define(„inputname“, „thename“);
$_POST[inputname] ;

genauso gefunden und gelesen und es wird dann auch so gemacht.

Besser ist hier nicht
$_POST[‚inputname‘] ;

das führt zum falschen ergebnis.

Gruß Lamer

jo dir auch, aber wenn schon schreibs wie es ist und nicht als NEIN NEIN NEIN , den es ist JAIN JAIN JAIN.

, ich korrigierte deine aussage, weil so ist der grund erstmal nicht erklärt und zweitens auch nicht allgemein gültig.