2017-01-21 2 views
-1

Ich habe eine foreach Anweisung, die Radioknöpfe widerspiegelt.

Alle diese Optionsfelder haben die gleiche name.

Wenn ich die geklickt diejenigen zu bekommen, verwende ich $_POST['radio_name']

Aber ich habe einen Fehler (es kann nicht das Radio Namen finden)

Das ist mein Code:

<form method="post"> 
     <div class="repas-inside-bloc breakfast-bloc" id="brkID"> 
      <?php 
       foreach($breakfast_array as $brk){ 
        echo '<label for="'.$brk['id_plat'].'" class="plan-meal-box">'.$brk['titre_plat'].'</label><input name="brk_check" type="radio" id="'.$brk['id_plat'].'" value="'.$brk['titre_plat'].'">'; 
       } 

      ?> 
     </div> 

Wie bekomme ich Werte von jedem angeklickten Radio Button? $_POST['brk_check'] funktioniert nicht

+0

'print_r ($ _ POST)' zu sehen, was – Thamilan

+0

Zuerst veröffentlicht wird, zu helfen, müssen wir die * gerenderten HTML * sehen, nicht nur die PHP. Zweitens, sind Sie sicher, dass ein Optionsfeld aktiviert ist? Drittens, ist das Form-Posting überhaupt? Erhalten Sie andere Formularwerte von '$ _POST'? Zuletzt wird ein 'var_dump ($ _POST);' ALLE Funkgeräte, die überprüft werden, enthüllen. –

+0

@cale_b Es gibt einen Wert "gespeichert" auf dem $ _POST Ich sehe es, wenn ich print_r ($ _ POST) dieser Wert kommt von einer ersten Webseite (Seite 1: Klicken Sie auf einen Auto-Markennamen (das ist der Wert auf Post) , Seite 2; je nach Marke, viele Radio-Tasten für Autos dieser Marke) – Sushi

Antwort

-1

Die Idee der Optionsfelder ist, dass sie nach ihrem name Attribut gruppiert sind. Wenn alle Optionsfelder dieselbe name haben, kann immer nur eine Schaltfläche gleichzeitig angeklickt werden.

Daher ist der Serverwert, den Sie als $_POST['brk_check'] erhalten, der Wert des Optionsfelds, auf das geklickt wurde, das zu einem bestimmten Zeitpunkt nur ein Wert sein kann.

Wenn Sie mehrere Werte empfangen möchten, müssen Sie die Optionsfelder anders benennen. Aber mit dieser Verwendung, wenn Sie mehrere Auswahlen zulassen möchten, sollten Sie wahrscheinlich type='checkbox' anstelle von Radio-Schaltflächen. Here is an answer of how to read multiple checkbox values.

+0

Vielen Dank für Ihre Antwort, aber mein Problem ist nicht, wenn ich senden möchte oder viele Werte, das Problem ist, dass ich eine erste Seite mit einem Formular habe, also durch Klicken auf dieses Formular habe ich einen Wert auf $ _POST und diese Aktion nimm mich auf eine andere Seite, diese neue Seite (die diese Radioknöpfe enthält) ist auch ein Formular, also vielleicht ist das Problem hier – Sushi

+0

Sorry, aber ich verstehe nicht, was du meinst. Wenn Sie auf eine bestimmte Seite umleiten möchten, verwenden Sie '

'. Von dort erstellen 'next_page.php' und innerhalb der Datei, verwenden Sie' $ _POST' in der Datei. Wenn Sie etwas anderes meinen, müssen Sie es verständlicher schreiben. –

+0

Entschuldigung für mein Englisch. Nein, ich habe bereits getan, was Sie gerade erklärt haben (erste Seite mit einem Formular, beim Einreichen, es leitet mich auf eine zweite Seite weiter) Nun habe ich auf dieser zweiten Seite auch ein Formular, der Beitrag auf der zweiten Seite funktioniert nicht und Ich verstehe nicht, warum – Sushi

-2

Sie können dies versuchen:

$_REQUEST['brk_check']; 
+1

Dies liefert keine Antwort auf die Frage. Sobald Sie genügend [Reputation] (http://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (http: // stackoverflow.com/help/privileges/Kommentar); stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (http://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/14958711) – yivi

+0

@yivi Eine Nur-Code-Antwort ist vielleicht nicht gut, aber sie ist immer noch eine Antwort. Ich würde dir diesen Artikel über das LQPRQ empfehlen: [Du machst es falsch: Ein Plädoyer für Vernunft in der Warteschlange für minderwertige Posts] (http://meta.stackoverflow.com/questions/287563/youre-doing-it- Unrecht-ein-Plädoyer für Vernunft-in-der-Qualität-Posts-Queue) – FelixSFD

+0

Danke @FelixSFD, ich lese es gerade jetzt! Aber bei meiner Flagge ging es nicht nur um Code. Ich dachte, dass dies mit den Angaben in der Antwort sehr geringe Qualität hat. Wenn der Benutzer dachte, dass das Problem mit dem Formular zusammenhing, das von GET und nicht von POST gesendet wurde, sollte es meiner Meinung nach so sein. Ich bin der Meinung, dass es weder die Frage beantwortet (warum es diesen Wert im Superglobal $ _POST nicht finden könnte) noch die Hypothese auflöst, dass es sich tatsächlich um eine GET-Anfrage handelt. Jemand, der weniger informiert ist, könnte sogar glauben, dass dies "richtig" ist und der Zugriff auf "_POST" "falsch" ist. Aus, um diesen Link zu lesen. :) – yivi