ERLEDIGT
NEIN
NEIN
ANTWORTEN
19
19
ZUGRIFFE
1545
1545
EMPFEHLEN
-
man ich kommt nicht drauf....
ich hab mir n scirpt gebastelt, welche daten auf ner db ausliest, diese dann in textfeldern darstellt, nun will ich wenn ich in das entsprechende textfeld den inhalt änder er es automatisch in die db schreibt über den befehl update!
aber irgendwie funktioniert das nicht richtig,
Das Problem ist, wenn ich auf bearbeiten klicke werden mir meine daten wie gewünscht in den textfeldern angezeigt, nun wenn ich diese abändere und auf den submit button klicke, werde ich wieder zur normalen seite weitergeleit aber kein wert wurde verändert!
das ganze ist hier zu betrachten... http://silasap.dnsalias.org/users/sc...den/dbedit.php
ihr könnt ruhig mal probieren zu bearbeiten, aber nicht löschen, diese funktion geht ja
einfach bearbeiten werte verändern, und dann "Ändern" klicken.. aber es geht nichts
hier mal der code.. vielleicht hat von euch jemand ne idee
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
<html><body><div align="center"> <h1>NewsletterDatenbank bearbeiten</h1> <? //Verbindung herstellen $host = "localhost"; $user = "root"; $pw = ""; $dbl = "bookdb"; $db = mysql_connect($host, $user, $pw) or die ("Keine Verbindung moeglich"); mysql_select_db($dbl) or die ("Die Datenbank existiert nicht"); // Daten ändern $vorname = $HTTP_POST_VARS["vorname"]; if ($edit) { if ($submit) { $sql = "UPDATE kunde SET vorname='$vorname', nachname='$nachname', strasse='$strasse', hausnr='$hausnr', plz='$plz', ort='$ort', telefon='$telefon', telefax='$telefax', geb='$geb', date='$date' WHERE knr='$edit'"; $result = mysql_query($sql,$db); } else { $sql = "SELECT * FROM kunde WHERE knr=$edit"; $result = mysql_query($sql,$db); $data = mysql_fetch_array($result); ?> <form method="get" action="dbedit.php?edit='.$daten[knr]'"> <table border="0" align="center"> <tr> <td>Knr.:</td><td> <input type="hidden" name="knr" value="<? echo $data["knr"] ?>"></td> </tr><tr> <td>Vorname:</td><td> <input type="text" name="vorname" value="<? echo $data["vorname"] ?>" size="30"></td> <td>Nachname:</td><td> <input type="text" name="nachname" value="<? echo $data["nachname"] ?>" size="30"></td> </tr><tr> <td>Straße:</td><td> <input type="text" name="strasse" value="<? echo $data["strasse"] ?>" size="30"></td> <td>Haus Nr..:</td><td> <input type="text" name="hausnr" value="<? echo $data["hausnr"] ?>" size="30"></td> </tr><tr> <td>Plz</td><td> <input type="text" name="plz" value="<? echo $data["plz"] ?>" size="30"></td> <td>Wohnort:</td><td> <input type="text" name="ort" value="<? echo $data["ort"] ?>" size="30"></td> </tr><tr> <td>Tele. No.:</td><td> <input type="text" name="telefon" value="<? echo $data["telefon"] ?>" size="30"></td> <td>Fax No.:</td><td> <input type="text" name="telefax" value="<? echo $data["telefax"] ?>" size="30"></td> </tr><tr> <td>Geb. Dat.:</td><td> <input type="text" name="geb" value="<? echo $data["geb"] ?>" size="30"></td> <td>Erstellungs Dat.:</td><td> <input type="text" name="date" value="<? echo $data["date"] ?>" size="30"></td> </tr><tr><td> <input type="submit" name="submit" value="Ändern"> </td></tr></table></form> <? } } //Daten löschen if($clear) mysql_query("DELETE FROM kunde WHERE knr=$clear",$db); //Daten auslesen $result = mysql_query("SELECT * FROM kunde",$db); ?> <table border="1" cellspacing="0" cellpadding="2" align="center"> <tr> <td><b>KNr:</b></td> <td><b>Vorname:</b></td> <td><b>Nachname.</b></td> <td><b>Straße:</b></td> <td><b>Hausnr.:</b></td> <td><b>PLZ:</b></td> <td><b>Wohnort:</b></td> <td><b>Tel Nr.:</b></td> <td><b>Fax Nr.:</b></td> <td><b>Geb.:</b></td> <td><b>Angelegt:</b></td> <td> </td> <td> </td> </tr> <? while ($daten = mysql_fetch_array($result)) { ?> <tr> <td><? echo $daten[knr]; ?></td> <td><? echo $daten[vorname]; ?></td> <td><? echo $daten[nachname]; ?></td> <td><? echo $daten[strasse]; ?></td> <td><? echo $daten[hausnr]; ?></td> <td><? echo $daten[plz]; ?></td> <td><? echo $daten[ort]; ?></td> <td><? echo $daten[telefon]; ?></td> <td><? echo $daten[telefax]; ?></td> <td><? echo $daten[geb]; ?></td> <td><? echo $daten[date]; ?></td> <td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[knr].'' ?>">löschen</a></td> <td><a href="<? echo ''.$PHP_SELF.'?edit='.$daten[knr].'' ?>">bearbeiten</a></td> </tr> <? } ?> </table></div></body></html>Geändert von silasRV (03.12.04 um 10:32 Uhr)
-
03.12.04 10:18 #2Sicaine Tutorials.de Gastzugang
1. einrücken
2. ä<<< schreibt man nich in kommentaren
3. Wie wärs wenn du mal deinen Fehler einkreist indem du zwischenwerte mit Echo ausgibts?
-
1.....
2. ist doch egal, in html wird dann richtig ausgegeben
3. ich weiß ja wo der fehler liegt bzw. glaube es mal zu wissen...
ich denke es liegt an der obrigen if schleifen
if ($edit){
if (submit) {
das er die submit schleiße einfach nicht aufruft!
mfg
-
03.12.04 10:38 #4Sicaine Tutorials.de GastzugangZu 1 und 2: Schön hör einfach nicht auf mich und hilf dir selbst
Zitat von silasRV
-
ist register_globals auf off? dann kanns nicht gehen mit $http... und $edit weil die Variable nicht bekannt ist.
Versuche $_POST['vorname'] etc
Zum Prüfen sollte man immer print_r ausgeben lassen, so kommt man schnell zum Fehler
-
register_globals = On
das mit der edit funktion geht ja.
ich mein das mit ü hat ja nichts damit zu tun.. ist nur ne förmlichkeit! und das einrücken ja auch wenn ich mich da täusche belehr mich gern!
ich glaub wirklich das der in die if ($submit) garnicht reinkommt! also wenn ich auf submit klick der einfach die edit bedinung ja nicht ansteht und er somit einfach nur wieder alles ausgibt!
mein neuer quelltext:
PHP-Code:<html><body><div align="center">
<h1>NewsletterDatenbank bearbeiten</h1>
<?
//Verbindung herstellen
$host = "localhost";
$user = "root";
$pw = "";
$dbl = "bookdb";
$db = mysql_connect($host, $user, $pw) or die
("Keine Verbindung moeglich");
mysql_select_db($dbl) or die
("Die Datenbank existiert nicht");
// Daten aendern
$vorname = $HTTP_POST_VARS["vorname"];
$nachname = $HTTP_POST_VARS["nachname"];
$strasse = $HTTP_POST_VARS["strasse"];
$hausnr = $HTTP_POST_VARS["hausnr"];
$plz = $HTTP_POST_VARS["plz"];
$ort = $HTTP_POST_VARS["ort"];
$telenr = $HTTP_POST_VARS["telefon"];
$telefax = $HTTP_POST_VARS["telefax"];
$geb = $HTTP_POST_VARS["geb"];
$date = $HTTP_POST_VARS["date"];
if ($edit) {
if ($submit) {
$sql = "UPDATE kunde SET vorname='$vorname', nachname='$nachname', strasse='$strasse',
hausnr='$hausnr', plz='$plz', ort='$ort', telefon='$telefon', telefax='$telefax',
geb='$geb', date='$date' WHERE knr='$edit'";
$result = mysql_query($sql,$db);
}
else {
$sql = "SELECT * FROM kunde WHERE knr=$edit";
$result = mysql_query($sql,$db);
$data = mysql_fetch_array($result);
?>
<form method="post" action="dbedit.php">
<table border="0" align="center">
<tr>
<td>Knr.:</td><td>
<input type="hidden" name="knr" value="<? echo $data["knr"] ?>"></td>
</tr><tr>
<td>Vorname:</td><td>
<input type="text" name="vorname" value="<? echo $data["vorname"] ?>" size="30"></td>
<td>Nachname:</td><td>
<input type="text" name="nachname" value="<? echo $data["nachname"] ?>" size="30"></td>
</tr><tr>
<td>Straße:</td><td>
<input type="text" name="strasse" value="<? echo $data["strasse"] ?>" size="30"></td>
<td>Haus Nr..:</td><td>
<input type="text" name="hausnr" value="<? echo $data["hausnr"] ?>" size="30"></td>
</tr><tr>
<td>Plz</td><td>
<input type="text" name="plz" value="<? echo $data["plz"] ?>" size="30"></td>
<td>Wohnort:</td><td>
<input type="text" name="ort" value="<? echo $data["ort"] ?>" size="30"></td>
</tr><tr>
<td>Tele. No.:</td><td>
<input type="text" name="telefon" value="<? echo $data["telefon"] ?>" size="30"></td>
<td>Fax No.:</td><td>
<input type="text" name="telefax" value="<? echo $data["telefax"] ?>" size="30"></td>
</tr><tr>
<td>Geb. Dat.:</td><td>
<input type="text" name="geb" value="<? echo $data["geb"] ?>" size="30"></td>
<td>Erstellungs Dat.:</td><td>
<input type="text" name="date" value="<? echo $data["date"] ?>" size="30"></td>
</tr><tr><td>
<input type="submit" name="submit" value="Ändern">
</td></tr></table></form>
<?
}
}
//Daten loeschen
if($clear) mysql_query("DELETE FROM kunde WHERE knr=$clear",$db);
//Daten auslesen
$result = mysql_query("SELECT * FROM kunde",$db);
?>
<table border="1" cellspacing="0" cellpadding="2" align="center">
<tr>
<td><b>KNr:</b></td>
<td><b>Vorname:</b></td>
<td><b>Nachname.</b></td>
<td><b>Straße:</b></td>
<td><b>Hausnr.:</b></td>
<td><b>PLZ:</b></td>
<td><b>Wohnort:</b></td>
<td><b>Tel Nr.:</b></td>
<td><b>Fax Nr.:</b></td>
<td><b>Geb.:</b></td>
<td><b>Angelegt:</b></td>
<td> </td>
<td> </td>
</tr>
<? while ($daten = mysql_fetch_array($result)) { ?>
<tr>
<td><? echo $daten[knr]; ?></td>
<td><? echo $daten[vorname]; ?></td>
<td><? echo $daten[nachname]; ?></td>
<td><? echo $daten[strasse]; ?></td>
<td><? echo $daten[hausnr]; ?></td>
<td><? echo $daten[plz]; ?></td>
<td><? echo $daten[ort]; ?></td>
<td><? echo $daten[telefon]; ?></td>
<td><? echo $daten[telefax]; ?></td>
<td><? echo $daten[geb]; ?></td>
<td><? echo $daten[date]; ?></td>
<td><a href="<? echo ''.$PHP_SELF.'?clear='.$daten[knr].'' ?>">löschen</a></td>
<td><a href="<? echo ''.$PHP_SELF.'?edit='.$daten[knr].'' ?>">bearbeiten</a></td>
</tr>
<? } ?>
</table></div></body></html>
-
Hallo!
2 Dinge:
1.: Achte bitte auf die Groß-/Kleinschreibung (siehe Netiquette).
2.: Überprüfst Du mitob edit übergeben wurde? Dann versuch's mal lieber mitHTML-Code:if($edit)
das sollte eher funktionieren.HTML-Code:if(isset($edit))
redlamaWissen ist Macht! Nichts wissen macht auch nichts, ...
www.redlama.org
-
Ja, das mache ich!
Nur das Edit ist nicht das Problem, das Prob. ist, dass die Submit Funktion nicht geht.
ich glaube es ist folgt
Wenn ich auf bearbeiten klicke, sende ich ein Edit an nr damit ist die if Bedinung erfült, nun wird überprüft ob noch ein submit forliegt, dies liegt aber nicht vor also wird nur mal daten ausgegeben in den entsrpechenden text feldern,
Nun drück ich auf Submit, es wird Submit übermittelt aber kein Edit mehr. Also wird die Edit Bedinung nicht erfüllt somit kommt er garnicht erst bis zum Submit und alles bringt nichts..
d.h. es müsste wenn ic hauf submit klicke eine edit und ein submit gesendet werden und nicht nur allein das submit
Oder liege ich da falsch?
hab das mit
if(isset($edit))
if(isset($submit))
auf probiert, nichts geholfen!
MFG silas
-
Na dann mach doch mal das, was Sicaine Dir vorhin schon geraten hat.
Lass Dir mal ein paar echo's ausgeben. Am besten so:Daran siehst Du, ob er wirklich in die "if($edit)" Schleife läuft oder nicht. Das grenzt die Fehlerquelle schon ein wenig ein.PHP-Code:echoe "1<br>";
if($edit) {
echo "2<br>";
if($submit) {
echo "3<br>";
redlamaWissen ist Macht! Nichts wissen macht auch nichts, ...
www.redlama.org
-
ja genau, dass habe ich jetzt grad gemacht!
und zwar
Ergebnis:PHP-Code:if($edit) { echo "1<br>";
if($submit) { echo "2<br>";
$sql = "UPDATE kunde SET vorname='$vorname', nachname='$nachname', strasse='$strasse', hausnr='$hausnr', plz='$plz',
ort='$ort', telefon='$telefon', telefax='$telefax', geb='$geb', date='$date' WHERE knr='$edit'";
$result = mysql_query($sql,$db);
}
else {
$sql = "SELECT * FROM kunde WHERE knr=$edit";
$result = mysql_query($sql,$db);
$data = mysql_fetch_array($result);
?>
<form method="post" action="<? echo $PHP_SELF?>">
<table border="0" align="center">
<tr>
<td>Knr.:</td><td>
<input type="hidden" name="knr" value="<? echo $data["knr"] ?>"></td>
</tr><tr>
<td>Vorname:</td><td>
<input type="text" name="vorname" value="<? echo $data["vorname"] ?>" size="30"></td>
<td>Nachname:</td><td>
<input type="text" name="nachname" value="<? echo $data["nachname"] ?>" size="30"></td>
</tr><tr>
<td>Straße:</td><td>
<input type="text" name="strasse" value="<? echo $data["strasse"] ?>" size="30"></td>
<td>Haus Nr..:</td><td>
<input type="text" name="hausnr" value="<? echo $data["hausnr"] ?>" size="30"></td>
</tr><tr>
<td>Plz</td><td>
<input type="text" name="plz" value="<? echo $data["plz"] ?>" size="30"></td>
<td>Wohnort:</td><td>
<input type="text" name="ort" value="<? echo $data["ort"] ?>" size="30"></td>
</tr><tr>
<td>Tele. No.:</td><td>
<input type="text" name="telefon" value="<? echo $data["telefon"] ?>" size="30"></td>
<td>Fax No.:</td><td>
<input type="text" name="telefax" value="<? echo $data["telefax"] ?>" size="30"></td>
</tr><tr>
<td>Geb. Dat.:</td><td>
<input type="text" name="geb" value="<? echo $data["geb"] ?>" size="30"></td>
<td>Erstellungs Dat.:</td><td>
<input type="text" name="date" value="<? echo $data["date"] ?>" size="30"></td>
</tr><tr><td>
<input type="submit" name="submit" value="Ändern">
</td></tr></table></form>
<?
}
}
1 wird angezeigt...
2 nicht, und das heißt das die update funktion nicht ausgeführt wird, bzw. es garnicht erst bis zu dieser if submit anweißung kommt!
habt ihr eine idee!?
-
03.12.04 12:33 #11Sicaine Tutorials.de GastzugangWir sollen dir helfen und erstmal die Codestruktur durchschauen? Ob du für dich einrückst oder nciht is mir kackegal aber wenn du von uns Hilfe erwartest, kann man erwarten dass du für UNS einrückst.
Zitat von silasRV
Und die ä schreibweise wird nur in HTML verwendet und gehört in Kommentare einfach nicht rein!
Ansonsten mach mal ein hiddenfeld rein und gucks ob es dann funktioniert, dann weist zumidnest, dass er es nich per Button mag. Oder zeig uns was var_dump($_POST) ausgibt.
-
03.12.04 12:39 #12
- Registriert seit
- Jun 2001
- Ort
- Hamburg
- Beiträge
- 2.196
Kleine Frage: Woher weiß dein Code was $edit und was $submit ist? Irgendwie finde ich das nicht in deinem Code.
<insert random signature here>
-
03.12.04 12:41 #13Sicaine Tutorials.de Gastzugang<input type="submit" name="submit" value="Ändern">
Zitat von Jan Seifert
Wert ist egal aber da name als submit angegeben ist, dürfte das auch übergeben werden.
-
03.12.04 12:43 #14
- Registriert seit
- Jun 2001
- Ort
- Hamburg
- Beiträge
- 2.196
Müsste er $submit dann nicht mit $submit = $_POST['submit']; definieren?
<insert random signature here>
-
03.12.04 12:44 #15Sicaine Tutorials.de Gastzugang
Zitat von Jan Seifert
Ach wenn mans so nich macht
Zitat von vondemtypendaoben:
Geändert von Sicaine (03.12.04 um 12:47 Uhr)
Ähnliche Themen
-
Daten aus sqlDB in Acces kopieren
Von gander im Forum .NET DatenverwaltungAntworten: 6Letzter Beitrag: 22.09.10, 10:01 -
char ** im Fkt. - Kopf, warum gehts nicht?
Von Ryu1991 im Forum C/C++Antworten: 9Letzter Beitrag: 11.02.09, 16:47 -
setTextFormat(), setNewTextFormat() warum gehts nicht
Von Pullmann im Forum Flash PlattformAntworten: 5Letzter Beitrag: 11.05.05, 12:52 -
Warum gehts nicht?
Von pillefusss im Forum Flash PlattformAntworten: 5Letzter Beitrag: 15.09.04, 09:51 -
.jpeg? warum gehts nicht?
Von moth im Forum PhotoshopAntworten: 5Letzter Beitrag: 09.01.02, 14:17





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren