Hab ein kleines script geschrieben.
account.php
account_startpage.php:
adress.php:
Alles anzeigen
Das Script ist natürlich entwas verkürzt und spiegelt nur die wichtigsten Passagen wieder. Im Grunde funktioniert alles ganz gut. Die Daten werden aktualisiert. Nur wenn die Daten aktualisieret werden sollen, dann soll ja
ausgeführt werden. Aber der Link spring nur bis zur Datei account_startpage.php. Er filtert dann nicht weiter. Da ja der Post "action=adress" mitgegeben wurde müsste der jetzt doch weitergehen zur adress.php. Aber das tut er nicht. Er interpretiert die account_startpage.php. In der Datei ankommen tut der Link, aber wertet nichts mehr aus. Das habe ich festgestellt. Aber woran liegt das. Ich habe doch die Variable "action" korrekt mitgegeben. Wenn ich "account.php?action=adress&updated=privat" direkt aufrufe funktioniert das include_once wunderbar. Die Variablen existieren alle und die Datenbank wird auch korrekt ausgewertet. Die Daten werden auch upgedatet. Nur der Header funktioniert halt nicht so wie er soll.
Ich hoffe, dass das ganze jetzt einigermaßen durchsichtig ist. Habe versucht alles so gut es geht zu erklären. Ist kompliziert ich weiß. Aber vielleicht weiß ja jemand einen Rat.
account.php
account_startpage.php:
adress.php:
Quellcode
- <?PHP
- if(($_REQUEST['updated'] == "firma") || ($_REQUEST['updated'] == "privat")) {
- echo '
- <table width="100%" border="0" cellspacing="0" cellpadding="5">
- <tr>
- <td class="accountpage" scope="col"><div align="left">Ihre Adressdaten wurden wie folgt geändert.</div></td>
- </tr>
- </table>';
- } elseif ($_REQUEST['update'] == "privat") {
- $adresse_update = 'UPDATE '.$dbpref.'user Set vorname="'.$_POST['vorname'].'" WHERE `username` = "'.$_SESSION["mtd_user"].'"';
- $update = mysql_query($adresse_update);
- header ("Location: account.php?action=adress&updated=privat");
- } else {
- echo '
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <form name="form1" method="post" action="account.php">
- <tr>
- <th width="20%" valign="top" class="accountpage" scope="col"><div align="left">Vorname</div></th>
- <th height="30" valign="top" scope="col"><div align="left">
- <input name="vorname" type="text" id="vorname" value="<? echo $user[vorname]; ?>">
- </div></th>
- </tr>
- <tr>
- <th valign="top" class="accountpage" scope="col"> </th>
- <th valign="top" scope="col"><div align="left">
- <label>
- <input name="action" type="hidden" id="action" value="adress">
- <input name="update" type="hidden" id="update" value="privat">
- <input type="submit" name="Submit" value="Ändern">
- </label>
- </div></th>
- </tr>
- </form>
- </table>';
- }
Das Script ist natürlich entwas verkürzt und spiegelt nur die wichtigsten Passagen wieder. Im Grunde funktioniert alles ganz gut. Die Daten werden aktualisiert. Nur wenn die Daten aktualisieret werden sollen, dann soll ja
ausgeführt werden. Aber der Link spring nur bis zur Datei account_startpage.php. Er filtert dann nicht weiter. Da ja der Post "action=adress" mitgegeben wurde müsste der jetzt doch weitergehen zur adress.php. Aber das tut er nicht. Er interpretiert die account_startpage.php. In der Datei ankommen tut der Link, aber wertet nichts mehr aus. Das habe ich festgestellt. Aber woran liegt das. Ich habe doch die Variable "action" korrekt mitgegeben. Wenn ich "account.php?action=adress&updated=privat" direkt aufrufe funktioniert das include_once wunderbar. Die Variablen existieren alle und die Datenbank wird auch korrekt ausgewertet. Die Daten werden auch upgedatet. Nur der Header funktioniert halt nicht so wie er soll.
Ich hoffe, dass das ganze jetzt einigermaßen durchsichtig ist. Habe versucht alles so gut es geht zu erklären. Ist kompliziert ich weiß. Aber vielleicht weiß ja jemand einen Rat.