Antworten auf deine Fragen:
Neues Thema erstellen

mySQL - Formulardaten werden nicht gespeichert/gelöscht

elessar

Das nervende Etwas

Ich mal wieder -.-" Das blonde Etwas,.... Hoffentlich zum letztem Male :p

Ich hab nun für meine komiche Semester-Aufgabe eine DB erstellt und Abfrage läuft super und ich kann die Datensätze über ein Formular auch bearbeiten und ändern.

Jedoch will er Datensätze nicht löschen oder neue hinzufügen.
Ich hab mal auch dne Code vom Bearbeiten dran gelassen (oberer Bereich). Vielleicht wisst ihr ja wo der Fehler liegt,.. vermutlich bin ich grad wieder einfach nur Blind.

Code:
<?php
    require_once("db.inc.php");
    verbindung_mysql("obstladen");
    
    //Abschnitt BEARBEITEN
    if(isset($_POST['edit']))
        {
            if(isset($_POST['auswahl']))
                {
                    $sql = "SELECT * FROM kunden WHERE kunden.ID = " .$_POST['auswahl'];
                    $abfrage = mysql_query($sql);
                    if(!$abfrage)
                        {
                            echo "\n<p>Die SQL-Anweisung ist fehlgeschlagen: " .mysql_error() ."</p>";
                        }
                    else
                        {
                            $zeile = mysql_fetch_array($abfrage);
                            echo "<form action='" .$_SERVER['PHP_SELF'] ."' method='POST'>\n
                            <table border='1'><tr><td width='100'>ID-Nummer</td>
                            <td width='400'> " .$zeile['ID'] ."<input type='hidden' name='ID' value='" .$zeile['ID'] ."'></td></tr>    
                            <tr><td>Vorname</td>
                            <td><input type='text' name='Vorname' value='" .$zeile['Vorname'] ."' size='60'></td></tr>    
                            <tr><td>Nachname</td>
                            <td><input type='text' name='Nachname' value='" .$zeile['Nachname'] ."' size='60'></td></tr>    
                            <tr><td>Strasse</td>
                            <td><input type='text' name='Strasse' value='" .$zeile['Strasse'] ."' size='60'></td></tr>    
                            <tr><td>Postleitzahl</td>
                            <td><input type='text' name='Postleitzahl' value='" .$zeile['Postleitzahl'] ."' size='60'></td></tr>    
                            <tr><td>Ort</td>
                            <td><input type='text' name='Ort' value='" .$zeile['Ort'] ."' size='60'></td></tr>
                            <tr><td colspan='2' align='center'>
                                <input type='submit' name='edit-submit' value='Werte setzen'>
                                <input type='submit' name='abbruch' value='Aktion abbrechen'></td></tr>
                            </table></form>";
                        }
                }
            else
                {
                    echo "<p>Bitte w&auml;hlen Sie einen Datensatz aus. Zur&uuml;ck zum Formular: <a href='kunden.php'>klicken Sie hier</a>.</p>";
                }
        }
    
    if(isset($_POST['edit-submit']))
        {
            $sql  = "UPDATE kunden SET Vorname = '" .$_POST['Vorname'] ."', ";
            $sql .= "Nachname = '" .$_POST['Nachname'] ."', ";
            $sql .= "Strasse = '" .$_POST['Strasse'] ."', ";
            $sql .= "Postleitzahl = '" .$_POST['Postleitzahl'] ."', ";
            $sql .= "Ort = '" .$_POST['Ort'] ."' ";
            $sql .= "WHERE kunden.ID = " .$_POST['ID'];
            $abfrage = mysql_query($sql);
            header("Location: kunden.php");
        }
    
    if(isset($_POST['abbruch']))
        {
            //kann allgemein für den Abbruch verschiedener Aktionen verwendet werden
            //Schaltfläche Abbruch benötigt nur überall denselben Namen
            header("Location: kunden.php");
        }
        
    //Abschnitt LÖSCHEN
    if(isset($_POST['delete']))
        {
            //Programmzeilen für das Löschen des ausgewählten Datensatzes
            //ausgewählten Datensatz prüfen
            //nochmals mit PHP-Mitteln abfragen, ob Löschen wirklich gewünscht
        if(isset($_POST['auswahl']))
                {
                    $sql = "SELECT * FROM kunden WHERE kunden.ID = " .$_POST['auswahl'];
                    $abfrage = mysql_query($sql);
                    if(!$abfrage)
                        {
                            echo "\n<p>Die SQL-Anweisung ist fehlgeschlagen: " .mysql_error() ."</p>";
                        }
                    else
                        {
                            $zeile = mysql_fetch_array($abfrage);
                            echo "<form action='" .$_SERVER['PHP_SELF'] ."' method='POST'>\n
                            <table border='1'><tr><td width='100'>ID-Nummer</td>
                            <td width='400'> " .$zeile['ID'] ."<input type='hidden' name='ID' value='" .$zeile['ID'] ."'></td></tr>    
                            <tr><td>BLZ</td>
                            <td>" .$zeile['Vorname'] ."</td></tr>    
                            <tr><td>Name</td>
                            <td>" .$zeile['Nachname'] ."</td></tr>    
                            <tr><td>Strasse</td>
                            <td>" .$zeile['Strasse'] ."</td></tr>    
                            <tr><td>Postleitzahl</td>
                            <td>" .$zeile['Postleitzahl'] ."</td></tr>    
                            <tr><td>Ort</td>
                            <td>" .$zeile['Ort'] ."</td></tr>
                            <tr><td colspan='2' align='center'>
                                <input type='submit' name='delete-submit' value='Endg&uuml;ltig l&ouml;schen'>
                                <input type='submit' name='abbruch' value='Aktion abbrechen'></td></tr>
                            </table></form>";
                        }
                }
        }
        
    
    if(isset($_POST['delete-submit']))
        {
            $sql  = "DELETE FROM kunden WHERE kunden.ID = " .$_POST['ID'];
            $abfrage = mysql_query($sql);
            header("Location: kunden.php");
        }
    //Abschnitt HINZUFÜGEN    
    if(isset($_POST['add']))
        {
            //Programmzeilen für das Hinzufügen eines neuen Datensatzes
            //In diesem Fall findet ein eventuell ausgewählter Datensatz 
            //keine Berücksichtigung (stört aber auch nicht)
        
            echo "<form action='" .$_SERVER['PHP_SELF'] ."' method='POST'>\n
            <table border='1'><tr><td width='100'>ID-Nummer</td>
            <td width='400'><i>wird automatisch gesetzt</i></td></tr>    
            <tr><td>Vorname</td>
            <td><input type='text' name='Vorname' size='60'></td></tr>    
            <tr><td>Nachname</td>
            <td><input type='text' name='Nachname' size='60'></td></tr>    
            <tr><td>Strasse</td>
            <td><input type='text' name='Strasse' size='60'></td></tr>    
            <tr><td>Postleitzahl</td>
            <td><input type='text' name='Postleitzahl' size='60'></td></tr>    
            <tr><td>Ort</td>
            <td><input type='text' name='Ort' size='60'></td></tr>
            <tr><td colspan='2' align='center'>
                <input type='submit' name='add-submit' value='Datensatz hinzuf&uuml;gen'>
                <input type='submit' name='abbruch' value='Aktion abbrechen'></td></tr>
            </table></form>";
        }
        
    if(isset($_POST['add-submit']))
        {
            $sql  = "INSERT INTO kunden(Vorname,Nachname,Strasse,Postleitzahl,Ort) VALUES(" .$_POST['Vorname'] .", ";
            $sql .= "'" .$_POST['Nachname'] ."', ";
            $sql .= "'" .$_POST['Strasse'] ."', ";
            $sql .= "'" .$_POST['Postleitzahl'] ."', ";
            $sql .= "'" .$_POST['Ort'] ."')";
            $abfrage = mysql_query($sql);
            header("Location: kunden.php");
        }
        
    mysql_close($verbindung);
