Probleme nach einem UPDATE in eine MySQL Datenbank
jo
- datenbank
0 Benjamin Buxbaum0 Markus0 dedlfix
0 jo
hallo
nachdem ich mein formular per POST versende wird folgendes script ausgeführt:
$q="
INSERT INTO newsletter_temp (subject_de,subject_fr,subject_en,subject_nl)
VALUES
('$_POST[subject_de]','$_POST[subject_fr]','$_POST[subject_en]','$_POST[subject_nl]')
";
mysql_query($q);
header('Location:../nl_temp_edit.php');
der eintrag in die MySQL Datenbank funktioniert ohne probleme, aber nachdem ich per header auf die seite 'nl_temp_edit.php' weiterleite wird der eintrag nicht angezeigt. auf dieser seite sollen alle einträge angezeigt werden.
weiß jemand woran das liegen kann ?
hat das was mit den server einstellungen oder meinem system zu tun ?
ich hätte gern das nach der weiterleitung auf die seite 'nl_temp_edit.php' der eintrag auch direkt sichtbar ist.
ich arbeite mit der firefox erweiterung 'web developer 1.0.2' und deaktiviertem cache
mein system:
Mac OS X 10.4.7
---------------
Version 8.51
Build 2182
---------------
firefox 1.5.0.7
gruß
jo
Hi!
$q="
INSERT INTO newsletter_temp (subject_de,subject_fr,subject_en,subject_nl)
VALUES
('$_POST[subject_de]','$_POST[subject_fr]','$_POST[subject_en]','$_POST[subject_nl]')
";
mysql_query($q);header('Location:../nl_temp_edit.php');
So viel Ahnung von Mysql habe ich nicht, aber versuch es mal mit:
mysql_query('commit');
nach dem Update.
mfG
Moin!
So viel Ahnung von Mysql habe ich nicht, aber versuch es mal mit:
mysql_query('commit');
> nach dem Update.
Stimmt, Ahnung hast du wirklich nicht von MySQL. Sonst würdest du wissen, dass Transaktionen hier absolut nicht gefragt wären - die müßte man nämlich sonst auch irgendwo starten.
- Sven Rautenberg
--
"Love your nation - respect the others."
Hi!
Stimmt, Ahnung hast du wirklich nicht von MySQL.
...sag ich ja ;-) Aber irgendwann werde ich mir das auch noch vornehmen.
mfG
Hi!
Ich würde die Post-Variablen nicht ungeprüft in die DB schreiben (Security!)
Header ("Location....--> bitte kompletten Pfad angeben, keinen Relativen.
Ciao, Markus
Hi!
Ich würde die Post-Variablen nicht ungeprüft in die DB schreiben (Security!)
Header ("Location....--> bitte kompletten Pfad angeben, keinen Relativen.
Ciao, Markus
Dieses Formular ist einem mit htaccess geschützen bereich wo username und passwort benötigt ist.
ich habe jetzt mal einen absoluten pfad angegeben(wieso eigentleich ?)
mein problem isr leider noch nicht gelöst.
gruß
echo $begrüßung;
- Header ("Location....--> bitte kompletten Pfad angeben, keinen Relativen.
ich habe jetzt mal einen absoluten pfad angegeben(wieso eigentleich ?)
Eine komplette URL, nicht nur ein kompletter Pfad, ist laut der für HTTP zuständigen RFC für den Location-Header vorgeschrieben. Dass es auch mit relativen Angaben funktioniert, ist allein dem guten Willen und der Fehlertoleranz der Browser zu verdanken.
echo "$verabschiedung $name";
hallo,
Eine komplette URL, nicht nur ein kompletter Pfad, ist laut der für HTTP zuständigen RFC für den Location-Header vorgeschrieben. Dass es auch mit relativen Angaben funktioniert, ist allein dem guten Willen und der Fehlertoleranz der Browser zu verdanken.
danke, das mit der ganzen URL werde ich in zukunft immer berücksichtigen.
aber mein problem besteht immer noch.
ich hatte es gestern abend bei mir zuhause getestet und es funktionierte.
arbeite zu hause mit Mac OS X 10.3 und firefox 1.5.0.7
also unter gleichen bedingungen.
der einzige unterschied ist das ich hier auf der arbeit über ein windoof netzwerk ins internet gehe.
kann es sein das da irgendwas falsch eingestellt, irgendwas mit cache ?
gruß und danke
echo $begrüßung;
aber mein problem besteht immer noch.
Hast du das Setzen eines Expire-Headers mit einer Zeitangabe in der Vergangenheit probiert?
echo "$verabschiedung $name";
echo $begrüßung;
$q="
INSERT INTO newsletter_temp (subject_de,subject_fr,subject_en,subject_nl)
VALUES
('$_POST[subject_de]','$_POST[subject_fr]','$_POST[subject_en]','$_POST[subject_nl]')
";
Das ungeprüfte/unbearbeitete Übernehmen der Werte in eine SQL-Query ist nicht nur aus sicherheitstechnischen Gründen nicht gutzuheißen. Bei einem INSERT kann nicht allzu viel passieren, aber zumindest einen Syntax-Fehler könntest du bekommen, wenn einer der Werte ein ' enthält.
- in opera wird dieser erst nach einem reload der seite angezeigt.
- in firefox nützt ein reload nichts, erst nachdem ich den reload in opera gemacht habe, funktioneirt der reload auch in firefox !!!????
weiß jemand woran das liegen kann ?
Vermutlich Cache-Probleme. Versuche dem Browser das Cachen mittels passender Expire-Header (siehe header())abzugewöhnen. (Es gibt auch noch speziell welche für Caching, aber Expire reicht im Allgemeinen).
echo "$verabschiedung $name";
hallo,
Vermutlich Cache-Probleme. Versuche dem Browser das Cachen mittels passender Expire-Header (siehe header())abzugewöhnen. (Es gibt auch noch speziell welche für Caching, aber Expire reicht im Allgemeinen).
echo "$verabschiedung $name";
danke, daran hats gelegen
ich habe jetzt ganz oben in der seite "nl_temp_edit.php" den header gesetzt:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
es geht auch ohne den header für cache:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
1000 dank :-)