# Fragebogen mit HTML und PHP



## borish (14. Juli 2004)

Tach zusammen,
ich möchte einen Fragebogebogen mit HTML und PHP erstellen, der die Daten dann einfach in eine MYSQL Datenbank einträgt.
Der Frageboge ist auch schon fertig, dummerweise fehlt mir etwas am Grundlagenwissen. Wie bekomme ich denn die Daten des Fragebogens nun in die Datenbank ?
 grüsse vom bo


----------



## Ben Ben (14. Juli 2004)

In dem du a) irgendwen damit beauftragst dir das zu Coden oder
b) du dir selbst PHP-Kenntnisse aneignest und hierzu Konkrete Fragen zu Scripten stellst bzw. nach Tutorials oder Lösungsätzen suchst, 
da eine Frage wie ich von a) nach b) komme mit x Antworten beantwortet werden kann, was ja auch nicht sinn der Sache ist. Wenn du aber fragst wie komme ich mit dem Auto von a) nach b) geht das schon wesentlich konkreter.


----------



## borish (14. Juli 2004)

ok dann mach es ich es konkreter.
Also ich habe einen Fragebogen für eine Diplomarbeit. Das Ding ist sehr gross, im nur text-Format ist das Ding schon 280 kb gross. Es geht um eine Befragung von 3000 Journalisten.

Die einzelnen Antwortmöglichkeiten sind entweder Radio-Buttons oder Textfelder, welche alle mit Variablen versehen sind. Diese Variablen sollen nach Beendigung des Fragebogen als .txt-Datei auf den Server gesendet werden.
Doch das ist der springende Punkt. Wie geht das ? Was ist zu beachten ?
Gibt es eventuell ein Tutorial irgendwo ?
Gruss derbo


----------



## Samuel (14. Juli 2004)

http://de.php.net/fopen
hiermit kannst du dateien erstellen/lesen/schreiben

grüße Samuel


----------



## SilentWarrior (14. Juli 2004)

borish: Ich würde mir zweimal überlegen, das wirklich mit Textdateien zu machen. Wenn du es mit einer Datenbank machst, hast du a) den Vorteil, dass alles klar geordnet ist und du nicht hunderte (bzw. tausende) von Dateien auf dem Server hast und b) du diese jederzeit ausgeben bzw. mit bestimmten SQL-Abfragen Informationen herausfinden kannst, die du aus den Textdateien nur mit allergrösster Mühe herausbekommst.


----------



## Ben Ben (14. Juli 2004)

Ah, das ist schon konkreter...

dann würde ich mir Gedanken machen, wie ich erstmal die HTML-Oberfläche, sprich den Fragebogen gestalte. Da düfte dir erstmal selfhtml weiterhelfen.
Zu allgemeinen HTML-Sachen.
Dazu würde ich mir die Gedanken machen, welche Werte im Hintergrund in der Datenbank stehen sollen, um entsprechend die Auswertung zu machen (da ja nicht der gleiche Text, den der User zur Frage sieht, auch gespeichert werden soll - gehe ich mal von aus) und vor allem wie die Auswertung von statten gehen soll. Also quasi ein theoretiches Ablaufkonzept + Datenstruktur entwerfen.
Wenn dann die HTML-Oberfläche steht, würde ich mich damit befassen, vom Formular übergebene Daten auszulesen und zu speichern. Danach kann kann man dann noch über validierung der Daten nahdenken.

Zum auslesen der Parameter von Formularen, je nach Transfermethode (POST / GET) geschieht dies über die SuperglobalenArrays $_POST, $_GET bzw. $_REQUEST <- Kombination aus GET und POST. Der Zugriff auf den Paramter test, der an die URL (z.B. index.php?test=bla) angehängt wird wäre dann $_GET['test']....
Zur Datenbankverbindung wären
mysql_connect()
mysql_select_db()
mysql_query() <- Ausführen eines Statements
hilfreich.
Auslesen von SELECT Abfragen würdest du mit z.B. mysql_fetch_assoc (oder beliebigen anderen mysql_fetch... Funtkionen machen.
Für die genaue Verwendung der Funktionen findest du in der Befehlsreferenz von http://www.php.net gute Unterstützung.
Eine weitere Anlafustelle für Fragen wäre evtl. auch http://www.dclp-faq.de/

Hast du denn schon eine Webserver,PHP,mySQL Umgebung auf deinem Rechner geschaffen?


----------



## borish (14. Juli 2004)

Den Frageboge habe ich in 43 Unterkategorien gegliedert, welche mit Ankern verlinkt sind.
kann man hier mal anschauen (UNFORMATIERT) 
Der Bogen ist unformatiert, da ich die css-Datei mal wieder lokal gelinkt habe und momentan auffe Arbeit bin und da nichts uploaden kann.
Variablen sind ebenfalls noch keine drin.
Könnt mir ja Tipps zur Usability geben

Achso habe das xampp-Package installiert


----------



## Ben Ben (14. Juli 2004)

Usability soweit ok... Sehr elegant wäre es natrülich wenn jede Frage auf einer Extra-Seite ist, oder Themenblöcke wobei das für einen "Newbie" wenn ich dich mal so bezeichnen darf einiges Mehraufwand wäre dann auch das entsprechende Navigieren inklusive der Datenübergabe. Hierzu könntest du dir dann mal das Session-Tutorial anschauen.
Aber im Prinzip kann man das auch durchaus so lassen, wie es auf der Seite ist, ausser das ich vielleicht die Abstände zwischen den Fragen grösser machen würde, am besten mit einem Bild (1x1 Pixel transparent), das du auf die Abstandshöhe streckst, damit man auch bei 17"TFT mit 1280x1024 das Gefühl hat, von einer auf die nächste Seite zu springen....

Wieviel spielt denn das Layout und die usability in die Berwertung mit rein?


----------



## borish (14. Juli 2004)

Ja, das hatte ich zuerst geplant.
das sah dann so aus 
dann hatte ich aber eben das Problem, das ich 43 soviel Arbeit hätte mit dem Auslesen der Daten.

Design ist schon wichtig, es soll schlicht und elegant wirken und nicht zu bunt


----------



## borish (15. Juli 2004)

Jo, Back in the Arena,
also ich habe jetzt mal eine AUswertungsdatei geschrieben, doch irgendwie schreibt der Bube da nichts rein. Ich habe auch das Problem wie ich die Variablen im HTML-Code bennenen soll, was ist denn der das entscheidende name oder value
	
	
	



```
<?php

$undlos=$_POST['undlos'];
if($undlos == 1)
{
$datei = "txt/angaben.txt";
$undlos = $_POST['undlos'];
$v1 = $_POST['1'];


  $fp = @fopen($datei,"a+");

  $newDate = date("d.m.Y");
  $newTime = date("H:i");

  $data = "($newDate/$newTime): $v1, \n\r";

  @fputs($fp,$data);
  @fclose($fp);


?>
<html>
<title>Sportjournalist 2004 - Ergebnisse abschicken</title>
<body>



<table align="center" style="font-family: verdana, arial; font-size: 11px;">
  <tr><td>&nbsp;</td></tr>
  <tr>
    <td>Vielen Dank! Ihr Fragebogen wurde erfolgreich abgeschickt!</td>
  </tr>
</table>
</body>
</html>
<?php
}
else
{
?>
<html>
<title>Sportjournalist 2004 - neuer Versuch</title>
<body>

<table align="center" style="font-family: verdana, arial; font-size: 11px;">
  <tr><td>&nbsp;</td></tr>
  <tr>
    <td>Bitte gehen Sie auf die folgende Seite:</td>
  </tr>
  <tr>
    <td><a href="umfrage.html">Zur Umfrage</a></td>
  </tr>
</table>
</body>
</html>
<?php
}
?>
```

Wie komme ich denn jetzt an die Daten


----------



## Ben Ben (15. Juli 2004)

folgendermassen. Der Name ist der der dann auszulesen ist und die Value ist der Wert den du auslesen willst. Das war was ich in vorhergehenden Posts bereits angesprochen habe das du dir für die values gedanken machen musst wie du deine Werte so speicherst, dass du sie einfach auswerten kannst, sie aber auch problemlos den "Langtexten" die der User sieht, zuordnen kannst.


```
<input type="radio" name="ich_bin_ein_feld" value="ich_bin_ein_wert" />wert


echo $_POST['ich_bin_ein_feld'];
//gibt dann "ich_bin_ein_wert" aus....
```

Ic


----------

