Передача результата массива в HTML-форму - PullRequest
0 голосов
/ 28 января 2019

У меня есть результаты запроса mysqli, возвращенного и отображенного на странице 1.Когда пользователь нажимает ссылку «Зарегистрироваться сейчас», он отправляет им HTML-форму на странице 2.Мне нужно, чтобы определенные данные (например: $ row [1]) передавались со страницы 1 в HTML-форму на странице 2.Я застрял.Любые предложения приветствуются.

---- Вот ОБНОВЛЕННЫЙ КОД для trip_1.php: ---

<?php
include('includes/connection.php');


if(isset($_POST['clicked'])) { 
## you can use GET Method or SESSIONS


## with get    
header("Location : reserve-form.php?ID=".$row[1]."");
## or
}

$sql="SELECT * FROM trips WHERE id='1' AND active='1'";
$results=mysqli_query($connection, $sql);

if (mysqli_num_rows($results) < 1) {
echo "<br>We are working on this trip's details.<br><br><h3 
style='color:#C8FE2E'>Check back soon!</h3>";
}   else {

while($row=mysqli_fetch_array($results)) {
    echo"Trip ID: ".$row[1].
        "<br>Date: ".$row[3].
        "<br>Departs From: ".$row[4].
        "<br>Departure Time: ".$row[5]
        ; 
    echo "";
    } 
}
mysqli_close($connection);
?>

<form action="reserve-form.php" method="POST">
<button type="submit" name="clicked">RegisterNow</button>
</form>
...

I NEED. $ Row [1].ПРОЙТИ НА ПОЛЕ ФОРМЫ (имя = tripID) НА СТРАНИЦЕ 2

--- Вот ОБНОВЛЕНИЕ КОДА для резерва-form.php: ---

<div class='container' id='new-form'>
<div class='row'>
    <div class='col-lg-12'>
     <h2>Reserve your Seat</h2>
<hr/>
<form id="reservation_form" action="/insert-form.php" method="post" >

<div class="form-group">
    <label>Trip ID#</label>
    <input class="form-control" type="text" name="tripID" value="<?php echo 
    $_GET['ID']; ?>" disabled>
</div>

<div class="form-group">
    <label>First Name</label>
    <input class="form-control" type="text" name="firstName" required >
</div>


...

Ответы [ 2 ]

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

Другое решение - передать данные, которые вы хотите сохранить, в форме, используя скрытый тип ввода.Поэтому он будет использовать POST, а не GET, что в целом лучше, так как он не загрязняет URL и имеет большее ограничение размера.

<?php
include('includes/connection.php');            

$sql="SELECT * FROM trips WHERE id='1' AND active='1'";
$results=mysqli_query($connection, $sql);

if (mysqli_num_rows($results) < 1) {
echo "<br>We are working on this trip's details.<br><br><h3 
style='color:#C8FE2E'>Check back soon!</h3>";
}   else {
# put trip ID in a temporary variable
$tripID = 0;
while($row=mysqli_fetch_array($results)) {
    echo"Trip ID: ".$row[1].
        "<br>Date: ".$row[3].
        "<br>Departs From: ".$row[4].
        "<br>Departure Time: ".$row[5]
        ;
    $tripID = $row[1];
    echo "";
    } 
}
mysqli_close($connection);
?>

<form action="reserve-form.php" method="POST">
# use tripID and pass it as an attribute of your form
<input type="hidden" name="tripID" value="<?php echo $tripID; ?>"/>
<button type="submit" name="clicked">RegisterNow</button>
</form>

Тогда для вашей второй страницы:

<div class='container' id='new-form'>
<div class='row'>
    <div class='col-lg-12'>
     <h2>Reserve your Seat</h2>
<hr/>
<form id="reservation_form" action="/insert-form.php" method="post" >

<div class="form-group">
    <label>Trip ID#</label>
    <input class="form-control" type="text" name="tripID" value="<?php echo 
    $_POST['tripID']; ?>" disabled>
</div>

<div class="form-group">
    <label>First Name</label>
    <input class="form-control" type="text" name="firstName" required >
</div>


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

Несколько способов сделать это - прикрепить строку запроса в URL для страницы 2 формы:

form-page2.php?name=name&trip=tripID

и просто захватить их на второй странице, используя GET ['name'] & GET ['trip'].

Другой вариант - установить их внутри переменной $ _SESSION и получить их таким образом.

В любом случае будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...