Как я могу получить значения из форм, сгенерированных PHP? - PullRequest
0 голосов
/ 06 января 2019

Я не знаю, где и как использовать $ _POST для получения значений форм.

Это весь код, я загрузил его на GitHub, если вы хотите увидеть все это

Это файл, из которого я пытаюсь получить значения.

new.php

<?php
if (!empty($_POST) and isset($_POST['actiune']))
{
$actiune = isset($_POST['actiune']) ? $_POST['actiune'] : NULL;
switch($actiune){
//CASE 1
case 'addElev': echo '<div class=dbFormText>Adauga elev</div><div 
class="databaseform"><form action="" method="post">
<input type="text" name="numeElev" placeholder="Nume elev"/>
<input type="text" name="orasElev" placeholder="Localitate"/>
<select name="sexElev">
<option value="Baiat">Baiat</option>
<option value="Fata">Fata</option></select>
<input type="text" name="tlfElev" placeholder="Nr. de telefon"/>
<input type="text" name="birthdayElev" placeholder="Nastere(DD-MM-YYYY)"/>
<input type="submit" value="Submit">
</form></div>';
break;
}
}
?>

Это страница первого выпадающего списка, которая дает мне значение переключателя

adminpanel.html

<div class="dropdowns">
<form action="" method="post">
<select name="actiune" onchange="this.form.submit()">
<option>Selecteaza actiunea</option>
<option value="addElev">Adauga elev</option>
<option value="addNota">Adauga nota</option>
<option value="addAbsenta">Adauga absenta</option>
<option value="addTeza">Adauga teza</option>
<option value="deleteElev">Sterge elev</option>
<option value="deleteNota">Sterge nota</option>
<option value="deleteAbsenta">Sterge absenta</option>
<option value="deleteTeza">Sterge teza</option>
<option value="modifyElev">Modifica elev</option>
<option value="modifyTeza">Modifica teza</option>
<option value="modifyPurtare">Modifica nota purtare</option>
</select>
<?php include('new.php') ?>
</div>

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Когда вы отправляете форму с методом post, например,

<form method="post">

(примечание: action="" является избыточным и может быть опущено)

целевая страница (в данном случае сама) будет снабжена массивом $_POST.

Вы можете вывести весь массив для просмотра значений, используя:

if (!empty($_POST) and isset($_POST['actiune']))
{
var_dump($_POST);
}

Этот массив должен содержать все значения из тега <form>, при условии, что был установлен name (который будет использоваться в качестве «ключа» в массиве).

0 голосов
/ 06 января 2019

Не уверен, для чего нужен переключатель, добавил выборку постварей вверху кода. Я уверен, что вы можете сделать несколько php, чтобы убедиться, что переменные установлены. Также actiune не является postvar, который не является именем какого-либо из полей ввода, поэтому не делайте $ _POST ['actiune']. это не сработает. Еще вы должны добавить скрытое поле, я сделал это здесь для вас.

<?php
    if (!empty($_POST) {

    $numeElev = $_POST['numeElev'];
    $orasElev = $_POST['orasElev'];
    $sexElev = $_POST['sexElev'];

    }


    if (!empty($_POST) and isset($_POST['actiune']))
    {
    $actiune = isset($_POST['actiune']) ? $_POST['actiune'] : NULL;
    switch($actiune){
    //CASE 1
    case 'addElev': echo '<div class=dbFormText>Adauga elev</div><div 
    class="databaseform"><form action="" method="post">
    <input type="text" name="numeElev" placeholder="Nume elev"/>
    <input type="text" name="orasElev" placeholder="Localitate"/>
    <input type="hidden" name="actiune" placeholder="1"/>
    <select name="sexElev">
    <option value="Baiat">Baiat</option>
    <option value="Fata">Fata</option></select>
    <input type="text" name="tlfElev" placeholder="Nr. de telefon"/>
    <input type="text" name="birthdayElev" placeholder="Nastere(DD-MM-YYYY)"/>
    <input type="submit" value="Submit">
    </form></div>';
    break;
    }
    }
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...