В качестве предшественника стоит упомянуть, что я новичок в PHP. Я потратил примерно 3 часа на то, что кажется, что это должно быть простым решением.
Используя PHP для повторного отображения формы после выбора submit, мое раскрывающееся меню возвращает только первое имя, независимо от того, какой из них выбран.
Вот мой код:
<form action="echo_form_email.php" method="GET"> <p> <div id="cheddar">Cashier: <input id="cashier" name="cashier" type="text"></div> </p> <P> <div id="q">Did the cashier front the register?</div> <div id="radio1"><input type="checkbox" name="front_register" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="front_register" value="No">No</div> <div id="radio3"><input type="checkbox" name="front_register" value="N/A">N/A</div> </p> <p> <div id="q">Genuinely greet customer with eye contact?</div> <div id="radio1"><input type="checkbox" name="greets" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="greets" value="No">No</div> </p> <p> <div id="q">Scan/unload BOB (If no bagger)</div> <div id="radio1"><input type="checkbox" name="scan_bob" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="scan_bob" value="No">No</div> <div id="radio3"><input type="checkbox" name="scan_bob" value="N/A">N/A</div> </p> <p> <div id="q">Carry conversation around product in basket or genuine conversation?</div> <div id="radio1"><input type="checkbox" name="conversation" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="conversation" value="No">No</div> <div id="radio3"><input type="checkbox" name="conversation" value="N/A">N/A</div> </p> <p> <div id="q">Offer buddy bucks to parent at beginning of order?</div> <div id="radio1"><input type="checkbox" name="buddy" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="buddy" value="No">No</div> <div id="radio3"><input type="checkbox" name="buddy" value="N/A">N/A</div> </p> <p> <div id="q">Avoid side conversations?</div> <div id="radio1"><input type="checkbox" name="side_conversation" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="side_conversation" value="No">No</div> </p> <p> <div id="q">Point out and circle savings?</div> <div id="radio1"><input type="checkbox" name="savings" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="savings" value="No">No</div> <div id="radio3"><input type="checkbox" name="savings" value="N/A">N/A</div> </p> <p> <div id="q">Offer carryout (if no bagger)?</div> <div id="radio1"><input type="checkbox" name="carry_out" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="carry_out" value="No">No</div> <div id="radio3"><input type="checkbox" name="carry_out" value="N/A">N/A</div> </p> <p> <div id="q">Give a genuine "thank you"?</div> <div id="radio1"><input type="checkbox" name="thanks" value="Yes">Yes</div> <div id="radio2"><input type="checkbox" name="thanks" value="No">No</div> </p> <p> <div id="cheddar">Digital Signature</div> <div id="cheddar"><input type="tel" name="sign1" placeholder="Peoplesoft ID"></div> </p> <p> <div id="auditingasm">ASM performing audit: <br /> <select name="asm"> <option value="John Doe">John Doe</option> <option value="Jane Doe">Jane Doe</option> <option value="Little Doe">Little Doe</option> <option value="Big Doe">Big Doe</option> </select> </p> <br /> <input type="submit" value="submit" name="submit"> <input id="reset" type="reset"> </form>
Используя приведенный выше код, независимо от того, какой вариант я выбираю перед отправкой, эховые результаты всегда будут возвращаться как «Джон Доу».
Вот мой PHP:
<?PHP if (! empty($_GET['cashier'])){ echo 'Cashier receiving audit: ' . $_GET['cashier']; } echo "<br />"; if (! empty($_GET['asm'])){ echo 'ASM performing audit: ' . $_GET['asm']; } echo "<br /><Br />"; if (! empty($_GET['front_register'])){ echo 'Did cashier front the register? ' . $_GET['front_register']; } echo "<br />"; if (! empty($_GET['greets'])){ echo 'Greet customer with eye contact? ' . $_GET['greets']; } echo "<br />"; if (! empty($_GET['scan_bob'])){ echo 'Scan/Unload BOB (if no bagger) ' . $_GET['scan_bob']; } echo "<br />"; if (! empty($_GET['conversation'])){ echo 'Conversation about groceries, or other genuine conversation? ' . $_GET['conversation']; } echo "<br />"; if (! empty($_GET['buddy'])){ echo 'Offer Buddy bucks to parent at beginning of order? ' . $_GET['buddy']; } echo "<br />"; if (! empty($_GET['side_conversation'])){ echo 'No side conversations? ' . $_GET['side_conversation']; } echo "<br />"; if (! empty($_GET['savings'])){ echo 'Cashier pointed to and circled savings? ' . $_GET['savings']; } echo "<br />"; if (! empty($_GET['carry_out'])){ echo 'Offered carry out (if no bagger) ' . $_GET['carry_out']; } echo "<br />"; if (! empty($_GET['thanks'])){ echo 'Genuine "thank you?" ' . $_GET['thanks']; } echo "<br /><Br />"; if (! empty($_GET['sign1'])){ echo 'Digital Signature: ' . $_GET['sign1']; } ?>
Заранее благодарю
Выбранный оператор кажется синтаксически правильным. Попробуйте подтвердить свою форму и проверить выпуск.
<select name="asm" onchange="return validate(this);"> <option value="">Select Option</option> <option value="John Doe">John Doe</option> <option value="John Doe">John Doe</option> <option value="Jane Doe">Jane Doe</option> <option value="Little Doe">Little Doe</option> <option value="Big Doe">Big Doe</option> </select> <script type="text/javascript"> function validate(obj){ alert (obj.value); return false; } </script>
Это предупредит вас со значением, которое было выбрано без передачи формы на следующую страницу для тестирования.
И вы забыли закрыть тег div для оператора select.