Ankündigung

Einklappen
Keine Ankündigung bisher.

Index Nr Löschen lassen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Index Nr Löschen lassen

    Guten Abend zusammen,

    ich versuche mir gerade php & mysql selbst beizubringen und tüftele hier schon den ganzen Abend rum. Ich war schon mehrere Male kurz davor etwas in dieses Forum zu posten, aber im letzten Moment habe ich dann doch immer noch die Lösung gefunden.

    Nunja, jetzt komme ich wirklich nicht mehr weiter.

    ( http://www.myimg.de/?img=frage178e25.png )

    Das ist meine bisherige Seite, zum Ziel gesetzt habe ich mir folgendes:
    - Auf der Seite soll man neue Einträge hinzufügen können
    - Die Einträge sollen angezeigt werden
    - Man sollte zudem die Möglichkeit haben Einträge zu löschen

    An folgender Stelle haperts:
    - Wenn ich einen Wert in das Formular eintrage und mehrmals aktualisiere, wird der zuletzt eingetragene Wert immer wieder eingefügt. Was kann ich dagegen tun?
    - Das Löschen klappt noch absolut gar nicht. Habe ein wenig mit dem Delete Befehl herumgespielt, aber zum einen weiß ich nicht genau wo ich diesen hinsetzen soll, zum anderen nicht in welcher Form und zudem verlangt die Seite dann eine Eingabe aus dem "Stadt hinzufügen" Formular. Über Lösungsansätze wäre ich an dieser Stelle wahnsinnig dankbar!!

    Ich freue mich über Antworten und Anregungen,
    einen schönen Abend noch,

    Leo

    PHP-Code:

    <?php 
    include'formular1.html';


    $name=$_POST["Vorname"];
    $zahl=$_POST["Nachname"];
    $deleteindex=$_POST["indexnr"];
    $server="localhost"
    $username="admin"
    $passwd="admin"
    $mysqldb="test";

        
    mysql_connect($server$username$passwd$mysqldb) or die (mysql_error ()); 
        
    mysql_select_db("$mysqldb") or die(mysql_error()); 


        
    $strSQL "SELECT * FROM `traveltest` WHERE `preis` > 5"
        
    $rs mysql_query($strSQL); 
         
        
    // Schleifendurchlauf durch $rs 

           

     
    while($row mysql_fetch_array($rs))
     {
        echo 
    $row['index'] . ". "// gibt indexnr aus
        
    echo $row['ort'] . " kostet "// gibt eintrag aus
        
    echo $row['preis'] . "Euro<br>"//gibt id aus
        
    }



    if(
    $connect mysql_connect($server$username$passwd$mysqldb) or die (mysql_error ())); // fall 

    mysql_select_db("$mysqldb") or die(mysql_error()); 
    $selection mysql_query("SELECT `index` FROM `traveltest` WHERE 1");
    $ausgabe mysql_num_rows($selection); 
    $ausgabenew $ausgabe+1;
    echo 
    "<br><b>Ihre Suche ergab $ausgabe Treffer!</b>" 

    $insert = ("INSERT INTO `traveltest`(`index`, `ort`, `preis`) VALUES ($ausgabe+1,'$name','$zahl')");
        if(
    mysql_query($insert))
        {

        echo 
    "<br>Vorgang erfolgreich.";
        
        }
        else
        {
        echo 
    "<br>Die Uebertragung der Tabellendaten hat leider nicht geklappt.";
        }
        
        
        
    }



    ?>

  • #2
    Beim löschen einfach eine MySQL query ausführen wenn man auf den löschen-link gedrückt hat:
    DELETE FROM Tabelle WHERE id = $del_id

    Du musst jedem Eintrag eine einzigartige id zuordnen.

    #Tapatalk

    Kommentar


    • #3
      Zum ersten Problem noch: dagegen hilft nur dass du davor noch ein weiterleitugsskript mit HTML oder hp baust. Das leitet dich dann z.b. Sofort weiter.

      #Tapatalk

      Kommentar


      • #4
        Also als erstes die üblichen Hinweise. MySQL ist veraltet. Grade wenn du es dir neu beibringst setze bitte direkt auf eine modernere API (PDO oder MySQLi) Ich persönlich bevorzuge PDO.

        Dein Code ist nicht gegen SQL Injection oder XSS abgesichert, bitte nachholen.

        Bei deinem zweiten Problem kannst du auch einfach Testen ob in der Datenbank bereits ein Duplikat des Datensatzes gespeichert ist. Nur Wenn das nicht der Fall ist soll der Eintrag erfolgen.

        Kommentar


        • #5
          - Wenn ich einen Wert in das Formular eintrage und mehrmals aktualisiere, wird der zuletzt eingetragene Wert immer wieder eingefügt. Was kann ich dagegen tun?
          Nicht blind neue Datensätze erzeugen, wie du es jetzt machst - Prüfung einbauen und nur dann ein INSERT ausführen, wenn die Bedingungen dafür gegeben sind

          - Das Löschen klappt noch absolut gar nicht. Habe ein wenig mit dem Delete Befehl herumgespielt, aber zum einen weiß ich nicht genau wo ich diesen hinsetzen soll, zum anderen nicht in welcher Form und zudem verlangt die Seite dann eine Eingabe aus dem "Stadt hinzufügen" Formular. Über Lösungsansätze wäre ich an dieser Stelle wahnsinnig dankbar!!
          Die Antwort ist die gleiche wie für die vorherige Frage: Bedingungen schaffen und abfragen... Ein Formular sendet die ID des zu löschenden Datensatzes und einen Parameter "action" mit Wert "delete" (oder so ähnlich). Im Script fragt man erstmal ab, ob "action == delete" und ID vorhanden, anschliessend kann man den DELETE Befehl zur Datenbank schicken.
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Danke schon mal für die ganzen hilfreichen Antworten!

            Kurze Rückfragen:
            - Abfrage via if isset delete ? Kann ich das einfach über zwei if Abfragen durchführen?
            - Ist es sehr schlimm wenn ich in mysql schreibe? Die meisten Tutorials sind leider eben in der Sprache
            - Über Sql Injection muss ich mir erst Sorgen machen wenn ich das auf einen Webspace hochlade, oder? Und wenn ja muss ich vor allem darauf achten die mysql error Befehle raus nehmen, Right?

            Gruß,
            Leo

            Kommentar


            • #7
              Du muss verstehen, was POST/GET ist und wie es funktioniert (= Parameterübergabe). Dann sollte auch der Groschen schon fallen, das man über Links oder Formulare unterschiedliche Paramter senden kann, auf die man im PHP Script entsprechend reagiert.

              Das ein oder andere Formulartutorial solltest du mal durcharbeiten, um das Verständnis zu entwickeln, wie das funktioniert.
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Zitat von lstegelitz Beitrag anzeigen
                Du muss verstehen, was POST/GET ist und wie es funktioniert (= Parameterübergabe). Dann sollte auch der Groschen schon fallen, das man über Links oder Formulare unterschiedliche Paramter senden kann, auf die man im PHP Script entsprechend reagiert.

                Das ein oder andere Formulartutorial solltest du mal durcharbeiten, um das Verständnis zu entwickeln, wie das funktioniert.
                Die Übergabe via Post und Get habe ich eigentlich schon 'durchgenommen', denk mal ich habe das POST nur drin weil ich davor mit dem gleichen Formular probiert habe eine Passwort Eingabe zu erstellen.

                Naja, ich versuche jetzt mal eure Anregungen umzusetzen, ich melde mich wieder

                Kommentar

                Lädt...
                X