Scriptproblem: PHP verändert Code

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

  • Scriptproblem: PHP verändert Code

    Hallo,
    bei meinem Umfragescript ergibt sich im Quelltext folgender Code: <input type='radio' name='ergebnis' value='0'> Super<br>
    Beim Validieren wird zum einen das Leerzeichen vor "super" und der falsche Zeilenumbruch (richtig <br /> beanstandet.
    Wie muss ich den Code in der Zeile
    echo "<input type='radio' name='ergebnis' value='$key'\/>$eintrag<br />\n";
    richtig eingeben, damit keine Beanstandungen kommen.

    Der Code im Script

    PHP-Code:
    auswahl = array("Super","Sehr Gut","Gut","Naja","Schlecht");
    $anzahl = count($auswahl);
    ?>
    <h3><?php echo $thema ?></h3>
    <form method='post' action='<?php echo $PHP_SELF?>'>
    <p>
    <?php
    foreach ($auswahl as $key=>$eintrag) {
        echo 
    "<input type='radio' name='ergebnis' value='$key'\/>$eintrag<br />\n";
    wird bei der Ausführung zu
    Code:
    <form method='post' action='/demo_gila/index.htm'>
    <p>
    <input type='radio' name='ergebnis' value='0'> Super<br>
    <input type='radio' name='ergebnis' value='1'> Sehr Gut<br>
    <input type='radio' name='ergebnis' value='2'> Gut<br>
    <input type='radio' name='ergebnis' value='3'> Naja<br>
    <input type='radio' name='ergebnis' value='4'> Schlecht<br>
    </p>
    <input type='submit' value='Abstimmen'></form>
    Danke für eure Hife und
    viele Grüße
    Dietmar

  • #2
    also - spontan find ich keinen Fehler,
    probiers aber mal so (schon allein wegen der Übersichtlichkeit):

    PHP-Code:
    echo '<input type="radio" name="ergebnis" value="'.$key.'" />'.$eintrag.'<br />'
    Die Attribute müssen bei html-Tags in doppelten Anführungszeichen stehen.

    Kommentar


    • #3
      Hallo,

      ich habe den Code nach deinem Vorschlag abgeändert; das Ergebnis bleibt leider gleich.

      Du kannst dir den Quelltext unter http://www.dietmar-feuerer.de/demo_gila/index.htm ansehen.

      LG Dietmar

      Kommentar


      • #4
        Re: Scriptproblem: PHP verändert Code

        Original geschrieben von jdgf
        Beim Validieren wird zum einen das Leerzeichen vor "super" und der falsche Zeilenumbruch (richtig <br /> beanstandet.
        Als ob das alles wäre - die genannte Seite enthält aktuell 23 Fehler.

        Zuerst mal
        Code:
        <link rel="stylesheet" href="/demo_gila/css/layout_rot
        </head>
        nanu, was ist das denn?

        Daraus dürften einige der folgenden Fehler resultieren.

        Der Code im Script [...] wird bei der Ausführung zu [...]
        Das halte ich für kaum wahrscheinlich.

        Entweder hast du den Code an der falschen Stelle geändert, oder noch irgendwas anderes - im Script oder sonstwo - wirkt anschließend auf die Daten ein.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hallo,

          ich habe die Seite jetzt aufgeräumt und es bleiben nur noch die Fehler von dem Script (12 Stück). Hier ist der komplette Code..ich weiß mir keine Lösung habe schon überall im internet gesucht.

          PHP-Code:
          <?php
          if (isset($_POST["ergebnis"])) {
              
          // Aktuelle Sperre 1 Minute
              // 30 Tage Sperre time()+60*60*24*30
              
          setcookie("abgestimmt","ja",time()+5);
          }

          $thema "Wie findest du die Gestaltung der Kolpingpage";
          $auswahl = array("Super","Sehr Gut","Gut","Naja","Schlecht");
          $anzahl count($auswahl);

          ?>


          <h3><?php echo $thema ?></h3>
          <form method='post' action='<?php echo $PHP_SELF?>'>
          <p>
          <?php

          foreach ($auswahl as $key=>$eintrag) {
              
          //echo "<input type='radio' name='ergebnis' value='$key'> $eintrag<br>\n";
              
          echo '<input type="radio" name="ergebnis" value="'.$key.'" />'.$eintrag.'<br />';
          }

          ?>
          </p>
          <?php
          if (empty($_COOKIE["abgestimmt"]) && !isset($_POST["ergebnis"])) {

          // Submit nur zeigen, wenn Formular noch nicht abgeschickt wurde
          echo "<input type='submit' value='Daten senden'>";

          } else {
          echo 
          "<p>Danke für die Übermittlung der Daten!</p>\n";

          // Formular abgeschickt? Aber bisher noch nicht abgestimmt?
          if (empty($_COOKIE["abgestimmt"]) && isset($_POST["ergebnis"])) {

          // Dateiname in Variable speichern
          $datei="/kolping/umfrage/daten/stimmen.txt";

          // Datei vorhanden?
          if (file_exists($datei)) {
              
          $fp=fopen($datei,"r+");
          } else {
              
          $fp=fopen($datei,"w");
          }

          // Datei einlesen
          $stimmen=fread($fp,filesize($datei));

          // String aus Datei in Array zerlegen
          $stimmen=explode(",",$stimmen);

          // Der gewählte Punkt wird um 1 erhöht!
          $stimmen[$_POST["ergebnis"]]++;

          // Stimmen in einem String zusammensetzen
          for ($i=0;$i<$anzahl;$i++) {
              
          $total .= $stimmen[$i] .",";
          }

          // Neuen String in Datei schreiben
          rewind($fp);
          fputs($fp,$total);
          fclose($fp);
          }
          }

          ?>
          </form>
          Gruß,
          Dietmar

          Kommentar


          • #6
            PHP-Code:
            echo "<input type='submit' value='Daten senden'>"
            setz die Anführungszeichen richtig ...

            Kommentar


            • #7
              Hallo,

              das Script ist einwandfrei. Ich habe allerdings den Fehler gemacht, dass das Script doppelt in der Website gespeichert war und der richtige Pfad auf das zweite -nicht im script-Ordner liegende- Script verwies.

              Ich habs leider erst gemerkt, als ich den <br />-Tag gelöscht habe und er im Quelltext trotzdem falsch erschien.

              Tut mir wahnsinnig leid, dass ich ich dich so strapaziert habe. Für deine Hilfe herzlichen Dank.

              Gruß
              Dietmar

              Kommentar

              Lädt...
              X