Forum

Umfrage Formular an Datenbank

Erstellt von finnweis, 26.03.2011.



  1. finnweis

    finnweis übt

    Dabei seit:
    16.09.2008
    Beiträge:
    632
    Geschlecht:
    männlich
    Ort:
    Köln
    Software:
    Production CS3, Sam Pro Suite X2, Sony Vegas Pro 13
    Umfrage Formular an Datenbank
    Moin moin,

    schon wieder versuche ich mich, dem leidigen Thema Umfrage auf einer Webpage in eine Datenbank zu pressen. Ich habe schon die Forumsuche verwendet und bin auf Tutorials gestoßen, auch die PHP Basics in dem angepinnten Beitrag in diesem Thread habe ich mal überflogen. Ehrlich gesagt ist mir das aber alles etwas kompliziert.

    Sowohl mit Open Office Base, als auch mit diversen HTML Editoren habe ich ja die Möglichkeit, Formulare zu bauen. Ich brauche dafür eine Struktur (was soll in welche Tabellenspalte, was sind Pflichteinträge, welche sind unique) und ich muss festlegen, welche Art das Eingabefeld hat: dropdown, Freitext / Zahlenfeld, entweder/oder Button (der richtige Begriff für Mehrfachauswahl oder Einfachwahl fällt mir gerade nicht ein) usw..

    Ich brauche eine Datenbank, in der eine entsprechend angelegte Tabelle liegt. Diese wäre in meinem Fall bei Strato eine MySQL Datenbank.

    Nun möchte ich, dass meine Daten in die Tabelle geschrieben werden, nachdem "Submit" oder sowas gedrückt wurde.

    In dem Tutorial stand, dass man z.B. eine PHP Seite mit der Datenbank connected über $link = mysql_connect( "Servername", "Benutzer", "Passwort" );

    Nun also meine erste dumme Frage: kann das dann nicht jeder im Quelltext sehen? Nun habe ich gelesen, dass man PHP Code auch verstecken kann.

    Hat hier irgendjemand Lust mir einmal für dieses Beispiel den Quelltext zu schreiben, mit den erforderlichen Schritten
    (1. - lege eine Tabelle mit dem Namen "Familienmitglieder" bei Strato an, mit den Spalten: Name, Vorname, Alter, Geburtstag, Hobbies, Mitteilung
    2. - baue eine Homepage mit Textfeld "Name", Textfeld "Vorname",...
    3. - verknüpfe so oder nutze folgenden Quelltext)
    ???

    Wäre echt oberaffeng..l!
     
    #1      
  2. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.856
    Geschlecht:
    männlich
    Ort:
    Dresden
    Umfrage Formular an Datenbank
    #2      
  3. finnweis

    finnweis übt

    Dabei seit:
    16.09.2008
    Beiträge:
    632
    Geschlecht:
    männlich
    Ort:
    Köln
    Software:
    Production CS3, Sam Pro Suite X2, Sony Vegas Pro 13
    Umfrage Formular an Datenbank
    AW: Umfrage Formular an Datenbank

    Danke für die schnelle Antwort!!! Naja, ich habe ja schon befürchtet, dass das nicht mit "mal eben" funktioniert, aber kann mir open office base nicht direkt den Quellcode schreiben: wenn ich für jedes Feld einen individuellen Namen vergebe und irgendwo angebe, dass die Method "post" sein soll, dass ich dann einfach nur noch irgendwo meine Server Zugangsdaten zur Datenbank eingebe, die nirgendwo im Quelltext auftauchen?

    Nutze z.B. auch WebPlus von Serif. Serif ist zwar nicht gerade dafür bekannt, Profi Tools zu entwickeln, bisher war ich aber mit den Ergebnissen sehr zufrieden: es sah auf allen Browsern so aus, wie ich wollte, und die Bedienung war genau so, wie ich mir das beim Gestalten vortstellte. GoLive z.B. fand ich nicht gerade intuitiv, FrontPage baut zu viel schwachsinnnscode da rein, mit Magix kann man nichts wirklich individuelles erstellen, und OpenOffice Base fehlt (oder ich habe es noch nicht gefunden) die Möglichkeit das Ganze ernsthaft an Provider wie Strato anzubinden.

    Muss ich das wirklich alles händisch programmieren? Gibt es da kein "Cliqui-Bunt"-Programm, das Anwenderfreundlich mit einem Assistenten, Leitfaden oder was auch immer, einen einfach auffordert Daten einzugeben und dann anschließend die Möglichkeit bietet alles ein bissel nett zu gestalten?

    Habe leider eben keinen eigenen Webserver sondern nutze Strato, da sind die Möglichkeiten arg beschränkt...
     
    #3      
  4. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.856
    Geschlecht:
    männlich
    Ort:
    Dresden
    Umfrage Formular an Datenbank
    AW: Umfrage Formular an Datenbank

    Geht es dir nur um Umfragen (so wie der Titel andeutet), oder allgemein um Formulare? Für ersteres hatten wir kürzlich einen Thread mit ausreichend Vorschlägen. Für letzteres könntest du dir entweder CMSe anschauen, oder wenn du noch tiefer reingehen willst ein PHP Framework wie CakePHP.


    Duddle
     
    #4      
  5. MegaAdi

    MegaAdi Freak

    1
    Dabei seit:
    20.11.2009
    Beiträge:
    610
    Geschlecht:
    männlich
    Ort:
    Görlitz
    Software:
    Rassierwasser vom Lidl :D
    Umfrage Formular an Datenbank
    AW: Umfrage Formular an Datenbank

    Das wäre schonmal gut. Andernfalls könntest du auch SQLite verwenden (Da werden die Daten als fiktive Datenbank als Datei gespeichert).

    darüber brauchst du dir keine Sorgen machen... PHP-Code ist nie einsehbar. Nur das Ergebnis was du ausgeben lässt wird angezeigt.



    zur SQL:
    Code (Text):
    1. CREATE TABLE  `familienmitglieder` (
    2. `id` SMALLINT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    3. `name` VARCHAR( 20 ) NOT NULL ,
    4. `vorname` VARCHAR( 20 ) NOT NULL ,
    5. `alter` TINYINT( 3 ) NOT NULL ,
    6. `geburtstag` TIMESTAMP NOT NULL ,
    7. `hobbies` TEXT NOT NULL ,
    8. `mitteilung` TEXT NOT NULL
    9. )
    das Formular (Das fügst du dann oben noch in die familie.php mit ein!):
    HTML:
    1. <form name="familienmitglieder" action="familie.php" method="post">
    2. Name: <input type="text" name="name" /><br />
    3. Vorname: <input type="text" name="vorname" /><br />
    4. Geburtstag: <input type="text" name="ge*****tag" />(DD.MM.YYYY)</br>
    5. Hobbies: <br />
    6. <textarea name="hobbies" cols="50" rows="10"></textarea><br />
    7. Mitteilung: <br />
    8. <textarea name="mitteilung" cols="50" rows="10"></textarea><br />
    9. <input type="hidden" name="submit" value="1" />
    10. <input type="submit" value="Absenden" />
    11. </form>
    12.  
    zum PHP:

    speichern unter: familie.php
    PHP:
    1.  
    2. <?php
    3. $con = mysql_connect("host","db_user","db_password") or die ("Verbindung zur datenbank fehlgeschlagen");
    4.  
    5. $db = mysql_select_db("datenbankname", $con) or die ("Datenbank wurde nicht gefunden");
    6.  
    7. if(isset($_POST['submit']))  //hier überprüfen wir ob das Formular abgeschickt wurde
    8. {  //wenn Ja: dann speichern wir die eingaben in variablen:
    9.   $name = $_POST['name'];
    10.   $vorname = $_POST['vorname'];
    11.   $day = explode(".",$_POST['geburtstag']);
    12.   $geburtstag = mktime(0, 0, 0, $day[1], $day[0], $day[2]);
    13.   $hobbies = $_POST['hobbies'];
    14.   $mitteilung = $_POST['mitteilung']
    15.  
    16.   $sql = "INSERT INTO 'familienmitglieder' ('name', 'vorname', 'geburtstag', 'hobbies', 'mitteilung') VALUES ('".$name."', '".$vorname."', '".$geburtstag."', '".$hobbies."', '".$mitteilung."')";
    17.   if(!mysql_query($sql)) //überprüfen ob die Datenbank-Abfrage erfolgreicht ist
    18.     {
    19.       echo "Fehler beim Einragen in die Datenbank! - " . mysql_errno() . ": " . mysql_error(). "\n";   //wenn nicht wird der Fehler und der Fehlercode ausgegeben. Hilft zur Fehlersuche.
    20.     }
    21. }
    22.  
    23. else // wenn nichts abgeschickt wurde dann lassen wir die Datensätze ausgeben
    24. {
    25.   $sql = "SELECT * FROM 'familienmitglieder' ORDER BY 'id' DESC"; //hier lassen wir uns alle (*) Datensätze aus der Tabelle "familienmitglieder" ausgeben
    26.   $res = mysql_query($sql) // DB-Abfrage
    27.   echo "<table><tr><td>Name</td><td>Geburtstag</td><td>Hobbies</td><td>Mitteilung</td></tr>";
    28.   while($data = mysql_fetch_array($res))
    29.   {
    30.     echo "<tr>";
    31.     echo "<td>" . $data['vorname'] . " " . $data['name'] . "</td>";
    32.     echo "<td>" . date("d.m.Y", $data['geburtstag']) . "</td>";
    33.     echo "<td>" . $data['hobbies'] . "</td>";
    34.     echo "<td>" . $data['mitteilung'] . "</td>";
    35.     echo "</tr>";
    36.   }
    37.   echo "</table>";
    38. }
    39.  
    40.  
    41. ?>


    Das müsste funktionieren! Ich habs nicht getestet!
    Ich hoffe ich habe dir damit den richtigen Denkanstoß gegeben und du kommst ab jetzt alleine klar! Wenn nicht, melde dich einfach nochmal!

    Gruß Adrian


    EDITH frägt sich gerade: Warum zur Hölle wird Geburtstag (im html-code) Als Sternchen dargestellt? :O ergibt garkeinen Sinn... Naja egal :D
     
    Zuletzt bearbeitet: 27.03.2011
    #5      
  6. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.856
    Geschlecht:
    männlich
    Ort:
    Dresden
    Umfrage Formular an Datenbank
    AW: Umfrage Formular an Datenbank

    Das ist falsch. Falls der Webserver fehlerhaft konfiguriert oder PHP abgeschmiert ist, werden PHP-Dateien als Klartext übermittelt.

    Ein über-sensibler Bad-Word-Filter ("Miss-G.e.b.u.r.t").


    Duddle
     
    Zuletzt bearbeitet: 27.03.2011
    #6      
  7. finnweis

    finnweis übt

    Dabei seit:
    16.09.2008
    Beiträge:
    632
    Geschlecht:
    männlich
    Ort:
    Köln
    Software:
    Production CS3, Sam Pro Suite X2, Sony Vegas Pro 13
    Umfrage Formular an Datenbank
    AW: Umfrage Formular an Datenbank

    wow, vielen Dank! Dann habe ich wieder was zu lesen und zu basteln. Da ich immer nur so "nebenbei" dazu komme, kann es sein, dass ich mich mit meinen nächsten Fragen in 2 Wochen hier wieder melde, aber das ist auf alle Fälle schon mal ein prima Startpunkt, danke Euch Beiden!
     
    #7      
  8. MegaAdi

    MegaAdi Freak

    1
    Dabei seit:
    20.11.2009
    Beiträge:
    610
    Geschlecht:
    männlich
    Ort:
    Görlitz
    Software:
    Rassierwasser vom Lidl :D
    Umfrage Formular an Datenbank
    AW: Umfrage Formular an Datenbank

    @ finnweis: gerne doch!

    @ duddle: naja davon sollte man mal nich ausgehen ;) aber stimmt... wenn php fehlerhaft ausgeführt wird dann wirds als klartext angezeigt... hab ich aba noch nie gesehen :D

    Gruß Adrian
     
    #8      
Die Seite wird geladen...
© 2002 - 2016 PSD-Tutorials.de – ein Projekt mit der 4eck Media GmbH & Co. KG
x
×
×