?>
 

Duddle

Posting-Frequenz: 14µHz

AW: mySQL - Formulardaten werden nicht gespeichert/gelöscht

Stichwort Debugging.

Du führst deine Anfragen aus, ignorierst aber jegliche Rückgabewerte oder Fehlerausgaben. Ohne Informationen über Status und Fehler deines Scriptes kannst du keine Aussagen über Fehlerquellen treffen.

Lass dir also die SQL-Abfragen im Fehlerfall mit Fehlerinformation ausgeben, dann siehst du was falsch läuft:
PHP:
$sql = "UPDATE ....";
mysql_query($sql) or die("SQL: ".$sql." - Fehler: "+mysql_error());


Duddle
 

Misco

Nicht mehr ganz neu hier

AW: mySQL - Formulardaten werden nicht gespeichert/gelöscht

Also bei schaut ein löschen so aus:

$sql = "DELETE FROM tbl_clientgrundtabelle WHERE `Client_ID` = '$id'";
$resultat = mysql_query($sql);

Bei mir waren ` und ' zwingend notwendig sonst klappte es nicht.

Grüße
Dennis
 

elessar

Das nervende Etwas

AW: mySQL - Formulardaten werden nicht gespeichert/gelöscht

Ich hab beides ausprobiert,.. ich hab aber auch eigentlich drin gehabt, dass er mir die Fehler ausgeben soll,.. ich werde aber beim ausführen nur an eine weiße Seite geleitet wo gar nichts steht
 

Misco

Nicht mehr ganz neu hier

AW: mySQL - Formulardaten werden nicht gespeichert/gelöscht

Muss die "header" Weiterleitung nicht absolut sein, also mit http.... ?
 

elessar

Das nervende Etwas

AW: mySQL - Formulardaten werden nicht gespeichert/gelöscht

hm,.. werd ich morgen mal ausprobieren,.. aber wüsste nicht. denn die Bearbeitung (1. Teil des Codes) funktioniert einwandfrei,.. es sind nur Löschen und Hinzufügen die nicht gehen und wo ich nur auf eine weiße Seite komme ohne Fehlermeldung und ohne Änderungen am Inhalt.

Wenn ich es morgen nach der Arbeit schaffe, werd ich die Datenbank auch mal online stellen, läuft ja aktuell unter xampp
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben