Clemens : Formularwert als Arrayinhalt übergeben

Hallo!

Hat jemand eine Idee, warum folgender Code nicht funktioniert?

Ich habe zwei Formularfelder definiert, die jeweils nach Abschicken des Formulars wieder mit den bereits eingegebenen Werten gefüllt werden sollen, wenn z.B. eine Eingabe bei der Prüfung als nicht korrekt erkannt wurde und das Formular erneut angezeigt wird. Mit normalen Variablen ist das kein Problem, jetzt wollte ich aber die Formularinhalte gleich in ein Array schreiben, Sollte doch gehen oder?!

Clemens

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
  <title>Formulare und Arrays</title>
</head>

<body>
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=get>
    <table border=1>
      <tr>
        <td>
          Feld mit "normaler" Variable
        </td>
        <td>
          <input type="text" name="normaleVariable" value="<?php if (isset($_REQUEST['normaleVariable'])) echo htmlspecialchars(stripslashes($_REQUEST['normaleVariable'])); ?>" />
        </td>
      </tr>

<tr>
        <td>
          Feld mit Array
        </td>
        <td>
          <input type="text" name="einArray[1]" value="<?php if (isset($_REQUEST['einArray[1]'])) echo htmlspecialchars(stripslashes($_REQUEST['einArray[1]'])); ?>" />
        </td>
      </tr>
      <tr>
        <td>
           
        </td>
        <td>
          <input type="submit" name="abschicken" value="abschicken">
        </td>
      </tr>

</table>

</form>

</body>
</html>

  1. $_REQUEST['einArray[1]']: 'einArray[1]' ist aufgrund der Hochkomma ein String, vielleicht klappts deshalb nicht. versuchs mal ohne.
    oder versuchs einfach nur mit:

    $einArray[1]

    ist doch viel einfacher. sollte klappen.

    oder versuch: $_REQUEST['einArray'][1]:

  2. Huhu Clemens

    Hat jemand eine Idee, warum folgender Code nicht funktioniert?

    Ja.

    $_REQUEST['einArray[1]'] != $_REQUEST['einArray'][1]

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  3. Hallo Lulu, hallo Christian!

    Danke, das war es, die Hochkommas waren das Problem!
    Gruß und Dank :-)

    Clemens