PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übergabe von Formulardaten an eine *.csv datei


PleXter
30.07.2006, 21:47:33
Hi Volkz,

ich hätt da mal n Problem...und zwar...

muss ich aus einem Onlinefragebogen irgendwie alle Daten in eine *.csv Datei schreiben lassen die mir dann zugeschickt werden sollte damit ich diese in SPSS einlesen kann.

Hab mir jetzt schon vieles durchgelesen aber ich finde einfach keinen Anfang!
Die HTML-Struktur steht bereits und wer es sich mal zur Verdeutlichung meines Problemes zu Gemüte führen will der findet es unter www.cori.dynamicpaintball.de (http://www.cori.dynamicpaintball.de)!

Ich hoffe ich finde hier Hilfe und mir gibt jemand nen guten Rat wie man solch eine Sache angeht!


greetz
Maik

zepol
31.07.2006, 00:39:50
Also wenn ich dich richtig verstehe möchtes du die Informationen jeder Umfrage in eine .cvs Datei schreiben. Also eine Datei mit allen Umfragedaten.

Dafür nimst du alle eingegeben Informationen und baust dir daraus einen String den du dan an deine .cvs Datei anhängst. Eine CVS Datei ist ja eine reine Textdatei dessen Zeilen durch Trennzeichen zu Spalten bzw Zellen unterteilt sind. Für deinen String nimmst du also jeweils eine Variable mit Informationen dann das Trennzeichen wieder eine Variable, Trennzeichen und so weiter ($string=$a.'Trennzeichen'.$b.'Trennzeichen'). Dann nur noch an die .cvs Datei anfügen (fopen('datei', 'a'); fputs(dateihandel, string); fclose();)

mfg Zepol

PleXter
31.07.2006, 08:48:13
Moin...!

Japp, das ist genau das was ich wollte! Das Problem ist...ich hätte wohl dazu sagen müssen das ich absoluter PHP noob bin!

Ich hab einfach zu viele Fragen die mir irgend welche Bücher nicht beantworten können weil es dort viel zu allgemein erklärt ist.

Mal ein Beispiel: Was mache ich wenn wie bei meiner Umfrage, die einzelnen Fragen über mehrere Seiten verteilt sind?

Also Frage beantworten und auf nächste Seite klicken dann wieder Frage beantworten!
Wenn jetzt jemand wärend der Umfrage auf den Back-Button klickt, was passiert dann mit den schon gespeicherten daten?


Ok und was mir mega helfen wüde wäre, wenn mir jemand beim schreiben der ersten Auswahlfrage helfen würde:

Mein Htmlcode dazu sieht bisher folgendermaßen aus...


<td>
<formname="Frage1"method="post"action="scriptphp">
<divalign="center">
<select name="select" name="frage1[]">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</div>
</form>
</td>
<td>
<div align="center">
<select name="select2" name="frage2[]">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</form>
</div>
</td>
<td>
<div align="center">
<select name="select3" name="frage3[]">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</form>
</div>
</td>
<td>
<div align="center">
<select name="select4" name="frage4[]">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</form>
</div>
</td>
<td>
<div align="center">
<select name="select5" name="frage5[]">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
</form>
</td>
">

wie muss ich jetzt hier die Namen vergeben wenn es sich um eine Frage mit mehreren hintereinander geschalteten Antwortmöglichkeiten handelt?


Wäre super wenn sich jemand die Mühe machen würde!

zepol
31.07.2006, 10:55:49
Also, bei dir sind schon mal ein paar Fehlerchen. Das "form" Tag wird am Anfang geöffnet und erst ganz am Schluss wieder geschlossen. Die "option" Tags benötigen noch ein "value" Feld. Also müsste das ungefähr so aussehen:



<td>
<form name="Fragen"method="post"action="script.php">
<div align="center">
<select name="frage1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage4">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage5">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</form>
</td>


Die Variable, die bei den "select" erzeugt wird heißt jeweils "frage1" etc. und dessen Inhalt ist jeweils das was bei der ausgewählten "option" bei "value" steht.

Wenn du mit mehreren Seiten arbeiten möchtest/musst, so kannst du z.B. die Informationen jeweils in "versteckten" (hidden) Feldern speichern.

PleXter
31.07.2006, 18:48:01
Ok...ich glaub jetzt hab ich was worauf ich aufbauen kann!

Nur fällt mir gerade auf, daß mir noch was ganz entscheidendes fehlt! Und zwar wird immer nur davon gesprochen die Variablen an das "Skript" zu übergeben...bloß...wie sieht das aus *dummkuck*
Also die Funktion die die Variablen speichert und dann per eMail verschickt!?

zepol
01.08.2006, 09:56:16
Auf der nächsten Seite mit Fragen machst du versteckte Textfelder mit value="<php echo "$_POST['Variabledieduhierspeichernmöchtest']"; ?>" zum verschicken per Mail schau dir z.B. mal die mail() an.

PleXter
14.08.2006, 19:14:51
Servus,

naja...jetzt hab ich an der sch**** schon n paar Tage rumgebastelt -> leider ohne wirklichen Erfolg!
Bin inzwischen umgestiegen und hab die Übergabe zwischen den Seiten mit Sessions versucht!
Ich bin aber schon daran gescheitert, das ich nicht weiß wie ich die Variablen aus den einzelnen Formtags in die Session speichere.

Ich bin echt am verzweifeln!

Wie muss denn der oben gepostete Code aussehn, wenn ich das ganze nicht an die "skript.php" übergebe sondern in ner session speichern will?

Weiß echt nimmer weiter!

PleXter
16.08.2006, 11:59:56
Ok, ich versteh schon...ich bin zu unkonkret...

...also, etwas konkreter...

auf meiner Indexseite starte ich die SESSION und setze die SESSIONVARIABLEN


<?php

// Session Starten
session_start();



// Session Variablen setzen

$_SESSION['Fragen'] = $_POST['Fragen'];

?>


Auf der 2ten Seite, die auf der das erste Formular ist, sieht folgendermaßen aus...



<body>

<?php

// Session Starten
session_start();


?>

<center><table width="800" border="1" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td><p align="left" class="Stil1">Im Folgenden finden Sie zehn Aussagen, die sich auf verschiedene Gruppen innerhalb Ihrer Organisation beziehen (Organisation, Kollegen und Mitarbeiter,...)
sowie auf Personengruppen aus Ihrem Privatleben (Familie und Freunde). Bitte beurteilen Sie jede dieser Aussagen f&uuml;r alle Gruppen danach, wie sehr sie auf Sie zutrifft.
Verwenden Sie hierf&uuml;r eine 6-stufige Skala von <strong>1= &quot;trifft absolut nicht zu&quot; bis 6= &quot;trifft voll und ganz zu&quot;</strong>. Bitte w&auml;hlen Sie jeweils die Zahl
in der dazugeh&ouml;rigen Spalte aus, die am ehesten Ihrer Beurteilung entspricht. </p> </td>
</tr>
<tr>
<td bordercolor="#000000" bgcolor="#66FFFF"><span class="Stil1"><strong>Beispiel:</strong><br>
<em>Die Aussage &quot;Meine ... hat einen guten Ruf&quot; bedeutet:<br>
&quot;Meine Organisation
hat einen guten Ruf&quot;<br>
Meine Kollegen und Mitarbeiter haben einen guten Ruf&quot;<br>
usw.
</p>
</em></span> <p class="Stil4">W&auml;hlen Sie in der Spalte &quot;Meine Organsiation&quot; eine Zahl zwischen 1 und 6 aus, je nachdem wie stark Sie der Aussage &quot;Meine Organisation
hat einen guten Ruf&quot; zustimmen; w&auml;hlen Sie in der Spalte &quot;Meine Kollegen
und Mitarbeiter&quot; eine Zahl zwischen 1 und 6 aus, je nachdem wie stark Sie der Aussage &quot;Meine Kollegen und Mitarbeiter haben einen guten Ruf&quot; zustimmen; usw.</p></td>
</tr>
</table>
<table width="800" border="1" align="center" bgcolor="#FFFFFF">
<tr bgcolor="#FFFFFF">
<td width="256" bordercolor="1"><div align="left"><span class="Stil1 Stil2 Stil5">1 = trifft absolut nicht zu <br>
2 = trifft nicht zu <br>
3 = trifft eher nicht zu <br>
4 = trifft eher zu <br>
5 = trifft zu <br>
6 = trifft voll und ganz zu </span></div></td>
<td width="108"><div align="left"><span class="Stil1">Meine Organisation</span></div></td>
<td width="101"><div align="left"><span class="Stil1">Meine Kollegen und Mitarbeiter</span></div></td>
<td width="97"><div align="left"><span class="Stil1">Meine Vorgesetzten </span></div></td>
<td width="98"><div align="left"><span class="Stil1">Meine Berufsgruppe </span></div></td>
<td width="100"><div align="left"><span class="Stil1">Meine Freunde und Familie </span></div></td>
</tr>
<tr>
<td><div align="left"><span class="Stil1">Wenn jemand ... kritisiert, dann f&uuml;hle ich mich pers&ouml;nlich angegriffen.</span></div></td>


<form name="Fragen" method="post" >
<td>
<div align="center">
<select name='frage1'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage4">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
</td>
<td>
<div align="center">
<select name="frage5">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</form>
</td>
</tr>
</table>
<p>&nbsp;</p>
<?php echo '<br><a href="2a.php?' . SID . '"> zur nächsten Aussage! </a>'; ?>
</center>
</body>


So, und auf der 3ten Seite versuche ich mir nur mal zum testen die Sessionvariable anzeigen zu lassen...


<?php

session_start();


echo $_SESSION['Fragen']."<br>";


?>


So und so wie ich das hier gemacht habe funktioniert überhaupt nichts.
Ich muss wissen, wie ich es hinbekomme aus dem Formular die Variablen auszulesen und in ne Sessionvariable zu schreiben.

Ach ja...die SessionID übergebe ich von Seite zu Seite über die URL.


Please help!

PleXter
21.08.2006, 18:32:48
Keiner ne Idee...weiß echt nimmer weiter!