mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 03:00 Benutzername: Passwort: Auto-Login

Thema: [PHP] UPDATE meinetabelle SET .... noob braucht hilfe vom 01.04.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] UPDATE meinetabelle SET .... noob braucht hilfe
Autor Nachricht
localhost
Threadersteller

Dabei seit: 25.04.2003
Ort: nähe Bielefeld
Alter: 47
Geschlecht: Männlich
Verfasst Fr 01.04.2005 11:30
Titel

[PHP] UPDATE meinetabelle SET .... noob braucht hilfe

Antworten mit Zitat Zum Seitenanfang

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 &uuml;ber Navigationsgruppe aktualisiert.</p>");
  } else {
    echo("<p>Fehler beim Aktualisieren der Informationen: " .
         mysql_error() . "</p>");
  }

?>

<p><a href="semiverw.php">Zur&uuml;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; ?>
  View user's profile Private Nachricht senden
AcidONE

Dabei seit: 01.04.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 01.04.2005 11:32
Titel

Antworten mit Zitat Zum Seitenanfang

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ß
  View user's profile Private Nachricht senden
Anzeige
Anzeige
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 01.04.2005 11:36
Titel

Antworten mit Zitat Zum Seitenanfang

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 ..
  View user's profile Private Nachricht senden
localhost
Threadersteller

Dabei seit: 25.04.2003
Ort: nähe Bielefeld
Alter: 47
Geschlecht: Männlich
Verfasst Fr 01.04.2005 11:57
Titel

Antworten mit Zitat Zum Seitenanfang

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&ouml;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
  View user's profile Private Nachricht senden
localhost
Threadersteller

Dabei seit: 25.04.2003
Ort: nähe Bielefeld
Alter: 47
Geschlecht: Männlich
Verfasst Sa 02.04.2005 08:31
Titel

Antworten mit Zitat Zum Seitenanfang

*grmpf* keiner eine lösung?
  View user's profile Private Nachricht senden
chrikle

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst Sa 02.04.2005 10:05
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Sa 02.04.2005 18:00
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
lexynet

Dabei seit: 04.04.2005
Ort: Dessau
Alter: 43
Geschlecht: Männlich
Verfasst Mo 04.04.2005 12:57
Titel

Antworten mit Zitat Zum Seitenanfang

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&ouml;schen</a>]</li>");
 }
}
?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


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.