tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
905
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jacy Jacy ist offline Mitglied Bronze
    Registriert seit
    Jul 2011
    Beiträge
    43
    Hallo zusammen,
    ich hätte da mal eine Frage zu PHP, bzw MySQL.

    Wir haben für die Uni die Aufgabe, eine Website zu erstellen, die an eine CD Datenbank angebunden ist. Es soll zwei Kategorien geben, einmal den lesenden Zugriff für alle und einmal den schreibenden für berechtigte Nutzer.

    Das Login-System hab ich bereits erstellt. Jedoch komme ich jetzt nicht weiter, da berechtigte Nutzer Daten über ein Formular in die DB eingeben, verändern und löschen können sollen.

    Wie kann ich ein PHP Formular erstellen, bei dem die eingetragenden Daten in der DB verändert werden? Hängt das irgendwie mit $_POST zusammen?

    Danke für eure Hilfe!
     

  2. #2
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    Ich frage mich gerade, ob du Informatik studierst. Mh. Wie dem auch sei: Mit PHP kannst du direkt keine Formulare verwenden, sondern dazu brauchst du HTML-Formulare. Deren Werte kannst du entweder per GET oder per POST an ein PHP-Skript senden und dort dann auswerten und eben danach in der Datenbank speichern, löschen, aktualisieren.
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    Jacy Jacy ist offline Mitglied Bronze
    Registriert seit
    Jul 2011
    Beiträge
    43
    Nein,Informationsdesign

    Also d.h. das Ganze funktioniert ähnlich wie bei einem Kontakt-Formular? Da habe ich auch ein Formular erstellt, welches dann über PHP verarbeitet wird und die Daten aus dem Formular über $_POST angezeigt bekommen.

    Vielleicht klingen meine Fragen etwas lächerlich, aber wir sind da doch sehr auf uns allein gestellt und da kommen einem vllt nicht ganz so viele Ideen zur Umsetzung
     

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Also d.h. das Ganze funktioniert ähnlich wie bei einem Kontakt-Formular?
    Ja so ähnlich.
    Du brauchst auch ein Formular und ein verarbeitendes Skript.
    Dieses Skript muss in diesem Fall aus der DB lesen und in die DB schreiben können.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #5
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Grundsätzlich funktioniert das immer nach dem gleichen Prinzip.

    1. Du baust ein Formular in HTML mit entsprechenden Feldern, die einen bestimmten Namen bekommen.
    2. Das Formular hat eine sog. Methode (POST, GET, etc) bedingt über das Attribut "method".
    3. Das Formular hat eine sog. Aktion bedingt über das Attribute "action", was ein PHP-Script (oder eine andere Sprache) ist und die Daten aus dem Formular über $_GET oder $_POST (abhängig von 2.) entgegennimmt.
    4. Die Formular-Daten werden verwendet um Daten
    a) aus einem beliebigen Medium (Datenbank, Datei, Webservice, etc) zu lesen oder
    b) in ein beliebiges Medium zu schreiben.
    5. Für den Zugriff auf eine Datenbank benötigt man einen sog. Client der in PHP in Form von Extensions (mysql, mysqli, PDO, etc) vorhanden sein muss.

    Damit haben wir erstmal das generelle geklärt. Vielleicht kannst du konkretere Fragen stellen, damit man keine Meta-Aussagen machen muss. Falls du näheres darüber wissen willst, solltest du vllt. mal ein Tutorial zu diesem Thema durcharbeiten.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  6. #6
    Jacy Jacy ist offline Mitglied Bronze
    Registriert seit
    Jul 2011
    Beiträge
    43
    Danke für eure Antworten, ich hab das jetzt mal folgendermaßen angedacht:

    PHP-Code:
    <?php
    if (empty($_POST["Albumtitel"]))  {
    ?>
    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]) ?>"method="post">
    Albumtitel: <br /><input type="text" name="Albumtitel" /><br />
    Interpret: <br /><input type="text" name="Interpret" /><br />
    Erscheinungsjahr: <br /><input type="text" name="Erscheinungsjahr" /><br />
    <input type="submit" name="abgeschickt" />
    </form>
    <?php


    else {
      
    $mysqli= new mysqli("localhost","root","","cds");
      
    $albumtitel =$_POST["Albumtitel"];
      
    $interpret =$_POST["Interpret"];
      
    $erscheinungsjahr =$_POST["Erscheinungsjahr"];
      
      
    $insert="INSERT INTO album
                (Albumtitel,Interpret,Erscheinungsjahr)
                VALUES ('
    $albumtitel', '$interpret', '$erscheinungsjahr')";
       echo 
    $insert;
       if (
    $ergebnis =$mysqli->query($insert)) {
       echo 
    "<br />\n Anzahl Datensätze verändert: "
             
    .$mysqli->affected_rows;
       } else {
       echo 
    $mysqli->error;
       }
       
    $mysqli->close();
       }
    ?>
    Das scheint soweit zu funktionieren. War zwar nur ein kleiner Testlauf wo nur bei einer Tabelle und nicht bei mehreren gleichzeitig etwas eingefügt werden soll,aber das kann man ja beliebig erweitern... hoff ich
     

  7. #7
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Du solltest dir von Anfang an angewöhnen, Benutzer-Eingaben zu filtern. Es ist nicht der Weisheit letzter Schluss, aber mysql_real_escape_string() sollte schon mindestens drin sein. Beispiel:

    Code php:
    1
    
    $albumtitel = mysql_real_escape_string($_POST["Albumtitel"]);

    Sonst sind so tolle Aktionen möglich wie deine DB komplett zu leeren.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    Jacy Jacy ist offline Mitglied Bronze
    Registriert seit
    Jul 2011
    Beiträge
    43
    Vielen Dank für den Tipp,daran hatte ich gar nicht gedacht=)
     

Ähnliche Themen

  1. Daten aus MySQL-DB auslesen, über Formular ändern und speichern
    Von Fabian Frank im Forum Relationale Datenbanksysteme
    Antworten: 17
    Letzter Beitrag: 12.08.06, 16:35
  2. Antworten: 2
    Letzter Beitrag: 11.03.06, 14:15
  3. Antworten: 19
    Letzter Beitrag: 05.12.04, 15:14
  4. MySQL - Daten bearbeiten
    Von JDietrich im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 12.07.04, 19:05
  5. Antworten: 2
    Letzter Beitrag: 24.06.04, 22:11

Stichworte