Как запустить следующую запись в массиве PHP с помощью кнопки отправки HTML? - PullRequest
0 голосов
/ 17 сентября 2018

Цель: Я хочу создать HTML-форму, которая отображает предварительно заполненную информацию из 22 массивов из array_file.php.

Сначала я перейду к index.php.На index.php я увижу форму с предварительно заполненными данными.Я не смогу редактировать поля имени и фамилии, но я смогу редактировать поле электронной почты (при необходимости).

Во-вторых, как только все будет хорошо, я нажму кнопку «Отправить».

В-третьих, если все в порядке (т. Е. Поле электронной почты заполнено), кнопка «Отправить» должна перейти ко второй записи в массиве.

Наконец, после зацикливаниячерез все массивы он выдаст сообщение, такое как «Готово!»

Текущая проблема: Моя текущая страница index.php показывает все 22 предварительно заполненных форм наодна страница.Хотя я могу редактировать и отправлять данные в базу данных с помощью отдельной кнопки «Отправить», я бы предпочел просматривать каждую предварительно заполненную форму по одной за раз.

Вот код:

<?php

ob_start();
include 'array_file.php';
ob_end_clean();
?>

 <?php

$i=1;
while ($i<=22){
?>

<form action="index.php" method="post">

<h2>Form</h2>
<label>First Name:</label>
<input class="input" name="first_name" type="text" value="<?php echo htmlentities($array[$i][1]) ?>" disabled><br>
<label>Last Name:</label>
<input class="input" name="last_name" type="text" value="<?php echo htmlentities($array[$i][2]) ?>" disabled><br>
<label>Email:</label>
<input class="input" name="email" type="text" value="<?php echo htmlentities($array[$i][3]) ?>"><br><br>
<input class="submit" name="submit" type="submit" value="Submit">
</form>

<?php 
   $i=$i+1;
     }

?>


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
    if(isset($_POST['submit'])){ 
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $email = mysqli_real_escape_string($conn,$_POST['email']);
    if($email !=''){


  //Insert Query of SQL
    mysqli_query(#conn,"INSERT into form(form_first_name, form_last_name, form_email) values ('$first_name', '$last_name', '$email')");
    echo "<br/><br/><span>Data inserted successfully!</span>";
    }
    else{
    echo "<p>Insertion Failed <br/> Some required fields are blank!</p>";
    }
    }
    $mysqli->close(); // Closing Connection with Server
    ?>

Дайте мне знать, если вам понадобится, чтобы я предоставил дополнительную информацию.Заранее спасибо!

1 Ответ

0 голосов
/ 18 сентября 2018

Надеюсь, этот код вам нужен.

<?php
   ob_start();
   include 'array_file.php';
   ob_end_clean();

if(isset($_POST['submit']) and isset($_POST[email])){

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $email = mysqli_real_escape_string($conn,$_POST['email']);
    if($email !=''){

  //Insert Query of SQL
    mysqli_query(#conn,"INSERT into form(form_first_name, form_last_name, form_email) values ('$first_name', '$last_name', '$email')");
    echo "<br/><br/><span>Data inserted successfully!</span>";

}

}


/// find which form will be published
if( isset($_SESSION["form"]) and $_SESSION["form"]<22){
     $form=$_SESSION["form"]+1;
    $_SESSION["form"]=$form;
}else{
    $form=1; 
    $_SESSION["form"]=$form;
}

// determine which is the next form number
if($form<22){ $nextForm=$form+1; }else{ $nextForm="??";  }


<!-- form area  !-->
<form action="index.php?form=<?php echo $nextForm; ?>" method="post">

<h2>Form</h2>
<label>First Name:</label>
<input class="input" name="first_name" type="text" value="<?php echo htmlentities($array[$form][1]) ?>" disabled><br>
<label>Last Name:</label>
<input class="input" name="last_name" type="text" value="<?php echo htmlentities($array[$form][2]) ?>" disabled><br>
<label>Email:</label>
<input class="input" name="email" type="text" value="<?php echo htmlentities($array[$form][3]) ?>"><br><br>
<input class="submit" name="submit" type="submit" value="Submit">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...