ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
1093
1093
EMPFEHLEN
-
02.03.05 12:07 #1
- Registriert seit
- Jan 2004
- Beiträge
- 29
hallo,
habe folgendes Problem:
Seite 1. test_post_main.php
Seite 2. test_post_info.phpCode :1 2 3 4 5 6 7
<? $sql = "select * from yxz where status != 'geliefert'"; echo "<form action='test_post_info'>"; echo "<input type='submit'>"; echo "<input type='hidden' name='sqlyx' value='$sql'>"; echo "</form>"; ?>
Code :1 2 3
<? echo $sqlyx."<br>"; ?>
Auf der Seite 2 erscheint nicht
select * from xyz where != 'geliefert'
sondern nur
select * from yxz where status !=
Woran liegt das ?
Wenn ch auf der Seite 1 ein echo $sqlxy mache, dann erscheint
select * from xyz where != 'geliefert'
Irgewas geht bei dem Übermitteln verloren, aber wie kann ich das verhindern ?
1000 Dank
blumshuett
-
PHP-FAQ
... dort dürfte die Fragestellung
Ich kann nach Abschicken des Formulars nicht auf meine Variablen zugreifen, was tun? von gesteigertem Interesse für dich sein.
-
02.03.05 14:30 #3
- Registriert seit
- Jan 2004
- Beiträge
- 29
hallo,
REGISTER_GLOBALS ist auf on gestellt.
Das Problem ist ja, das nur einen Teil der Variable abgeschnitten wird...
der 'geliefert' Teil...
Gruss
blumshuett
-
gehts so?
Code :1
echo "<input type=\"hidden\" name=\"sqlyx\" value=\"$sql\">";
-
Da zeigt sich mal wieder wie tolerant die Browser sind:
So sollte es funktionieren:HTML-Code:<input type='hidden' name='sqlyx' value='select * from yxz where status != 'geliefert''> ^ hier wird das value-Attribut geschlossen
PHP-Code:<?
$sql = "select * from yxz where status != 'geliefert'";
echo "<form action='test_post_info'>";
echo "<input type='submit'>";
echo "<input type='hidden' name='sqlyx' value=\"$sql\">";
echo "</form>";
?>Gruß German
-
02.03.05 19:05 #6
- Registriert seit
- Jan 2004
- Beiträge
- 29
Hallo,
wenn ich
oderCode :1
echo "<input type=\"hidden\" name=\"sqlxy\" value=\"$sql\">";
verwende, dann bekomme ich immer als Wert in der Seite 2Code :1
echo "<input type='hidden' name='sqlxy' value=\"$sql\">";
select * from xyz where status != \'geliefert\'
Das läuft dann natürlich in einen Fehler bei der SQL Abfrage.
...
danke
blumshuett
-
02.03.05 19:48 #7
Also, ich kann dir erstmal sagen, woran es liegt...
Code :1 2 3
$sql = "select * from yxz where status != 'geliefert'"; [...] echo "<input type='hidden' name='sqlyx' value='$sql'>";
Durch die 2 verschiedenen Apostrophs (einmal an der "Umklammerung" von $sql und einmal bei 'geliefert' kommt PHP etwas durcheinander...
Hier mal 2 verschiedene Lösungen für dich...
Meine:
Code :1 2 3 4 5 6 7
<?php $sql = "select * from xyz where status != 'geliefert'"; ?> <form action="test2.php" method="post"> <input type="submit"> <input type="hidden" name="sqlyx" value="<?php echo $sql; ?>"> </form>
Oder hier dein Quellcode einfach etwas abgeändert:
Code :1 2 3 4 5 6 7
<? $sql = "select * from yxz where status != 'geliefert'"; echo "<form action='test2.php' method='post'>"; echo "<input type='submit'>"; echo "<input type='hidden' name='sqlyx' value=\"".$sql."\">"; echo "</form>"; ?>
Das sollte die Lösung für dich sein...
Grüße,
Flex
-
03.03.05 08:09 #8
- Registriert seit
- Jan 2004
- Beiträge
- 29
danke ersteinmal an alle...
test_post_main.php
hier wird $sql noch sauber ausgegebenCode :1 2 3 4 5 6 7 8 9
<? $sql = "select * from orderings where status != 'geliefert'"; echo $sql."<br>"; ?> <form action="test_post_info.php" method="post"> <input type="submit" value="<? echo $sql; ?>"> <input type="hidden" name="sqlxy" value="<? echo $sql; ?>"> </form>
test_post_info.php
hier wird $sqlxy so ausgegeben:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<? include("../functions.php"); echo $sqlxy."<br>"; echo "----------------------------<br>"; connect(); $res = sqlquery("sbapproval", $sqlxy); $num = mysql_num_rows($res); echo $num."<br>"; for ($i=0; $i<$num; $i++) { echo $i." ".mysql_result($res, $i, "number")."<br>"; } ?>
select * from orderings where status != \'geliefert\'
wo kommen die \ her ?
gruss
blumshuett
-
Mal abgesehen davon, dass man kein Query mit einem Formular übergeben sollte, hilft Dir stripslashes() bei Deinem letzten Problem. Wo Deine Slashes herkommen, findest Du im Handbuch unter Variablen außerhalb von PHP.
Stell Dir mal vor, jemand speichert die Seite, ändert den Code wie folgt und sendet das Formular an Deinen Server.
Gruß hpvwHTML-Code:<form action="test_post_info.php" method="post"> <input type="submit" value="DELETE * FROM orderings"> <input type="hidden" name="sqlxy" value="DELETE * FROM orderings"> </form>
-
03.03.05 09:27 #10
- Registriert seit
- Jan 2004
- Beiträge
- 29
@all,
habe es nun über eine function gelößt...
danke
blumshuett
Ähnliche Themen
-
Mootools Form geht nicht
Von sufijen im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 22.03.10, 11:01 -
include Datei in Variable speichern, geht das?
Von son gohan im Forum PHPAntworten: 4Letzter Beitrag: 15.12.06, 22:43 -
oracle; plsql; select in variable speichern
Von binfgi im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 29.08.06, 18:58 -
Eine Variable in die SELECT * FROM -Anweisung einfügen, wie geht das?Danke für Hilfe?
Von JohannaB im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 26.07.05, 13:26 -
Select Form OHNE mysql wert, geht das?
Von Subwoover im Forum PHPAntworten: 1Letzter Beitrag: 29.03.02, 19:04





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren