Forenindex » Programmierung/Entwicklung » PHP und MySQL » Problem mit Formula

Problem mit Formula

nicoscript.de
Beiträge gesamt: 11

31. Mär 2003, 18:24
Bewertung:

gelesen: 651

Beitrag als Lesezeichen
Hi
ich habe da einen kleinen Denkfehler mit einem Formular, bei dem ihr mir bestimmt weiterhelfen könnt.

ich lese ein Feld aus einer DB aus und übergebe es an eine Variable...

$sql="select * from profile where bname='$bname'";
$res=mysql_query($sql);
$row=mysql_fetch_array($res,MYSQL_ASSOC);
$vname=$row['vname'];

...den Inhalt dieser Variablen lasse ich in einen Textfeld anzeigen...

?>
<form><input type="text" name="evname" onfocus="this.value=''" value="<?php echo $vname; ?>">

...wenn ich jetzt den Inhalt des Textfeldes ändere soll dies in der DB auch geändert werden...

if (isset($go1)){
$sql = "UPDATE profile set vname='$evname' where bname='nicofo'";
$res=mysql_query($sql);
echo "<meta http-equiv='refresh' content='2; url=profile.php'>";
if ($res){
echo "Daten wurden &uuml;bertragen";
}else{
echo "<p>".mysql_error($db);}}

...Die Seite ruft sich selber nochmal auf und zeigt mir dann aber den Inhalt des Textfeldes an, der ürsprünglich vor der Änderung in der DB stand.
Wie gesagt, in die Datenbank wird die Änderung korrekt übernommen, nur wenn ich den 'Submit' Button klicke erscheinen keine Änderungen.

Ich hoffe das ich es nicht zu kompliziert geschrieben habe, und danke für die zahlreichen Antworten.

Gruß Nico

Problem mit Formula

Miro Dietiker
Beiträge gesamt: 699

31. Mär 2003, 20:14
Bewertung:

gelesen: 651

Beitrag als Lesezeichen
Hi Nicoscript

Du liest die Datenquelle aus und gibst diese auch aus.
Tust du dies vor dem Schreiben auf die Datenquelle mit dem Neuen
Wert, wirst du zwingend den alten Inhalt zurückkriegen!

Reihenfolge Jetzt:

1. Aus Datenbank lesen [ -> ALTER WERT! ]
2. Formularfeld ausgeben
3. Im Fall von submit in Datenbank schreiben

einfach umändern zu:

1. Im Fall von submit in Datenbank schreiben
2. Aus Datenbank lesen [ -> NEUER WERT! ]
3. Formularfeld ausgeben

GrEeZ: Miro Dietiker

Problem mit Formula

nicoscript.de
Beiträge gesamt: 11

1. Apr 2003, 19:45
Bewertung:

gelesen: 651

Beitrag als Lesezeichen
Hi,
klingt für mich erstmal nicht logisch.Wenn das Script sich selber aufruft, wird es wieder von oben nach unten abgearbeitet. Das heißt, die Variable die vorher den 'Alten Wert' hatte, bekommt dann einen anderen, nämlich den den ich vorher in die DB geschrieben habe.
Den Wert den ich aus der DB auslese, soll geändert werden, und die Änderung wird mir optisch nicht angezeigt, obwohl sie in der DB vorhanden ist, wieso ist das so.
Du schreibst:
einfach umändern zu:

1. Im Fall von submit in Datenbank schreiben
2. Aus Datenbank lesen [ -> NEUER WERT! ]
3. Formularfeld ausgeben

Da fehlt mir leider Schritt 0, ich muß vorher die Werte aus der DB in die Textfelder übergeben.

Alles nicht so einfach, Gruß Nico