zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden UPDATE funktioniert nicht

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 22.08.2007, 17:27
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.08.2007
Beiträge: 13
mayhemtl befindet sich auf einem aufstrebenden Ast
Standard UPDATE funktioniert nicht

Weiss jemand, warum die UPDATE Funktion hier nicht tut?

Danke für eure Hilfe!

Code:
<?php

$ID=$_POST[loeschen];

if($_POST[Button_löschen] OR $_POST[ja] OR $_POST[nein])
{

  if($_POST[ja])
  {
    echo "Das Mitglied wurde gelöscht.";
    mysql_query("DELETE FROM mitglied WHERE ID='".$ID."' LIMIT 1;");
  }
  else if($_POST[nein])
  {
    echo "Das Mitglied wurde nicht gelöscht.";
  }
  else
  {
    echo "Wollen Sie das Mitglied wirklich löschen?";
    echo "<form action='front_content.php?idart=32' method='post'>";
    echo "<input type='submit' name='ja' value='JA' />";
    echo "<input type='hidden' name='loeschen' value=".$ID." />";
    echo "<input type='submit' name='nein' value='NEIN' />";
    echo "</form>";
  }
}
else if($_POST[Button_bearbeiten])
{
  $result=mysql_query("SELECT * FROM mitglied WHERE ID='".$ID."';") or die(mysql_error());

  echo "<form action='front_content.php?idart=32' method='post'>";
  echo "<table id='mitglieder_hinzufügen_tabelle'>";
    while($row=mysql_fetch_assoc($result))
    {
      echo "<tr><td>Nachname:</td><td>".$row['Nachname']."</td><td><input type='text' name='Nachname' value='".$row['Nachname']."' size='30' maxlength='50' /></td></tr>";
      echo "<tr><td>Vorname:</td><td>".$row['Vorname']."</td><td><input type='text' name='Vorname' value='".$row['Vorname']."' size='30' maxlength='50' /></td></tr>";
      echo "<tr><td>Strasse:</td><td>".$row['Strasse']."</td><td><input type='text' name='Strasse' value='".$row['Strasse']."' size='30' maxlength='50' /></td></tr>";
      echo "<tr><td>PLZ:</td><td>".$row['PLZ']."</td><td><input type='text' name='PLZ' value='".$row['PLZ']."' size='5' maxlength='5' /></td></tr>";
      echo "<tr><td>Ort:</td><td>".$row['Ort']."</td><td><input type='text' name='Ort' value='".$row['Ort']."' size='30' maxlength='50' /></td></tr>";
      echo "<tr><td>Telefon:</td><td>".$row['Telefon']."</td><td><input type='text' name='Telefon' value='".$row['Telefon']."' size='20' maxlength='20' /></td></tr>";
    }
  echo "</table>";
  echo "<input type='submit' name='aktualisieren' value='OK' />";
  echo "</form>";
}
else if($_POST[aktualisieren])
{
  $abfrage=mysql_query("UPDATE mitglied SET Nachname='".$_POST[Nachname]."',
                                   Vorname='".$_POST[Vorname]."',
                                   Strasse='".$_POST[Strasse]."',
                                   PLZ='".$_POST[PLZ]."',
                                   Ort='".$_POST[Ort]."',
                                   Telefon='".$_POST[Telefon]."'
                        WHERE ID='".$ID."' LIMIT 1;") or die(mysql_error());
}
else
{
  echo "Es ist ein Fehler aufgetreten. Bitte melden Sie sich beim Administrator!";
}


?>
PS: Ein Fehler wird nicht ausgegeben.

URL: Home
Login: Test
PW: test
Mitglieder verwalten --> bearbeiten --> Suche --> Auswählen und bearbeiten...
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 22.08.2007, 18:03
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 03.08.2007
Beiträge: 13
mayhemtl befindet sich auf einem aufstrebenden Ast
Standard

Ich bin einen Schritt weiter gekommen. Und zwar liegt es einzig und allein an der $ID.
Leider wird die ID nicht mit übergeben, wenn ich auf den Button "bearbeiten" klicke. Kann mir jemand sagen warum?

Das SendeFormular sieht wie folgt aus:
Code:
<?php

$result=mysql_query("SELECT * FROM mitglied WHERE Nachname LIKE '%".$_POST[Nachname]."%';") or die(mysql_error());

echo "<form action='front_content.php?idart=32' method='post'>";
echo "<table id='mitglieder_anzeigen' class='mitglieder_anzeigen'>";
echo "<tr style='font-weight:bold;' align='center'><td>Nachname</td><td>Vorname</td><td>Strasse</td><td>PLZ</td><td>Ort</td><td>Telefon</td><td>Löschen</td></tr>";

    while($row=mysql_fetch_assoc($result))
    {
      echo "<tr>";
        echo "<td>".$row['Nachname']."</td><td>".$row['Vorname']."</td><td>".$row['Strasse']."</td><td>".$row['PLZ']."</td><td>".$row['Ort']."</td><td>".$row['Telefon']."</td><td><input type='radio' name='loeschen' value='".$row['ID']."' /></td>";
      echo "</tr>";
    }
echo "</table>";
echo "<input type='submit' name='Button_löschen' value='löschen' />";
echo "<input type='submit' name='Button_bearbeiten' value='bearbeiten' />";

echo "</form>";

?>
Bei Button_löschen wird die ID mit übergeben, aber bei Button_bearbeiten nicht...
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 22.08.2007, 18:26
Alles- & Nixkönne
XHTMLforum-Mitglied
 
Registriert seit: 05.10.2006
Ort: Hamburg
Beiträge: 156
Ernie wird schon bald berühmt werden
Standard

In deinem Formular zum Bearbeiten taucht ID aber nirgends auf, kann also auch nicht übergeben werden.

Nachtrag: Nimm dir das noch zu Herzen- Array do's und don'ts:PHP: Arrays - Manual
__________________
Rechtschreibung und Grammatik beherrsche ich perfekt, ich wende sie nur nicht an

Geändert von Ernie (22.08.2007 um 18:29 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 24.08.2007, 19:22
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Also bei mir geht das Bearbeiten. Wie hast dus gelöst?

Btw:
PHP-Code:
  if($_POST[ja])
  {
    echo 
"Das Mitglied wurde gelöscht.";
    
mysql_query("DELETE FROM mitglied WHERE ID='".$ID."' LIMIT 1;");
  } 
du schreibst das das Mitglied gelöscht ist und löscht es erst dann.... mhh kleiner Logik Fehler?

ich würde löschen dann prüfen ob er auch gelöscht ist und dann die Meldung ausgeben..

auserdem ist ja ein string und keine zahl also: nicht $_POST[ja] sondern $_POST['ja'] (du verwendest einmal Register_Globals und einmal nicht)

und wenn wir dabei sind: Register_Globals on is auch nicht gerade gesund!

Geändert von Timo (24.08.2007 um 20:42 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 24.08.2007, 22:23
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Servus!

Ich sehe nirgents das Du den Wert der $ID übergibst.
Und wenn Du es tust, sollte es dann nicht ..where id = '".$_POST['id']."' lauten?

cu
Mit Zitat antworten
  #6 (permalink)  
Alt 24.08.2007, 22:28
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Zitat:
Zitat von paracelsus Beitrag anzeigen
Servus!

Ich sehe nirgents das Du den Wert der $ID übergibst.
Und wenn Du es tust, sollte es dann nicht ..where id = '".$_POST['id']."' lauten?

cu
wenn du in der php.ini
Code:
...
register_globals = on
...
hast. dann geht das auch mit $ID aber dann muss in der URL auch &ID=xy sein.

PHP ist bei solchen dingen empfindlich mit groß- kleinschreibung!

EDIT:
Ich seh gerade was in dem Script:

PHP-Code:
$ID=$_POST[loeschen];
... 
aber was das bringt keine Ahnung... auserden ist "loeschen" ein String d. h.
PHP-Code:
$ID $_POST['loeschen'];
... 
aber jetzt wo ich das so schteibe fällt mir noch was auf:

PHP-Code:
...
echo 
"<input type='submit' name='Button_löschen' value='löschen' />";
... 
das müsste so heissen:
PHP-Code:
...
echo 
"<input type=\"submit\" name=\"Button_loeschen\" value=\"loeschen\" />";
... 
Gruß
Timo

Geändert von Timo (25.08.2007 um 00:16 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 24.08.2007, 22:38
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Zitat:
wenn in der php.ini
Code:
Code:
     ...
register_globals = on
...
hast.
Danke, hab darauf vergessen ...
cu
Mit Zitat antworten
  #8 (permalink)  
Alt 25.08.2007, 10:15
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von T1mo Beitrag anzeigen
PHP-Code:
...
echo 
"<input type='submit' name='Button_löschen' value='löschen' />";
... 
das müsste so heissen:
PHP-Code:
...
echo 
"<input type=\"submit\" name=\"Button_loeschen\" value=\"loeschen\" />";
... 
Warum müsste das so heißen? Beide Lösungen sind schließlich richtig.

Wenn du lieber doppelte Anführungszeichen bevorzugst, ist diese Schreibweise auch übersichtlicher:
PHP-Code:
...
echo 
'<input type="submit" name="Button_loeschen" value="loeschen" />';
... 
Mario
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
  #9 (permalink)  
Alt 25.08.2007, 14:44
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Zitat:
Zitat von netspy Beitrag anzeigen
Warum müsste das so heißen? Beide Lösungen sind schließlich richtig.

Wenn du lieber doppelte Anführungszeichen bevorzugst, ist diese Schreibweise auch übersichtlicher:
PHP-Code:
...
echo 
'<input type="submit" name="Button_loeschen" value="loeschen" />';
... 
Mario
1. So is es HTML Konform
2. Gings in erster Linie nicht um die Anführungszeichen sondern das aus dem ö ein oe wird. PHP kennt kein ö ä ü oder ß
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 25.08.2007, 14:52
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von T1mo Beitrag anzeigen
1. So is es HTML Konform
Code:
foo="bar", foo='bar' und foo=bar sind HTML-konform
foo="bar und foo='bar' sind XHTML-konform
Mario
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
UPDATE SQL -> PHP funktioniert nicht jnv Serveradministration und serverseitige Scripte 10 21.07.2010 01:19
Mouseover funktioniert nicht (externe Methode) blackhtml CSS 2 07.04.2009 18:49
SQL UPDATE Befehl ohne Seitenwechsel ausführen thomas83 Javascript & Ajax 3 03.09.2008 12:08
Seltsam! "&" funktioniert - "&amp;" nicht! RollingStones Javascript & Ajax 4 22.01.2008 10:20
dtd und css in php funktioniert im IE nicht!!! da-lick CSS 17 09.06.2007 16:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:32 Uhr.