PHP / CGI Problem

Das Forum fĂĽr Programmierer und Systemadmins. Von Shell-, Perl- und PHP-Scripts bis zur objektorientierten Programmierung mit C++.

PHP / CGI Problem

Beitragvon hmmmm » Sa 08 Apr, 2006 20:05

Hallo!

Ich habe folgendes Problem: Ich rufe im Admin-Bereich einer Homepage die Daten aus einer mySQL-Datenbank in ein Textfeld (Formular) ab, in dem der Benutzer die Daten ändern kann und sie dann mit einem Klick auf "Ändern" in der Datenbank speichert! Ich hätte nun gerne eine andere Seite angezeigt, nachdem der Benutzer auf "Ändern" geklickt hat. Was brauche ich dazu? Ein CGI-Script?

Mfg hmmmm
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52

Beitragvon axial » Sa 08 Apr, 2006 20:08

zwischen Frage: Was meinst du damit?

Ich hätte nun gerne eine andere Seite angezeigt, nachdem der Benutzer auf "Ändern" geklickt hat


Was soll denn angezeigt werden?
axial
Board-Mitglied
Board-Mitglied
 
Beiträge: 207
Registriert: Mi 27 Jul, 2005 21:18
Wohnort: Innsbruck

Beitragvon hmmmm » Sa 08 Apr, 2006 20:18

Einfach eine Seite, auf der steht "Daten werden gespeichert" und die dann zum Formular zurĂĽckkehrt.

Grund? Wenn man auf "Ă„ndern" klickt werdem im Textfeld die alten Daten geladen, weil die PHP-Anfrage schneller ist als der mySQL-Server die Daten gescpichert hat.

Lg hmmmm
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52

Beitragvon superracer » Sa 08 Apr, 2006 20:39

hmmmm hat geschrieben:weil die PHP-Anfrage schneller ist als der mySQL-Server die Daten gescpichert hat.

das dĂĽrfte aber net sein... wenn du ein mysql_query("update ...") hast, kehrt dieser aufruf erst zurĂĽck, wenn das update erfolgreich war, jedes nachfolgende select liefert die neuen daten zurĂĽck.
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon hmmmm » Sa 08 Apr, 2006 20:40

Ist aber leider so ... :-(
Ist aber nicht so schlimm, wenn ich diese Seite machen könnte! Könnt ihr mir helfen?

GruĂź hmmmm
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52

Beitragvon superracer » Sa 08 Apr, 2006 20:50

da solltest du lieber dein eigentliches problem in den griff kriegen als nach einem workaround suchen...

aber jedenfalls könntest du es mit einem header("Location: ..") versuchen...
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon hmmmm » Sa 08 Apr, 2006 20:58

Meinst du:

<?php
header("Location: http://www.xDSL.at");
exit();
?>

?
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52

Beitragvon superracer » Sa 08 Apr, 2006 20:59

jo so auf die art
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon hmmmm » Sa 08 Apr, 2006 21:04

Code is (Auszug):
<input name="Submit" type="submit" onclick="<?php $text=$_POST["HTMLArea"];$aendern="UPDATE willkommensnachricht Set text='$HTMLArea'";$update = mysql_query($aendern);header("Location: http://www.xDSL.at");exit();?>" value="&Auml;ndern" />

Error is:
Warning: Cannot modify header information - headers already sent by (output started at PFAD/change_welcome.php:9) in PFAD/change_welcome.php on line 65

Mfg hmmmm
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52

Beitragvon superracer » Sa 08 Apr, 2006 21:09

sorry, aber php code in nem onclick? ich glaub du hast nicht ganz verstanden, wie php funktioniert... oder html forms. oder beides.
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon hmmmm » Sa 08 Apr, 2006 21:11

Ja in einem OnClick ... das Ding funktioniert ja ... Wie funktioniert denn die andere Möglichkeit?

GruĂź hmmmm
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52

Beitragvon superracer » Sa 08 Apr, 2006 21:17

das kann nicht funktionieren, wahrscheinlich kommt dein eigenartiges problem daher. der php code wird ja schon ausgefĂĽhrt, wenn die seite geladen wird, und nicht wenn der knopf gedrĂĽckt wird.

die "andere" (= einzige) möglichkeit geht so: normale html form ohne ausgeführten php code (kann also auch nur eine statische html seite sein), mit method=post und action= irgendein php script. das php script kriegt dann im $_POST die übergebenen werte mit, kann die dann zb in eine db einfügen. dann kann es entweder eine html seite ausgeben, oder einen redirect machen.
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon hmmmm » Sa 08 Apr, 2006 21:19

Ok Danke. Es funktioniert schon so, aber nicht mit redirect. Werde mir das Morgen mal ansehen. Vielen Dank an alle, vorallem an superracer!

Guten Abend noch!

Mfg hmmmm
hmmmm
Board-User Level 1
Board-User Level 1
 
Beiträge: 749
Registriert: Mi 02 Mär, 2005 15:52


ZurĂĽck zu PROGRAMMIER FORUM

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste