[Variablen] Fragebogenproblem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Variablen] Fragebogenproblem

    Servus zusammen,
    ich programmiere momentan einen Fragebogen für eine Diplomarbeit.
    Oben gilt es einen Authorisierungscode einzugeben, und dann klickt man eben die
    gewünschten Variablen an. Der Code wird schön in die csv-Datei geschrieben, die
    Variablen aber nicht.


    Bin voll in Panik, da wir am Dienstag den Pre-Test machen wollen

    grüsse vom Bohier gehts zum Bogen

    und hier der PHP-Code
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>PHP-Newsletter-Abo</title>
    </head>
    <body>
    <?php
      $code
    =$HTTP_POST_VARS['code'];
      
    $v1=$HTTP_POST_VARS['I1_1'];
      
    $v2=$HTTP_POST_VARS['I1_2'];
      
    $v3=$HTTP_POST_VARS['I1_3'];
      
    $v4=$HTTP_POST_VARS['I1_4'];
      
    $v5=$HTTP_POST_VARS['I1_5'];
      
    $v6=$HTTP_POST_VARS['I2_1a'];
      
    $v7=$HTTP_POST_VARS['I2_1b'];
      
    $v8=$HTTP_POST_VARS['I2_1c'];
      
    $v9=$HTTP_POST_VARS['I2_1d'];
      
    $v10=$HTTP_POST_VARS['I2_1f'];
       
    $v11=$HTTP_POST_VARS['I2_1g'];

      
    $punkt=".";
      
    $dpunkt=":";
      
    $trenner=";";

      
    //Zuerst Datum und Uhrzeit generieren:
      
    $datum date("d");
      
    $datum .=$punkt;
      
    $datum .=date("m");
      
    $datum .=$punkt;
      
    $datum .=date("Y");
      
    $zeit date("G");
      
    $zeit .=$dpunkt;
      
    $zeit .=date("i");
      
    $zeit .=$dpunkt;
      
    $zeit .=date("s");

     
      
    //Jetzt einen neuen Datensatz erstellen:
      
      
    if ($v1=="") {
        
    $v1="-";
       }

      if (
    $v2=="") {
        
    $v2="-";
       }

    if (
    $v3=="") {
        
    $v3="-";
       }

     if (
    $v4=="") {
        
    $v4="-";
       }
     if (
    $v5=="") {
        
    $v5="-";
       }
     if (
    $v6=="") {
        
    $v6="-";
       }
     if (
    $v7=="") {
        
    $v7="-";
       }

     if (
    $v8=="") {
        
    $v8="-";
       }

     if (
    $v9=="") {
        
    $v9="-";
       }

     if (
    $v10=="") {
        
    $v10="-";
       }

     if (
    $v11=="") {
        
    $v11="-";
       }

      if (
    $code!="") {
        
    $datensatz $v1;
        
    $datensatz .= $v2;
        
    $datensatz .= $v3;
        
    $datensatz .= $v4;
        
    $datensatz .= $v5;
        
    $datensatz .= $v6;
        
    $datensatz .= $v7;
        
    $datensatz .= $v8;
        
    $datensatz .= $v9;
        
    $datensatz .= $v10;
        
    $datensatz .= $v11;

        
    $datensatz .= $trenner;
        
    $datensatz .= $code;
        
    $datensatz .= $trenner;
        
    $datensatz .= $datum;
        
    $datensatz .= $trenner;
        
    $datensatz .= $zeit;
        
    $datensatz .= "\n";

        
    //Jetzt den neuen Datensatz an das Ende
        //der Datei newsletter.csv anhängen...

        
    $bol=file_exists("newsletter.csv");
        if (
    $bol) {
          
    $datei fopen("newsletter.csv","a");
          if (
    $datei) {
            
    $output fwrite($datei,$datensatz);
            
    fclose($datei);
            print (
    "<p>Vielen Dank f&uuml;r Ihren Eintrag.<br>");
            print (
    "Sie bekommen den Newsletter jetzt regelm&auml;&szlig;ig zugeschickt<br>");
           }
          }
        else {
          print (
    "<p>Daten konnten nicht in die Datei geschrieben werden.<br>");
        }
       }
      else {
          print (
    "<p>bitte geben sie ihren code ein.<br>");
          print (
    "<a href='javascript:history.back()'>Zur&uuml;ck</a>");
       }   
    ?>
    </body>
    </html>

  • #2
    Welcome,

    Bin voll in Panik, da wir am Dienstag den Pre-Test machen wollen
    mag ja sein.

    Ich kann in dem Script leider keine Testausgaben entdecken. Woher willst du also wissen, ob die Variablen überhaupt werte haben.

    Kommentar


    • #3
      Die Variablen habe ich in der Html-Datei definiert, zumindest den ersten und zweiten Frageblock um es zu testen. Da es aber nicht lief habe ich nicht weiter codiert

      Kommentar


      • #4
        OffTopic:
        ich möchte dir an dieser stelle mal den titel 'bachelor of how to make an elephant out of a mouse' verleihen. nur spaß

        vielleicht solltest du den code mal in ein, zwei zeilen zusammenfassen ... viel mehr sinds wohl nicht ... macht auch das debuggen einfacher.
        Die Variablen habe ich in der Html-Datei definiert, zumindest den ersten und zweiten Frageblock um es zu testen. Da es aber nicht lief habe ich nicht weiter codiert
        was soll das denn heißen?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          pack mal in die umfrage_test.php ganz oben rein:
          PHP-Code:
          print_r($_POST); 
          dann gucken was rauskommt und dementsprechend den Code schreiben ...

          mfG
          CMS-X Medien- und Modelagentur

          Kommentar


          • #6
            Ok ich präzisiere nochmal mein Problem.
            Also wie schon erwähnt, habe ich einen Fragebogen programmiert, mit ziemlich vielen Formulardaten, welche entweder Radio-Buttons, Textfelder oder Checkboxen sind. Diese Daten sollen in eine csv-Datei abgespeichert werden, da so der Import in SPSS einfacher von statten geht.

            Dazu habe ich versucht, ein Script umzuschreiben, welches eigentlich für einen Newsletteradressen-Sammler gedacht war. Komischerweiser schreibt das PHP-Script, aber nur den Authorisierungscode in die csv-Datei.

            Wie bekomme ich es denn hin, dass die Formulardaten in die cvs-Datei gespeichert werden?

            Ich peil es irgendwie halt doch nicht

            Kommentar


            • #7
              @danield

              da kommt dieses heraus

              Array ( [code] => test12 [I1_1] => i11ja [textfield] => )

              was kann ich denn damit anfangen

              Kommentar


              • #8
                Das sind die Werte die dein Skript an den Server schickt.

                Es kommt also ein Wert für die Variable :

                code = test12

                und

                I1_1 =i11ja

                ...

                an. Steht nur der Code , also nur "test12" in der Datei ?

                Wenn ich mir den Quellcode deiner Seite ausgeben lasse, heißen bei Dir ab der Frage "Welche Recherchequellen nutzen Sie ?" alle Radiobuttons nur noch Radiobuttons und alle Textfelder nur noch textfield. Das geht so natürlich nicht, da musst du noch einzelne Namen vergeben.

                So sieht dein Quellcode für die erste Frage aus :

                PHP-Code:
                Glauben Siedass der Beruf des Sportjournalistender Sportjournalistin<br />

                gute Zukunftschancen hat ?</span></span><br />
                <
                br />
                <
                span class="haupttext">
                <
                input name="I1_1" type="radio" class="haupttext" value="i11ja" />
                sehr</span> <span class="haupttext">gute<br />
                <
                input name="I1_2" type="radio" class="haupttext" value="ja" />
                gute<br />
                <
                input name="I1_3" type="radio" class="haupttext" value="i13ja" />
                Teilsteils
                <br />
                <
                input name="I1_4" type="radio" class="haupttext" value="i14ja" />
                schlechte<br />

                <
                input name="I1_5" type="radio" class="haupttext" value="i15ja" /> 
                sehr schlechte
                <br /> 
                viel zu umständlich, mach das doch so :

                PHP-Code:
                ...

                <
                label><input type="radio" name="I1" value="sgt">
                    
                Sehr gut</label>
                    <
                br>
                    <
                label><input type="radio" name="I1" value="gut">
                    
                Gut</label>
                    <
                br>

                ... 
                Si benötigst du nur eine Variable für eine Frage und musst auch nur eine Variable überprüfen.
                Zuletzt geändert von ExInfernis; 17.07.2004, 18:01.

                Kommentar


                • #9
                  Ok ich präzisiere nochmal mein Problem.
                  Wie wärs wenn du statt dessen mal auf die anderen Beiträge eingehen würdest...

                  (nur mal ne idee)

                  Kommentar


                  • #10
                    Ja genau nur der Code steht in der Datei, sonst eben nur noch das Datum und die Zeit.

                    Die Lösung von Exinfernis sieht natürlich zehnmal besser aus, aber mir läuft etwas die Zeit davon.

                    Das die Radiobutton weiter unten noch keinen Namen haben, hängt damit zusammen, da ich erst mal den PHP-Code testen wollte bervor ich alle Radiobuttons bennene.

                    Kommentar


                    • #11
                      Also, hab das nun mal gestestet und deine erste Frage in eine extra Datei gepackt und mit deinem Skript überprüfen und in die Datei schreiben lassen, und es funktioniert.

                      In der Datei steht dann (nach zwei Eingaben) folgendes :

                      PHP-Code:
                      --i13ja--------;code1;17.07.2004;18:41:14
                      ----i15ja------;code1;17.07.2004;18:41:20 
                      Würde dir aber doch zu einer Optionsschaltergruppe raten, da man sonst auch mehrere Radiobuttons gleichzeitig anklicken kann, also "gut" und "Sehr gut".

                      Das ergibt im schlimmsten Fall (alle Buttons wurden angeklickt) folgenden Eintrag in der Datei :

                      PHP-Code:
                      i11jajai13jai14jai15ja------;code1;17.07.2004;18:45:15 

                      Kommentar


                      • #12
                        Stimmt, das ist mir auch schon aufgefallen. Ich werde das Ding jetzt glaube ich wohl oder übel nochmal neu proggen, dann mit einer MySQL-Anbindung, weil ein Kollege mir gerade gesagt hat, dass die Geschichte mit den CSV total gefährlich ist. Da muss nur einmal der File corrupt sein und alle Daten sind flöten.

                        Das gibt mal wieder ne schöne Nachschicht

                        Kommentar


                        • #13
                          weil ein Kollege mir gerade gesagt hat, dass die Geschichte mit den CSV total gefährlich ist. Da muss nur einmal der File corrupt sein und alle Daten sind flöten.
                          Ist bei SQL eigentlich genauso. nur ist da die gefahr geringer. Aber wenn man ein bisschen umsichtig mit den Daten umgeht, und die nicht löscht, bzw nicht außerhalb des verarbeitenden Programms öffnet, hast du nichts zu befürchten.

                          Wenn dein verarbeitendes Programm aber ne SQL-Schnittstelle hat, solltest du die auch nutzen!

                          Kommentar


                          • #14
                            Stimmt, das ist mir auch schon aufgefallen. Ich werde das Ding jetzt glaube ich wohl oder übel nochmal neu proggen, dann mit einer MySQL-Anbindung, weil ein Kollege mir gerade gesagt hat, dass die Geschichte mit den CSV total gefährlich ist. Da muss nur einmal der File corrupt sein und alle Daten sind flöten.

                            Das gibt mal wieder ne schöne Nachschicht

                            Kommentar


                            • #15
                              warum postest du das doppelt???

                              Kommentar

                              Lädt...
                              X