hilfdirselbst.ch
Facebook Twitter gamper-media
nicoscript.de
Beiträge: 11
31. Mär 2003, 18:24
Beitrag #1 von 3
Bewertung:
(471 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Problem mit Formula


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 Top
 
X
Miro Dietiker
Beiträge: 699
31. Mär 2003, 20:14
Beitrag #2 von 3
Beitrag ID: #29946
Bewertung:
(471 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Problem mit Formula


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
als Antwort auf: [#29936] Top
 
nicoscript.de
Beiträge: 11
1. Apr 2003, 19:45
Beitrag #3 von 3
Beitrag ID: #30087
Bewertung:
(471 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Problem mit Formula


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
als Antwort auf: [#29936] Top