Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
localhost
Threadersteller
Dabei seit: 25.04.2003
Ort: nähe Bielefeld
Alter: 47
Geschlecht:
|
Verfasst Fr 01.04.2005 11:30
Titel [PHP] UPDATE meinetabelle SET .... noob braucht hilfe |
|
|
hallo zusammen,
sitze gerade an einer kleinen navigation die aus einer datenbank kommt. die abfrage aus der db läuft alles super. nun will ich eine kleine adminoberfläche dazu basteln damit man menupunkte selber ändern kann....doch nun hackt es am code...kann eventuell mal wer rüber schauen...
DANKE
Code: |
CREATE TABLE `nav_main` (
`ID` int(11) NOT NULL auto_increment,
`Name` text collate latin1_general_ci,
`URL` text collate latin1_general_ci,
`TARGET` text collate latin1_general_ci,
`UDISC` text collate latin1_general_ci,
`NMID` int(11) default NULL,
PRIMARY KEY (`ID`)
);
INSERT INTO `nav_main` VALUES (1, 'test1', 'damn.php', '_self', 'nix', 1);
INSERT INTO `nav_main` VALUES (2, 'test2', 'nix.php', '_self', 'nix', 2);
INSERT INTO `nav_main` VALUES (3, 'test3', 'comm.php', '_self', 'nix', 3);
INSERT INTO `nav_main` VALUES (4, 'test4', 'bla.php', '_self', 'bla', 4);
INSERT INTO `nav_main` VALUES (5, 'test5', 'tips.php', '_self', 'tips', 5);
INSERT INTO `nav_main` VALUES (6, 'test6', 'kreis.php', '_self', 'kreis', 6);
INSERT INTO `nav_main` VALUES (7, 'test7', 'kontakt.php', '_self', 'Kontakt', 7);
|
Code: | <?PHP
$conn = @mysql_connect('localhost', 'root', '');
mysql_select_db('nav');
if ($submit): // Informationen ueber seminare aktualisieren
$sql = "UPDATE nav_main SET Name='$resname', URL='$resurl', TARGET='$restar', UDISC='$resdisc', NMID='$resnmid' WHERE ID=$id";
if (@mysql_query($sql)) {
echo("<p>Information über Navigationsgruppe aktualisiert.</p>");
} else {
echo("<p>Fehler beim Aktualisieren der Informationen: " .
mysql_error() . "</p>");
}
?>
<p><a href="semiverw.php">Zurück zur NavigationsVerwaltung</a></p>
<?php
else: // Den Benutzern gestatten, die Autoren zu bearbeiten
$res=@mysql_query("SELECT Name, URL, TARGET, UDISC, NMID FROM nav_main WHERE ID=$id");
if (!$res) {
echo("<p>Fehler bei der Abfrage der Navigationsgruppe: " .
mysql_error() . "</p>");
exit();
}
$res2 = mysql_fetch_array($res);
$resname = $res2["Name"];
$resurl = $res2["URL"];
$restar = $res2["TARGET"];
$resdisc = $res2["UDISC"];
$resnmid = $res2["NMID"];
// Umwandlung von Sonderzeichen fuer die sichere Verwendung
// als HTML-Attribute.
$resname = htmlspecialchars($resname);
$resurl = htmlspecialchars($resurl);
$restar = htmlspecialchars($restar);
$resdisc = htmlspecialchars($resdisc);
$resnmid = htmlspecialchars($resnmid);
?>
<form action="<?=$PHP_SELF?>" method="post">
<p>Navigationsgruppen bearbeiten:<br />
Gruppenname: <input type="text" name="ort" value="<?=$resname?>" size="20" maxlength="255"><br />
URL: <input type="text" name="datum" value="<?=$resurl?>" size="20" maxlength="255"><br />
Ziel: <input type="text" name="datum2" value="<?=$restar?>" size="20" maxlength="255"><br />
Beschreibung: <input type="text" name="datum3" value="<?=$resdisc?>" size="20" maxlength="255"><br />
Gruppen ID: <input type="text" name="uhrzeit" value="<?=$resnmid?>" size="20" maxlength="255"><br />
<input type="hidden" name="id" value="<?=$id?>" />
<input type="submit" name="submit" value="Absenden" /></p>
</form>
<?php endif; ?> |
|
|
|
|
|
AcidONE
Dabei seit: 01.04.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Fr 01.04.2005 11:32
Titel
|
|
|
Ich würd mit $_POST[] bzw $_GET[] arbeiten !!! Es könnte sein das die register_globals bei dir auf OFF stehen (wie es auch sein soll). Also versuch die Vars in deinem Statement mal einfach als $_POST bzw $_GET[] zu schreiben !!
Gruß
|
|
|
|
|
Anzeige
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 01.04.2005 11:36
Titel
|
|
|
ja und was soll ich nun schauen? ohne fehlermeldungen von mysql_error()
oder sonstige debug hinweise, in welcher klammer der parser aussteigt
bleibt jedem nur raten ..
|
|
|
|
|
localhost
Threadersteller
Dabei seit: 25.04.2003
Ort: nähe Bielefeld
Alter: 47
Geschlecht:
|
Verfasst Fr 01.04.2005 11:57
Titel
|
|
|
lol ach so ein mist....ganz vergessen....
der abfruf aus der datenbank funktioniert von diesem teil (seite) heraus
Code: | <?php
$cnx = mysql_connect('localhost','root','');
mysql_select_db('nav');
$res = @mysql_query("SELECT * FROM nav_main");
if (!$res) {
echo("<p>Fehler beim Abruf der Navigationsgruppen aus der Datenbank!<br />".
"Fehler: " . mysql_error() . "</p>");
exit();
}
while ($stout = mysql_fetch_array($res)) {
$resid = $stout["ID"];
$resname = htmlspecialchars($stout["Name"]);
echo("<li>$resname ".
"[<a href='navigationgedit.php?id=$resid'>Bearbeiten</a>|".
"<a href='navigationgdel.php?id=$resid'>Löschen</a>]</li>");
}
?> |
der datensatz wird korrekt ausgelesen, wenn ich diesen jetzt änder und abschicken bzw. speichern will ... macht er das ganze auch, doch räumt den ganzen datensatz leer...
hoffe es ist verständlich.....
heute ist wohl nicht mein tag
Zuletzt bearbeitet von localhost am Fr 01.04.2005 11:57, insgesamt 1-mal bearbeitet
|
|
|
|
|
localhost
Threadersteller
Dabei seit: 25.04.2003
Ort: nähe Bielefeld
Alter: 47
Geschlecht:
|
Verfasst Sa 02.04.2005 08:31
Titel
|
|
|
*grmpf* keiner eine lösung?
|
|
|
|
|
chrikle
Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht:
|
Verfasst Sa 02.04.2005 10:05
Titel
|
|
|
Was mir auf den ersten Blick auffällt ist, das du deine DB-Verbindung nirgends wieder schließt??
Und wie dastef schon schrieb: Zeig mal deine Fehlermeldung!
Gruß
Chris
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Sa 02.04.2005 18:00
Titel
|
|
|
Zitat: | der datensatz wird korrekt ausgelesen, wenn ich diesen jetzt änder und abschicken bzw. speichern will ... macht er das ganze auch, doch räumt den ganzen datensatz leer... |
Ich hab mir den Code jetzt nicht wirklich angeschaut... aber wenn du schreibst, das der Datensatz "leer" ist, dann könnte ich mir gut vorstellen, daß es an der bereits erwähnten Einstellung "register_globals" liegen.
Hast du das bereits geprüft? Wenn register_globals auf "on" steht (und das ist bei vielen Providern ja der Fall), dann gibt es da vielleicht einige Variablen nicht bzw. sie sind dann leer.
Und wenn das nicht der Fall ist, dann solltest du dir einfach mal genau anschauen, was denn in deinem Script passiert. Setzt doch mal ein echo vor die Zeilen mit deinen SQL-Statements, z.B.:
echo $sql = "UPDATE nav_main SET Name='$resname', URL='$resurl', TARGET='$restar', UDISC='$resdisc', NMID='$resnmid' WHERE ID=$id";
Dann siehst du doch sofort, was da an Werten übergeben wird und solltest deinen Fehler so schnell erkennen können.
|
|
|
|
|
lexynet
Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht:
|
Verfasst Mo 04.04.2005 12:57
Titel
|
|
|
hmm ... was mir da auffällt ist ..
der user ='root' und das passwort =''
bist dui dir sicher das er die verbindung zur Datenbank mit den Daten überhaupt aufbaut ... schreib dein schript mal leicht um:
Code: |
<?php
$cnx = mysql_connect('localhost','root',''); or die("Kann nicht zum msql Server verbinden: ".msql_error());
mysql_select_db('nav',$cnx) or die("Kann Datenbank 'db' nicht auswählen: ".msql_error());
$res = @mysql_query("SELECT * FROM nav_main",$cnx);
if (!$res) {
die("Abfrage fehlgeschlagen: ".msql_error());
} else {
while ($stout = mysql_fetch_array($res)) {
$resid = $stout["ID"];
$resname = htmlspecialchars($stout["Name"]);
echo("<li>$resname ".
"[<a href='navigationgedit.php?id=$resid'>Bearbeiten</a>|".
"<a href='navigationgdel.php?id=$resid'>Löschen</a>]</li>");
}
}
?>
|
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP NOOB braucht hilfe ] content includen?
[flash] as-noob braucht hilfe für pendel-animation
director noob needs help
Illustrator noob
OOP in PHP für Noob - Formulardaten verarbeiten
der noob schlägt zu: currentFrame vs. totalFrames
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|