phoenixmann: Fehlende echo ausgabe bei chainedselects Formular

Hallo und guten Tag!

Vorweg ich bin nicht so wirklich bewandert mit javascript, darum hab ich ein "fertiges" Script zur Hand genommen. Es ist ein chained select Script, was mir meine dropdowns dynamisch füllt, was auch wunderbar klappt.
Was allerdings nicht klappt, ist wenn ich am Ende der Auswahl auf submit gehe, die Ausgabe dann an eine php Datei übergebe, dass er mir den ersten Wert der 3 zusammenhängenden Dropdowns nicht per echo ausgibt (marker1 marker2 etc). Die anderen beiden funktionieren aber.

Hab auch schon die Augabe mit:

foreach (array_keys($_POST) as $key) {  
$$key = $_POST[$key];  
print "$key is ${$key}<br />";  
} 

überprüft ob die POST's überhaupt ankommen, was sie auch tun. Darum weiß ich nicht mehr weiter warum er die erste Ausgabe einfach verschluckt.

Hier die HTML welches das Formular enthält (habs ein wenig gekürzt):

<html>  
  
<head>  
<title>Ally Builder</title>  
<link rel=stylesheet href="../cs.css" type="text/css">  
  
<script language="javascript" src="chainedselects.js"></script>  
<script language="javascript" src="content.js"></script>  
<script language="javascript" src="test.js"></script>  
  
</head>  
  
<body onLoad="initCS()">  
<form action="test.php" method="post">  
<table align="center" cellpadding="0" cellspacing="0" border="0" width="90%">  
<tr><td>  
<table width="300" border="1">  
  <tr>  
    <td>1.</td>  
<td><select name="maker1" style="width:150px"></select></td>  
<td><select name="type1" style="width:150px"></select></td>  
<td><select name="model1" style="width:150px"></select></td>  
    <td>&nbsp;</td>  
  </tr>  
  <tr>  
  <td>2.</td>  
<td><select name="maker2" style="width:150px"></select></td>  
<td><select name="type2" style="width:150px"></select></td>  
<td><select name="model2" style="width:150px"></select></td>  
    <td>&nbsp;</td>  
  </tr>  
  <tr>  
  <td>3.</td>  
  <td><select name="maker3" style="width:150px"></select></td>  
<td><select name="type3" style="width:150px"></select></td>  
<td><select name="model3" style="width:150px"></select></td>  
    <td>&nbsp;</td>  
  </tr>  
<tr>  
  
...  
  
</table>  
  <p>  
    <label>  
    <input type="submit" name="submit" id="submit" value="Submit">  
    </label>  
  </p>  
</form>  
</body>  
  
</html>  

hier die links zu den Javascript Dateien:
http://www.unleashedforce.com/sandbox/attendance_script/content.js
http://www.unleashedforce.com/sandbox/attendance_script/chainedselects.js
http://www.unleashedforce.com/sandbox/attendance_script/test.js

Bin über jeden Gedankenanstoß dankbar, da ich echt am verzweifeln bin!

  1. foreach (array_keys($_POST) as $key) {

    $$key = $_POST[$key];
    print "$key is ${$key}<br />";
    }

      
    Ich kann dir zwar bei deinem JavaScript-Problem nicht helfen, aber die Ausgabe eines assoziativen Arrays mit dem obenstehenden Code geht schon fast als Kapitalverbrechen durch  
      
    Warum nicht wie im Lehrbuch?  
      
    ~~~php
    foreach($_POST as $key => $value) {  
      echo $key . ' is ' . $value . '<br />';  
    }
    

    Aber eins muss man dir lassen, kreativ is es: array_keys und variable Variablen ;)

  2. Hallo,

    Hab auch schon die Augabe mit:

    foreach (array_keys($_POST) as $key) {

    $$key = $_POST[$key];
    print "$key is ${$key}<br />";
    }

    
    > überprüft ob die POST's überhaupt ankommen, was sie auch tun. Darum weiß ich nicht mehr weiter warum er die erste Ausgabe einfach verschluckt.  
      
    `print_r($_POST); // das tut's auch, nur einfacher`{:.language-php}  
      
    habs mal bei mir nachgebaut und es "kommt alles an". Hast du mal den Link zu deiner html-Datei?  
      
    vg ichbinich  
    
    -- 
    alles wird gut...
    
    1. print_r($_POST); // das tut's auch, nur einfacher

      habs mal bei mir nachgebaut und es "kommt alles an". Hast du mal den Link zu deiner html-Datei?

      vg ichbinich

      Mit dem foreach muss ich gestehen, dass hab ich von jemanden bekommen der mir helfen wollte, aber auch dann nicht weiter wusste.

      So hier dann der Link.
      http://unleashedforce.com/sandbox/attendance_script/allybuilder.html

      1. Hallo,

        So hier dann der Link.
        http://unleashedforce.com/sandbox/attendance_script/allybuilder.html

        ich weiss ja nicht was du so in deiner php-datei machst, ich bekomme lokal bei mir ein komplettes $_POST nach dem abschicken...

        vg ichbinich

        --
        alles wird gut...
        1. Hallo,

          ich weiss ja nicht was du so in deiner php-datei machst, ich bekomme lokal bei mir ein komplettes $_POST nach dem abschicken...

          vg ichbinich

          Ich hab es eigentlich zum testen erstmal ganz einfach gehalten.

          $test1 = $_POST['marker1'];  
          echo 'select1:' . $test1 . '<br />;  
          $test2 = $_POST['type1'];  
          echo "select2: $test2";  
          
          

          Hab auch schon eine isset Ausgabe versucht, immer ohne Erfolg.
          Aber ich werd mal einen lokalen Server aufsetzen und schauen ob es evtl. ein Serverseitiges Problem ist.
          Danke soweit.

          lg phoenixmann

        2. ich weiss ja nicht was du so in deiner php-datei machst, ich bekomme lokal bei mir ein komplettes $_POST nach dem abschicken...

          vg ichbinich

          Ich muss gestehen ich hab eben den Fehler gefunden den ich gemacht hab. Es war ein ganz einfacher Tipfehler der mich leider eine menge unnütze Zeit gekostet hat. hab ganze zeit versucht mit "marker" anstatt mir "maker" den POST zu bekommen. Aber naja aus Fehlern lernt man.
          Danke nochmal fürs rüberschauen.

          lg phoenixmann

          1. Hi,

            Es war ein ganz einfacher Tipfehler der mich leider eine menge unnütze Zeit gekostet hat. hab ganze zeit versucht mit "marker" anstatt mir "maker" den POST zu bekommen.

            Stelle das error_reporting auf E_ALL - dann hat PHP die Chance, dich auf solche Fehler selber hinzuweisen.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
            1. Stelle das error_reporting auf E_ALL - dann hat PHP die Chance, dich auf solche Fehler selber hinzuweisen.

              MfG ChrisB

              Hallo,

              danke für den Tip.
              Werd ich das nächste mal machen, wenn ich wieder so ein Problem hab ;)

              lg phoenixmann

              1. Hallo

                Stelle das error_reporting auf E_ALL - dann hat PHP die Chance, dich auf solche Fehler selber hinzuweisen.

                danke für den Tip.
                Werd ich das nächste mal machen, wenn ich wieder so ein Problem hab ;)

                Nö, mache es durchgängig bis zum Ende der Entwicklung eines Skriptes.

                Tschö, Auge

                --
                Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
                Terry Pratchett, "Wachen! Wachen!"
                Veranstaltungsdatenbank Vdb 0.3