Weiterleitung / POST & GET

uwee

Erfahrenes Mitglied
Hallo!

ich habe in meiner Db eine PHP-Seite gemacht, mit der ich Änderungen in den Ds machen kann. Wenn die Änderungen übernommen worden sind, wird ein text angezeigt.
2 Sekunden später erfolgt eine automatische Weiterleitung auf eine weitere Seite. Dort soll jetzt der geänderte Datensatz ausgegeben werden.
Das Problem ist die Suche des Ds. Es muss der geänderte sein. Primärschlüssel ist hier die ID.
Ich muss also die ID von der einen Seite auf die andere schaffen.

Ich habe schon ein bisschen recharchiert, und mit POST und GET rumprobiert, aber irgendwie will nichts funktionieren.
es wäre nett, wenn mir jemand sagen könnte, wie ich das schreiben muss und wo ich das hinzuschreiben habe, hab schon ein paar stellen probiert, aber wenn ich nicht weiss, ob die syntax stimmt, kann ich lange probieren.

UweE

Zusatz: habe mich z.T. daran Orientiert: http://www.tutorials.de/forum/showthread.php?t=20324
 
Ich weiß nicht ob ich dich richtig verstehe, falls ja, versuch es mal so:
Erstelle in deinem Änderungsformular ein neues Feld:
HTML:
<input type="hidden" name="id" value="hier die ID einlesen">
Dann übergibst du das Formular per Get oder Post, eigentlich egal,
ich bevorzuge Post, ist unauffälliger ;)

Und bei der Weiterleitung lönntest du dann beim Meta-Refresh auf die z.B. view.php?id=$_POST['id'] verweisen.
Dann würde er auf die view.php springen und den geänderten Datensatz aus der DB auslesen.

Hoffe das war alles so richtig erklärt :)

PHP:
# Beispiel in der edit.php:
$id = $data['id'];

echo "<input type=\"hidden\" name=\"id\" value=\"".$id."\">";
# per get oder post übergeben

# und dann in der view.php abrufen mit:
echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=view.php?id=".$_POST['id']."\"> ";

# und in der view.php z.B. sowas:
if($_GET['id']){
  $sql = "SELECT foo FROM bar WHERE id='".$_GET['id']."'";
  $query = mysql_query($sql,$con);

  $data = mysql_fetch_array($query);

  echo $data['foo'];
}
 
Oben zwischen <head> und </head> folgendes rein:

<meta http-equiv="refresh" content="2;URL=neueSeite.php?id=<? echo $id ?>">
 
hab beides ausprobiert...
oben in der adresszeile steht zwar die ID(in meinem fall 251) aber der mysql_error gibt einen fehkler aus:
query was empty...

echo $sql und echo $id
haben kein ergebnis rausgebracht
 
Existiert ueberhaupt ein Datensatz?
Wie lautet der genaue SQL-Error?
PHP:
$sql = "SELECT * FROM tbl_deineTabelle WHERE id = {$id}";

Cheers!
 
ich habe über 500 datensätze...
die richtige id wird ja auch übergeben
aenderung.php?id=251

das is nicht das problem.

der sql_error lautet:
Query was empty

und wenn ich echo $sql //das is die SELECT-Abfrage
oder echo $id mache
kommen keine ergebnisse bei raus!
 
Ben Ben hat gesagt.:
Wozu eigentlich die { } um die Variable? In " werden Variablen sowieso geparsed...

Moeglich, dass sie geparst werden. Dennoch sagt das PHP Manual etwas anderes:
php.net hat gesagt.:
Komplexe (geschweifte) Syntax

Diese wird nicht komplex genannt, weil etwa die Syntax komplex ist, sondern weil Sie auf diesem Weg komplexe Ausdrücke einbeziehen können.
Tatsächlich können Sie jeden beliebigen Wert einbeziehen, der im Namensbereich in Strings gültig ist. Schreiben Sie den Ausdruck einfach auf die gleiche Art und Weise, wie außerhalb des Strings, und umschließen diesen mit { und }. Da Sie '{' nicht escapen können, wird diese Syntax nur erkannt, wenn auf { unmittelbar $ folgt. (Benutzen Sie "{\$" oder "\{$" um ein wörtliches "{$" zu erhalten.)
http://de.php.net/manual/de/language.types.string.php

Cheers!
 
Zurück