Ankündigung

Einklappen
Keine Ankündigung bisher.

Umfragescript

Einklappen

Neue Werbung 2019

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

  • Umfragescript

    Zunächst einmal die Frage wie ich ein Array in MySQL realisiere. Die NF schließt das doch eigentlich aus, oder?
    Bislang fiel mir nur die Lösung ein alles auf einen String zu schieben und die verschiedenen Elemente mit einem Sonderzeichen zu trennen und dann bei der Ausgabe die Größe dieses virtuellen Arrays zu ermitteln

    Desweiteren habe ich ein Problem mit dem Submit-Button eines Formulars, ich möchte erreichen, daß er zunächst auf "Weiter" steht und dann auf "Eintragen" geändert wird; irgendwie klappt das aber nicht der Name des Buttons wird auf "" geändert

    Code dazu:
    Code:
    <?php
    
      include "../const.php";
      include "../var.php";
      include "../css.php";
      include "../func.php";
    
    ?>
    
      <html>
        <head>
        </head>
        <body bgcolor="#E0E0E0">
          <form name="form"  method="post">
            <table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
              <tr>
                <td align="right">Benutzername:</td>
                <td><input name="benutzer" type="text" size="30" maxlength="255" value="<?php echo $_POST['benutzer']; ?>"></td>
              </tr><tr>
                <td align="right">Passwort:</td>
                <td><input name="passwort" type="password" size="30" maxlength="255" value="<?php echo $_POST['passwort']; ?>"></td>
              </tr><tr>
                <td align="right">Autor:</td>
                <td><input name="autor" type="text" size="30" maxlength="255" value="<?php echo $_POST['autor']; ?>"></td>
              </tr><tr>
                <td align="right">Titel:</td>
                <td><input name="titel" type="text" size="30" maxlength="255" value="<?php echo $_POST['titel']; ?>"></td>
              </tr><tr>
                <td align="right" valign="top">Anzahl Antwortmöglichkeiten:</td>
                <td><input name="anzahl" type="text" size="2" maxlength="2" value="<?php echo $_POST['anzahl']; ?>"></td>
              </tr>
    
    <?php
    
      for ($i = 1; $i <= $_POST['anzahl']; $i++)
      {
    
        echo '<tr>
              <td align="right">Anwort ' . $i . ':</td>
              <td><input name="eingabe[' . $i . ']" type="text" size="30" maylength="255"></td>
              </tr>';
        $val = "Eintragen";
      }
    
    ?>
                <tr>
                <td align="right">Formular:</td>
                <td><input type="submit" name="<?php $val ?>" value="<?php $val ?>">
                  <input type="reset" value="Abbrechen">
                </td>
              </tr>
            </table>
          </form>
          
    <?php
    
      if ($_POST['Eintragen'] == "Eintragen") //Button gedrückt?
      {
        if (($_POST['autor'] !== "") && ($_POST['titel'] !== ""))
        {
          if ($_POST['benutzer'] == MYSQL_USER) //korrekter Benutzename?
          {
            if ($_POST['passwort'] == MYSQL_PASS) //korrektes Passwort?
            {
              echo "Logged in";
            }
          }
        }
      }
          
    ?>
          
        </body>
      </html>
    Deine Signatur ist zu lang.

  • #2
    Keiner?
    Deine Signatur ist zu lang.

    Kommentar


    • #3
      Du darfst nicht nur

      ="<?php $val ?>"

      schreiben, das gibt doch garnichts aus, schreib:

      ="<?php echo $val; ?>"

      :wink:

      Kommentar


      • #4
        omg *kopfklopp* danke
        Deine Signatur ist zu lang.

        Kommentar


        • #5
          Re: Umfragescript

          Zitat von c-f-g
          Zunächst einmal die Frage wie ich ein Array in MySQL realisiere. Die NF schließt das doch eigentlich aus, oder?
          Wieso? Ist doch nur eine 1:n-Beziehung.

          Wenn Du es in ein DB-Feld packen willst, bieten sich serialize/unserialize() an.
          http://de.php.net/serialize
          mod = master of disaster

          Kommentar


          • #6
            serialize() vorm in die datenbank schreiben des arrays und unserialize() danach
            [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
            | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

            Kommentar


            • #7
              Danke, hat schon sehr weitergeholfen, eine Frage bleibt allerdings offen:
              Code:
              for ($i = 1; $i <= $_POST['anzahl']; $i++)
                {
              
                  echo '<tr>
                        <td align="right">Anwort ' . $i . ':</td>
                        <td><input name="eingabe[' . $i . ']" type="text" size="30" maylength="255"></td>
                        </tr>';
                  $val = "Eintragen";
                }
              Klappt das mit dem eingabe-array so und wie lese ich es per Post aus? $_POST['eingabe[$i]'] scheint nicht zu klappen
              Deine Signatur ist zu lang.

              Kommentar


              • #8
                $_POST['eingabe['.$i.']']
                oder
                $_POST["eingabe[$i]"]

                mit den ' verhinderst du dass nach variablen wie in dem fall $i geparst wird.

                also entweder dann " benutzen oder zusamensetzen.
                [URL="http://www.robo47.net"]robo47.net[/URL] - Blog, Codeschnipsel und mehr
                | :arrow: [URL="http://www.robo47.net/blog/192-Caching-Libraries-and-Opcode-Caches-in-php-An-Overview"]Caching-Klassen und Opcode Caches in php[/URL] | :arrow: [URL="http://www.robo47.net/components"]Robo47 Components - PHP Library extending Zend Framework[/URL]

                Kommentar

                Lädt...
                X