völlig unlogische Ausgabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
artikel
artikelnummer
ausgabe
benennen
button
code
erzielen
fehler
folgendes code
gesamtsumme
helfen
logik
menge
problem
summe
totschlag
umbenennen
unterschiedliche ausgaben
warenkorb
weile
-
Hallo,
ich habe noch immer das Problem, dass zwei Seiten, die einen identischen PHP-Code enthalten (bis auf die Änderung der Artikelnummer), unterschiedliche Ausgaben erzielen. Wie ist so etwas möglich? Ich weiß nicht mehr weiter! Alle Seiten, die vor einer Weile erstellt habe, funktionieren, wenn ich die Seite mit eben der entsprechenden Nummer umändere, geht es nicht mehr. Wo ist da die Logik???
Bitte, bitte, helft mir, ich will es doch online stellen, aber bei einem solchen Fehler ist das unmöglich!
Hier die Scripte:
funktionierende Seite:
<?php $nulldreifuenfzwei=$_POST['0352']; if($nulldreifuenfzwei) { $menge0352=$_POST['menge0352']; if($menge0352=="") { print("Sie haben keine Menge eingegeben."); print("<form action='0352.php?id=".$id."' method='post'>"); print("<p align='right'><b>Menge:</b> <input type='text' name='menge0352' size='3' class='form' /> "); print("<input type='submit' name='0352' value='kaufen' class='form' /></p>"); print("</form>"); } $gesamt=$menge0352*1.49; $_SESSION['artikel0352']=$gesamt; $_SESSION['menge0352']=$menge0352; $_SESSION['0352']= "<tr><td>"; $_SESSION['0352'].= $menge0352; $_SESSION['0352'].= "x </td><td>Olga, die verträumte Schildkröte"; $_SESSION['0352'].= "</td><td align='right'>1.49 €</td><td align='right'>"; $_SESSION['gesamt0352']=" €</td><td>"; $_SESSION['gesamt0352'].="<input type='submit' name='del0352' value='löschen' class='form' />"; $_SESSION['gesamt0352'].="</td></tr>"; $_SESSION['summe']=$_SESSION['summe']+$gesamt; } if($_SESSION['0352']) { print ("<font color='green'><b>Artikel im Warenkorb</b></font>"); } else { print("<form action='0352.php?id=".$id."' method='post'>"); print("<p align='right'><b>Menge:</b> <input type='text' name='menge0352' size='3' class='form' /> "); print("<input type='submit' name='0352' value='kaufen' class='form' /></p>"); print("</form>"); } ?>
nicht funktionierende Seite:
<?php $neunneunsiebenneun=$_POST['9979']; if($neunneunsiebenneun) { $menge9979=$_POST['menge9979']; if($menge9979=="") { print("Sie haben keine Menge eingegeben."); print("<form action='9979.php?id=".$id."' method='post'>"); print("<p align='right'><b>Menge:</b> <input type='text' name='menge9979' size='3' class='form' /> "); print("<input type='submit' name='9979' value='kaufen' class='form' /></p>"); print("</form>"); } $gesamt=$menge9979*11.80; $_SESSION['artikel9979']=$gesamt; $_SESSION['menge9979']=$menge9979; $_SESSION['9979']= "<tr><td>"; $_SESSION['9979'].= $menge9979; $_SESSION['9979'].= "x </td><td>Mord & Totschlag - 20 Krimikurzgeschichten"; $_SESSION['9979'].= "</td><td align='right'>11.80 €</td><td align='right'>"; $_SESSION['gesamt9979']=" €</td><td>"; $_SESSION['gesamt9979'].="<input type='submit' name='del9979' value='löschen' class='form' />"; $_SESSION['gesamt9979'].="</td></tr>"; $_SESSION['summe']=$_SESSION['summe']+$gesamt; } if($_SESSION['9979']) { print ("<font color='green'><b>Artikel im Warenkorb</b></font>"); } else { print("<form action='9979.php?id=".$id."' method='post'>"); print("<p align='right'><b>Menge:</b> <input type='text' name='menge9979' size='3' class='form' /> "); print("<input type='submit' name='9979' value='kaufen' class='form' /></p>"); print("</form>"); } ?>
ausgelesen wird beides folgendermaßen:
echo $_SESSION['0352']; echo $_SESSION['artikel0352']; echo $_SESSION['gesamt0352']; if($del0352) { unset($_SESSION['0352']); unset($_SESSION['gesamt0352']); $_SESSION['summe']=$_SESSION['summe']-$_SESSION['artikel0352']; } echo $_SESSION['9979']; echo $_SESSION['artikel9979']; echo $_SESSION['gesamt9979']; if($del9979) { unset($_SESSION['9979']); unset($_SESSION['gesamt9979']); $_SESSION['summe']=$_SESSION['summe']-$_SESSION['artikel9979']; }
Das Ergebnis sieht dann so aus, dass bei den Artikel 0352 die komplette Zeile angezeigt wird (von Menge bis Löschen-Button) und beim Artikel 9979 lediglich die Gesamtsumme (am Anfang der Tabelle) und der Löschen-Button (versetzt unter der Gesamtsumme) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ein Link zu der Ausgabe wäre hilfreich!
-
cam schrieb:
Öhm, dazu gibt es keinen Link, weil es sich um einen Warenkorb handelt, der noch nicht online ist. Die nötigen Scripte habe ich hier gepostet.
Aber anscheinend kann mir hier wieder keiner helfen :( - wahrscheinlich bin ich nicht die einzige, die das ganze extrem unlogisch findet.
Dann mach doch bitte einen Screenshot, damit man das Phänomen sieht und richtig versteht -
Okay, hab jetzt einen Screenshot gemacht von einem Artikel, der so seltsam angezeigt wird, dass man hinterher nicht einmal mehr weiß, welcher Artikel das sein soll :(
http://cam.lima-city.de/warenkorb.JPG
Alle anderen werden richtig angezeigt:
1x Artikelbezeichnung | Einzelpreis | Gesamtpreis | löschen-Button -
und wie soll es normalerweise aussehen?
da wäre ein Screenshot sehr hilfreich, damit wir auch sehen, an welcher Stelle wir ansetzen müssen...
und richtig geil wäre es noch, wenn wir zu den beiden Seiten den Generierten HTML-Code sehen... keine Angst, wir gucken dir keinen Code weg^^ -
Mach mal folgendes:
<?php error_reporting(E_ALL);
Dann solltest du eine genau Fehlerausgabe bekommen.
Außerdem solltest du das hier
if($nulldreifuenfzwei)
in
if(isset($nulldreifuenfzwei))
ändern -
Ich hatte mal ein Problem mit einem Quelltext, der offline funktioniert, online jedoch total versagt. Nach einigen Versuchen das Problem zu lösen hab ich den Fehler gefunden. Ich hatte eine Variablen $n und gleichzeitig einen Sessioneintrag S_SESSION['n' im Skript angelegt]. Das Skript hat dann aus irgendeinem Grund manchmal den Wert von $n in die Session eingetragen und manchmal sogar den Arrayschlüssel umbenannt (Bsp.: $n="was", $_SESSION['n']="wer", Ausgaben: $n: was, $_SESSION['n']: was, $_SESSION['was']: wer). Ich weiß bis heute nicht genau woran das liegt, aber das umbenennen von $n hat das Problem beseitigt. Jetzt sehe ich bei dir gleiche Problematik: $_SESSION['menge123']=$menge123 usw. Ich weiß, dass es unübersichtlicher wird, aber probier mal die Variable so zu benennen, dass deren Name nicht mit dem Sessionarrayschlüssel übereinstimmt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage