Hallo zusammen,
da ich normalerweise nicht in HTML / PHP programmiere, fehlt mir noch ein wenig die Idee zu folgendem Problem:
Für meine Freundin soll ich eine Onlineumfrage programmieren. Das heisst, wir haben (simplifiziert *g) eine Seite mit Fragen und Radiobuttons like "das ist der fall / das ist nicht der fall" (kennt ihr ganz sicher von so Psycho-Online-Umfragen). Dieses Formular mit, im Moment, 5 Fragen übergebe ich einfach mit POST an ein PHP Script (index.html mit Formular --> function.php).
Diese Art der Übergabe funktioniert jetzt einwandfrei. Allerdings muss ich die Fragen auf ein paar Seiten verteilen. Das Problem: das PHP Script function.php geht automatisch alle POST Variabeln durch und baut danach eine CSV Datei auf.
Hier mal der Quellcode:
onlineumfrage_page1.html:
function.php:
Ich hoffe ihr könnt mir einen Tipp geben, wie ich das Ding am besten weiter ausbaue um weiterhin automatisiert die Datei zu schreiben.
Vielen dank im Voraus.
BTW: Die Fragen sind nicht ausgearbeitet. Es ist also nur zu debug und Testzwecken irgendwelcher unsinn dadrin.
Havoc][
da ich normalerweise nicht in HTML / PHP programmiere, fehlt mir noch ein wenig die Idee zu folgendem Problem:
Für meine Freundin soll ich eine Onlineumfrage programmieren. Das heisst, wir haben (simplifiziert *g) eine Seite mit Fragen und Radiobuttons like "das ist der fall / das ist nicht der fall" (kennt ihr ganz sicher von so Psycho-Online-Umfragen). Dieses Formular mit, im Moment, 5 Fragen übergebe ich einfach mit POST an ein PHP Script (index.html mit Formular --> function.php).
Diese Art der Übergabe funktioniert jetzt einwandfrei. Allerdings muss ich die Fragen auf ein paar Seiten verteilen. Das Problem: das PHP Script function.php geht automatisch alle POST Variabeln durch und baut danach eine CSV Datei auf.
Hier mal der Quellcode:
onlineumfrage_page1.html:
PHP:
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3 <html>
4 <head>
5 <!-- META DATEN -->
6 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
7 <meta name="robots" content="noindex">
8 <meta name="author" content="a">
9 <meta name="author" content="a">
10 <meta name="author" content="a">
11
12 <!-- TITEL -->
13 <title>Onlineumfrage - Uni Mannheim / Psychologie</title>
14
15 <!-- Sytelsheet -->
16 <link rel="stylesheet" type="text/css" href="ou_style.css">
17 </head>
18 <body>
19 <!-- ÜBERSCHRIFT -->
20 <!-- <h1 align="center"> Psychologieprojekt </h1> -->
21 <!-- <p align="center"><img src="psychoform.png" alt="PsychoForm"></p> -->
22 <!-- <p align="center"><img src="psychoform_oldpic_script.png" alt="PsychoForm"></p> -->
23 <p align="center"><img src="onlineumfrage.png" alt="Onlineumfrage"></p>
24
25 <br><br>
26
27 <!-- TABELLE & FRAGEN -->
28 <form action="ou_func.php" method="post">
29 <table align="center" width="90%" border="0">
30 <tr>
31 <td colspan="2">
32 <h3> Bitte nehmen Sie sich kurz Zeit, und beantworten Sie diesen Fragebogen.<br>
33 Ich bedanke mich bereits jetzt für Ihre Mithilfe. </h3>
34 </td>
35 </tr>
36
37 <tr>
38 <td colspan="2"> <hr> </td>
39 </tr>
40
41 <tr>
42 <td width="50%"> <b>Unter welchem Geschlecht leiden Sie?</b> </td>
43 <td width="50%"> <input type="radio" name="q1" value="1"> Männlich <br>
44 <input type="radio" name="q1" value="2"> Weiblich <br>
45 <input type="radio" name="q1" value="3"> Programmierer <br></td>
46 </tr>
47
48 <tr>
49 <td colspan="2"> <hr> </td>
50 </tr>
51
52 <tr>
53 <td width="50%"> <b> Wie alt sind Sie? </b> </td>
54 <td width="50%"> <input type="text" size="5" name="q2"> </td>
55 </tr>
56
57 <tr>
58 <td colspan="2"> <hr> </td>
59 </tr>
60
61 <tr>
62 <td width="50%"> <b> Welches Obst mögen Sie?</b> </td>
63 <td width="50%">
64 <input type="checkbox" name="q3[]" value="1"> Schokolade<br>
65 <input type="checkbox" name="q3[]" value="2"> Hanuta<br>
66 <input type="checkbox" name="q3[]" value="3"> Testaa<br>
67 <input type="checkbox" name="q3[]" value="4"> tt<br>
68 <input type="checkbox" name="q3[]" value="5"> Joghurt<br>
69 </td>
70 </tr>
71
72 <tr>
73 <td colspan="2"> <hr> </td>
74 </tr>
75
76 <tr>
77 <td width="50%"> <b> Wie schätzen Sie sich ein?</b> </td>
78 <td width="50%">
79 <input type="checkbox" name="q4[]" value="1"> Stabil<br>
80 <input type="checkbox" name="q4[]" value="2"> Fahrrad<br>
81 <input type="checkbox" name="q4[]" value="3"> Auto<br>
82 <input type="checkbox" name="q4[]" value="4"> Birne<br>
83 <input type="checkbox" name="q4[]" value="5"> Cola<br>
84 </td>
85 </tr>
86
87 <tr>
88 <td colspan="2"> <hr> </td>
89 </tr>
90
91 <tr>
92 <td width="50%"> <b> Auf welcher Uni waren Sie?</b> </td>
93 <td width="50%">
94 <select name="q5[]" size="5" multiple>
95 <option value="1">Mannheim</option>
96 <option value="2">Karlsruhe</option>
97 <option value="3">Dresden</option>
98 <option value="4">Berlin</option>
99 <option value="5">Kölleee!</option>
100 </select>
101 </td>
102 </tr>
103
104 <tr>
105 <td colspan="2"> </td>
106 </tr>
107
108 <tr align="center">
109 <td colspan="2"> <input type="submit" value="OK"> </td>
110 </tr>
111
112 <tr align="center">
113 <td colspan="2"> <input type="reset" value="Reset"> </td>
114 </tr>
115 </table>
116 </form>
117
118 <br><br>
119
120 <p align="left">
121 <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional" height="31" width="88" border="0 "></a>
122 </p>
123 </body>
124 </html>
PHP:
1 <html>
2 <body>
3 <?php
4 $filename = "onlineumfrage.cvs";
5 $ueberschrift = "ID;";
6 $datensatz = "";
7 $datenarray = "";
8 $zaehlerid = 1;
9 $irgendwas = "";
10
11 try
12 {
13 if (!file_exists($filename))
14 {
15 // Wenn die Datei noch nicht existiert, Überschrift erstellen.
16 $datei = fopen($filename,"w+");
17 for ($i = 1; $i <= count($_POST); $i++)
18 {
19 $ueberschrift .= "q".$i.";";
20 }
21 fwrite($datei, $ueberschrift . "IP Adresse" . "Hostname" . "Uhrzeit" . "Datum" . "\n");
22 } else
23 {
24 // Wenn die Datei schon existiert, nur öffnen.
25 $datei = fopen($filename,"a+");
26 }
27
28 // Datei an den Anfang setzten...
29 fseek($datei, 0, SEEK_SET);
30
31 // ID raussuchen...
32 while(!feof($datei))
33 {
34 fgets($datei);
35 $zaehlerid++;
36 }
37
38 // Wieder ans Ende setzten.
39 fseek($datei, 0, SEEK_END);
40
41 // ID setzten...
42 $datensatz .= ($zaehlerid) . ";";
43
44 // Datensätze in String schreiben...
45 for ($i = 1; $i <= count($_POST); $i++)
46 {
47 if(is_array($_POST["q".$i]))
48 {
49 $datenarray = "";
50 for ($z=0; $z < count($_POST["q".$i]); $z++)
51 {
52 $datenarray .= $_POST["q".$i][$z] . ",";
53 }
54
55 $datensatz .= substr($datenarray,0,strlen($datenarray) -1) . ";";
56 } else
57 {
58 $datensatz .= $_POST["q".$i] . ";";
59 }
60 }
61
62 // String mit Datensätzen in Datei schreiben...
63 fwrite($datei, $datensatz . $HTTP_SERVER_VARS["REMOTE_ADDR"] . ";" . gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]) . ";" . date("H:i:s") . ";" .date("d.m.Y") . ";" . "\n");
64
65 // Datei schließen
66 fclose($datei);
67
68 // "Vielen Dank" - Ausgeben...
69 echo "<h1 align=\"center\"> Vielen dank für Ihre Mithilfe.</h1><br>";
70 echo "<h2 align=\"center\"> Ihre ID lautet: " . $zaehlerid . "<br><br><br>";
71 echo "<p align=\"center\"> Sie können das Fenster jetzt schließen.</p>";
72 } catch (Exception $e)
73 {
74 echo "<h2 align=\"center\" color=red> FEHLER! Ihr Onlinefragebogen wurde nicht gespeichert. Es ist folgender Fehler aufgetreten: " . $e->getMessage();
75
76 }
77 ?>
78 </body>
79 </html>
Vielen dank im Voraus.
BTW: Die Fragen sind nicht ausgearbeitet. Es ist also nur zu debug und Testzwecken irgendwelcher unsinn dadrin.
Havoc][