Hallo,
also ich habe einen sehr sehr sehr komischen Fehler, ich versuche ihn deshalb so gut wie möglich zu erklären.
Also als Datenbank benutze ich MySQL.
Also ich habe ein PHP datei, die ca. so aussieht:
<?php
$save = $_GET["save"];
$was = $_GET["was"];
$userid = $_SESSION["id"];
if($save == "profil")
{
$feld = $_POST["feld"];
$aendern = "UPDATE tabelle Set feld = '$feld' WHERE id = '$userid'";
$update = mysql_query($aendern);
if($update == true)
{
echo "Alles klar: $aendern";
}
else
{
echo "Fehler";
echo mysql_error();
}
}
if($was == "profil")
{
$abfrage = "SELECT feld FROM tabelle WHERE id = '$userid'";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
echo "<form action="?was=profil&save=profil" method="post">";
//Input mit Submit Button
//Input hat den Wert: $row->feld als Value
echo "
</form>
";
?>
Naja kein Aufweniger Script.
Sendet der User den Script ab, wird es an: ?was=profil&save=profil gesendet.
Die Ausgabe ist:
"Alles klar: UPDATE tabelle Set feld = 'mein Wert' WHERE id = '1'"
Das Problem ist nur, er speichert in der Datenbank _keinen_ Wert ab, so dass danach der Default Wert steht.
Das Kuriose (#1) daran ist, wenn ich den Script nach der Ausgabe "Alles klar..." mit exit; unterbreche, so wird der Wert ganz normal gespeichert.
Das gleiche gilt, wenn ich nach der Ausgabe den Script per header() an: ?was=profil sende.
Dann speichert er den Wert auch.
Das Kuriose (#2) ist, dass es auf meinem lokalem Server (Xampp && PHP 5.x) funktioniert, auf anderen Servern funktioniert dies auch, aber _nur_ auf meinem Webspace funktioniert das nicht.
Hier mal die PHPInfo: http://www.php-einfach.de/phpinfo.php
Und nein, ich habe dort kein andere Update oder ähnliches drin, welches die Spalte nach dem Update nochmal leer überschreibt.
MFG
Andavos