finde fehler nicht :(

hohoho

Mitglied
Also ich finde den Fehler bei der folgenden Seite nicht...
Code:
<html>
<body>

<?
if ($aktion=edit)
  edit($id);
elseif ($aktion2=edit2)
  edit2($id, $Nickname, $Vorname, $Account, $Wohnort, $Alter, $D2_Spieler, $Member, $Lieblingschar);


function formular($aktion2, $id, $Nickname, $Vorname, $Account, $Wohnort, $Alter, $D2_Spieler, $Member, $Lieblingschar) {
echo "<table><tr><td>";
echo "<FORM Method='GET' action='test2.php'>";    //test2.php ist diese datei
echo "<input type='text' name='Nickname' size='15' value='$Nickname'><br>";
echo "<input type='text' name='Vorname' size='15' value='$Vorname'><br>";
echo "<input type='text' name='Account' size='15' value='$Account'><br>";
echo "<input type='text' name='Wohnort' size='15' value='$Wohnort'><br>";
echo "<input type='text' name='Alter' size='3' value='$Alter'><br>";
echo "<input type='text' name='D2-Spieler seit' size='15' value='$D2_Spieler'><br>";
echo "<input type='text' name='Mitglied seit' size='15' value='$Member'><br>";
echo "<input type='text' name='Lieblingschar' size='15' value='$Lieblingschar'><br>";
echo "<input type='hidden' value='$aktion2' name='action2'>";
echo "<input type='hidden' name='id' value='$id'>";
echo "<p><input type='submit' value='Senden'> 
      <input type='reset' name='Löschen'></p>";
echo "</FORM>";
echo "</td></tr></table>";
}

function edit($id) {
$db_host = "localhost";
$db_user = "rdvnews";
$db_pass = "****";
$dbase = "rdvnews_uk_db";
$db = mysql_connect($db_host,$db_user,$db_pass);

echo "Daten bearbeiten";

$sql = "SELECT * FROM members WHERE id=$id";
$ergebnis = mysql_query($sql, $db);
while($row = mysql_fetch_object($ergebnis))
  { 
    $Nickname=$row->Nickname;
    $Vorname=$row->Vorname;
    $Account=$row->Account;
    $Wohnort=$row->Wohnort;
    $Alter=$row->Alter;
    $D2_Spieler=$row->D2-Spieler;
    $Member=$row->Member;
    $Lieblingschar=$row->Leiblingschar;
  }
  $aktion2="edit2";
  formular($aktion2 ,$id, $Nickname, $Vorname, $Account, $Wohnort, $Alter, $D2_Spieler, $Member, $Lieblingschar);
}

function edit2($id, $Nickname, $Vorname, $Account, $Wohnort, $Alter, $D2_Spieler, $Member, $Lieblingschar) {
$db_host = "localhost";
$db_user = "rdvnews";
$db_pass = "****";
$dbase = "rdvnews_uk_db";
$db = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($dbase, $db);
$sql = "UPDATE members SET Nickname='$Nickname', Vorname='$Vorname', Account='$Account', Wohnort='$Wohnort', Alter='$Alter', D2-Spieler='$D2_Spieler', Member='$Member', Lieblingschar='$Lieblingschar' WHERE id='$id'";
$ergebnis = mysql_query($sql, $db);
if (!$ergebnis)
  echo "Fehler aufgetreten!";
else
  echo "Die Daten wurden geändert.<br>";
  echo "<a href=test.php>Startseite</a>";
}

?>
</body>
</html>

Erklärung: Das Script soll Mitglieder bearbeiten... in einem andren ( funktionierenden ) skript werden sie alle angezegt.
Wenn ich dieses Aufrufe, zeigt er mir alle Informationen, aber wenn ich sie ändere und auf Submit klicke, ändert er sie nicht. Er zeigt mir nur wieder die vorherigen Infos.
Die MySQL Tabelle hab ich schon erstellt usw. an der kann es eigentlich nicht liegen... Ich glaube es sollte an der function formular oder edit2 liegen
Danke schonmal im vorraus. ;-)
 
Zuletzt bearbeitet:
Habs mir erstmal nur kurz angeschaut, aber als Diablo2-Forenmoderator muss ich mich ja wohl mal kurz äussern... :D

In der while-Schleife der Funktion edit steht:

$Lieblingschar=$row->Leiblingschar;

Soll doch nicht Leiblingschar sein oder?? ;)
 
beim letzten "else" fehlt eine öffnende: "{" ...

Und bei der If Bedingung davor, die Schließende: "{" ...
 
Ja jetzt sehe ich das auch... ;)

Allerdings gehört die letzte "}" zur function, bei der if-else-Schleife fehlen alle "{}" (was ja bei einzeiligen Anweisungen nicht schlimm gewesen wäre...) :rolleyes:
 
Ändere mal die Bezeichnung für die Spalte 'Alter' um,
hätte eigentlich schon das Anlegen von dieser Spalte imo Ärger bereiten sollen, da 'Alter' ja von MySQL verwendet wird (ALTER TABLE,...) oder?? :confused:
 

Neue Beiträge

Zurück