Tachchen zusammen,
ich muß nochmal auf mein Problem von hier zurückkommen: https://www.computerbase.de/forum/threads/php-sql-abfrage-where-x-x-funktioniert-nicht.123349/
Ich lese aus einer mySQL Datenbank Werte aus und gebe die in einem Formular aus. Hier kann dann ein Wert gewählt werden, der dann per GET an eine weitere Seite geschickt wird.
Mit folgendem Code würde ich gerne die Daten übersichtlicher Darstellen:
Soweit so gut - für mich als PHP-Anfänger zumindest.
Die Werte werden wie gewünscht ausgelesen und formatiert angezeigt. Wichtig ist vor allem die Variable $row['artikelnummer']. Die wird an die nächste Seite übergeben.
Wenn ich mir diese Variable wie es oben im Quelltext steht mit var_dump ausgeben lassen, ist das Ergebnis ein String mit 11 Zeichen, nämlich z.B. "100.100.100".
Wenn ich nun einen Artikel auswähle und per Formular das Ergebnis weiterschicke, kommt auf der nächsten Seite ein String mit 15 Zeichen an
Das sieht dann so aus: string(15) "100.120.017 - also vorne ein Anführungszeichen dranklabustert und hinten hängt wohl was unsichtbares dran. Im Browser steht folgendes: "...xampp/blabla/bla.php?artikelnummer=100.120.017%3C%2Ftd"
Wo kommt "%3C%2Ftd" her, wie krieg ichs weg und was mach ich falsch ?
/Edit:
achso, ganz vergessen, wenn ich die HTML-Tabelle rauswerfe und die Daten unsortiert anzeige, funktioniert alles wie es soll. Dann wird die Variable so übergeben wie sie ausgelesen wurde.
ich muß nochmal auf mein Problem von hier zurückkommen: https://www.computerbase.de/forum/threads/php-sql-abfrage-where-x-x-funktioniert-nicht.123349/
Ich lese aus einer mySQL Datenbank Werte aus und gebe die in einem Formular aus. Hier kann dann ein Wert gewählt werden, der dann per GET an eine weitere Seite geschickt wird.
Mit folgendem Code würde ich gerne die Daten übersichtlicher Darstellen:
PHP:
echo "<table border=1 cellspacing=10 cellpadding=10><tr><td></td><td>Artikelnummer</td><td>Bezeichnung</td><td>Info1</td><td>Info2</td><td>Preis</td></tr>";
while($row = mysql_fetch_assoc($result)) {
echo "<tr><td><input type=\"radio\" name=\"artikelnummer\" value=",$row['artikelnummer'],"</td>";
echo "<td>",$row['artikelnummer'],"</td>";
echo "<td>",$row['bezeichnung'],"</td>";
echo "<td>",$row['info1'],"</td>";
echo "<td>",$row['info2'],"</td>";
echo "<td>",$row['preis'],"</td></tr>";
var_dump($row['artikelnummer']);
}
echo "<br><br>";
echo "<input type=\"submit\" value=\"Weiter\">";
echo "</table>";
echo "</form>";
Soweit so gut - für mich als PHP-Anfänger zumindest.
Die Werte werden wie gewünscht ausgelesen und formatiert angezeigt. Wichtig ist vor allem die Variable $row['artikelnummer']. Die wird an die nächste Seite übergeben.
Wenn ich mir diese Variable wie es oben im Quelltext steht mit var_dump ausgeben lassen, ist das Ergebnis ein String mit 11 Zeichen, nämlich z.B. "100.100.100".
Wenn ich nun einen Artikel auswähle und per Formular das Ergebnis weiterschicke, kommt auf der nächsten Seite ein String mit 15 Zeichen an

Das sieht dann so aus: string(15) "100.120.017 - also vorne ein Anführungszeichen dranklabustert und hinten hängt wohl was unsichtbares dran. Im Browser steht folgendes: "...xampp/blabla/bla.php?artikelnummer=100.120.017%3C%2Ftd"
Wo kommt "%3C%2Ftd" her, wie krieg ichs weg und was mach ich falsch ?
/Edit:
achso, ganz vergessen, wenn ich die HTML-Tabelle rauswerfe und die Daten unsortiert anzeige, funktioniert alles wie es soll. Dann wird die Variable so übergeben wie sie ausgelesen wurde.
Zuletzt bearbeitet: