kostenloser Webspace werbefrei: lima-city


parse error

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.


    Zur Zeile
    $stimme = $werte[$_POST['umfrage']];


    erhalte ich folgende Fehlermeldung

    Parse error: syntax error, unexpected '[', expecting ']'


    Kann mir das jemand erklären (es handelt sich um ein Skript für ein Umfrageformular)?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Arrays in Arrays (mehrdimensionale Arrays) werden über $array[][] angesprochen.
    Da ich den Rest nicht kenne, vermute ich, dass $werte ein mehrdimensionales Array ist, was aber irgendiwe auch keinen Sinnmacht, weil $_POST dort eigentlich gar nicht rein kommen kann, es sei denn, du schreibst es vorher "von Hand" dort hinein. Was ich sagen will: Sicher, dass die Logik dahinter überhaupt stimmt?
  4. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    Zitat: Arrays in Arrays (mehrdimensionale Arrays) werden über $array[][] angesprochen.
    Da ich den Rest nicht kenne, vermute ich, dass $werte ein mehrdimensionales Array ist, was aber irgendiwe auch keinen Sinnmacht, weil $_POST dort eigentlich gar nicht rein kommen kann, es sei denn, du schreibst es vorher "von Hand" dort hinein. Was ich sagen will: Sicher, dass die Logik dahinter überhaupt stimmt?

    ---------

    Tja, wenn ich das wüsste. Ich vertraue hier einem PHP-Handbuch, von dem
    ich das übernommen habe. Ich kann ja mal wiedergeben, was das schlaue
    Handbuch dazu schreibt.

    Zunächst zur Erläuterung. Die Werte für die Umfrage habe ich in
    eine Datei "variablen.php" angelegt mit (Auszug):

    <?$werte = array("schlecht", "gut", "sehr gut");?>


    USW.

    Der Anfang vom Skript fürs Formular lautet (Auszug):

    <? include ("variablen.php") ?>
    <html>
    <head></head>
    <body>
    <form action="auswertung.php" method="post">
    </body>
    </html>


    USW.

    Nun schreibt das Handbuch:

    "Das Formular liefert als Ergebnis den Index des gewählten Elementes
    (also z.B. "gut") in der Variablen $_POST['umfrage'] zurück. Die
    Auswertung muss also nur einen Zähler für jedes Element mitführen
    und diesen Zähler bei jeder Rückmeldung anpassen."

    Etwas weiter heißt es dann:

    Da das Umfrageformular in $_POST['umfrage'] den Index des gewählten
    Elementes übergibt, können wir mit

    $stimme = $werte[$_POST['umfrage]];

    die abgegebene Stimme der Variablen $stimme zuweisen."
    --
    Funktioniert aber nicht...
  5. sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    $_POST['umfrage'] liefert scheinbar den Schlüssel für das $werte-Array. Versuch mal folgendes:

    <?php
    $key = $_POST['umfrage'];
    $stimme = $werte[$key];
    ?>


    edit: Welche PHP-Version nutzt du? Ich meine mich erinnern zu können, Arrays als Arrayschlüssel schonmal benutzt zu haben. Scheinbar gehts bei dir aber nicht...

    Beitrag geändert: 14.9.2008 14:31:50 von sandrock-jonas
  6. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.


    $_POST['umfrage'] liefert scheinbar den Schlüssel für das $werte-Array. Versuch mal folgendes:

    <?php
    $key = $_POST['umfrage'];
    $stimme = $werte[$key];
    ?>


    edit: Welche PHP-Version nutzt du? Ich meine mich erinnern zu können, Arrays als Arrayschlüssel schonmal benutzt zu haben. Scheinbar gehts bei dir aber nicht...

    Beitrag geändert: 14.9.2008 14:31:50 von sandrock-jonas


    Ich habe es ausprobiert. Für die gleiche Zeile bekomme ich nun
    folgende Fehlermeldung:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

    Ich benutze PHP 5.
  7. t*****b

    Zeig doch mal den Teil Code, an dem das Array deklariert und initialisiert wird. Man kann ein numerisches Array natürlich nicht wie ein assoziatives Array ansprechen.
  8. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.


    Zeig doch mal den Teil Code, an dem das Array deklariert und initialisiert wird. Man kann ein numerisches Array natürlich nicht wie ein assoziatives Array ansprechen.


    Also, das Array ist sowohl numerisch als auch assoziativ initialisiert.
    Ist das eigentlich ein Widerspruch?

    In der Variablen.php-Datei lautet der Code:

    <?
    $werte = array("schlecht", "gut", "sehr gut");
    $frage = htmlentities("Wie findet ihr X und Y?");
    $ergebnis = "ergebnis_xy.txt";
    $button_text = " Fortsetzung folgt! ";
    sort($werte); 
    $anzahl = count($werte);
    $nz = chr(13).chr(10);
    if (!file_exists($ergebnis)) {
    $dz = fopen($ergebnis, "w");
    for ($i = 0; $i < anzahl; $i++) {
    $eintrag = $werte[$i].$nz."0".$nz;
    fwrite($dz,$eintrag);
    }
    fclose($dz);
    }
    ?>


    In der Auswertung.php-Datei ist dann noch dieser Schnipsel:

    <? 
    $poll = array("schlecht" => 0,
    "gut" => 0,
    "sehr gut" => 0);
    ?>


  9. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    Mir scheint es sich noch um ein grundsätzlicheres Problem zu
    handeln. So soll ja mit

    <?
    $werte = array("schlecht", "gut", "sehr gut");
    $frage = htmlentities("Wie findet ihr X und Y?");
    $ergebnis = "ergebnis_xy.txt";
    $button_text = " Fortsetzung folgt! ";
    sort($werte); 
    $anzahl = count($werte);
    $nz = chr(13).chr(10);
    if (!file_exists($ergebnis)) {
    $dz = fopen($ergebnis, "w");
    for ($i = 0; $i < anzahl; $i++) {
    $eintrag = $werte[$i].$nz."0".$nz;
    fwrite($dz, $eintrag);
    }
    fclose($dz);
    }
    ?>


    eine Zählerdatei angelegt werden, in der die Werte eingetragen
    und gezählt werden.

    Die Datei ergebnis_xy.txt wurde auch angelegt. Allerdings bleibt
    sie leer. Es gibt dort keine Einträge, die mit

    $dz = fopen($ergebnis, "r");


    ausgelesen werden könnten.

    Hrrrm.:slant:


    Beitrag geändert: 14.9.2008 22:36:06 von waldorf


    Beitrag geändert: 14.9.2008 22:52:34 von waldorf


    Beitrag geändert: 14.9.2008 22:55:10 von waldorf
  10. Autor dieses Themas

    waldorf

    waldorf hat kostenlosen Webspace.

    Liebe Leutz,

    ich habe jetzt einfach Folgendes gemacht - nämlich mir die
    Skripts von der HP des Autors, der das Handbuch geschrieben hat,
    runtergezogen. Nun funktioniert es natürlich.
    Irgendwo hat sich da ein ekliger Fehler eingeschlichen,
    allein der Teufel weiß, wo...

    Greetz
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!