Я хочу ввести имя и знак. Когда введенный знак меньше или равен 100, имена и метки должны быть сохранены в ассоциативном массиве, когда я нажимаю кнопку отправки, и он должен просить меня ввести другое имя и отметки. Но если я введу отметку, превышающую 100, отменив введенное имя, когда я нажму кнопку «Отправить», скрипт php должен отобразить мне все имена и метки, ранее введенные. Вот что я сделал, но я не получаю желаемых результатов. Пожалуйста помоги. Мой код:
<?php if(isset($_POST['lname']) && isset($_POST['marks'])){ $name = $_POST['lname']; $marks = $_POST['marks']; $lists = array($name => $marks); foreach($lists as $name => $marks){ echo $name . '<br>'; echo $marks; } } ?> <form action = "<?php echo $_SERVER['PHP_SELF'];?>" method = "POST"> Name:<br> <input type = "text" name = "lname"><br><br> Marks:<br> <input type = "text" name = "marks"><br><br> <input type = "submit" value = "Submit"> </form>
Вы можете использовать сеанс для достижения того, что хотите, см. Этот код:
<?php session_start(); if(isset($_POST['lname']) && isset($_POST['marks'])){ if($_POST['marks'] > 100) { $_SESSION['info'][] = array($_POST['lname'] => $_POST['marks']); } } if(isset($_SESSION['info'])) { for($i = 0; $i < count($_SESSION['info']); $i++) { foreach($_SESSION['info'][$i] as $name => $marks){ echo '<p>' . $name . '<br>'; echo $marks . '</p>'; } } } ?> <form action = "<?php echo $_SERVER['PHP_SELF'];?>" method = "POST"> Name:<br> <input type = "text" name = "lname"><br><br> Marks:<br> <input type = "text" name = "marks"><br><br> <input type = "submit" value = "Submit"> </form>
Вы должны прочитать некоторые документы о сеансе:
Вы отправляете name
и ваша сторона сервера ищет lname