Я хочу создать цифровую телефонную книгу, где я могу добавлять/удалять записи. Я могу добавить без проблем, но когда я пытаюсь удалить запись (за радио коробки), всегда последняя запись массива сеанса нет ...Проблема с телефонной книгой
телефонная книга: (index.php)
<?php
session_start();
?>
<html>
\t <head>
\t \t <title>2PLF</title>
\t \t <style>
\t \t \t table{
\t \t \t \t margin: 0 0 1rem 0;
\t \t \t }
\t \t \t table, table tr, table tr td{
\t \t \t \t border: 0.1rem solid #444;
\t \t \t }
\t \t \t table tr th{
\t \t \t \t border: 0.2rem solid #444;
\t \t \t }
\t \t </style>
\t </head>
\t <body>
\t <form method="post">
\t \t <h1>My phonebook</h1>
\t \t <?php
\t \t if(isset($_POST["add"])){
\t \t \t header("location:new.php");
\t \t }
\t \t if(isset($_SESSION["new"])){
\t \t
\t \t \t foreach($_SESSION["new"] as $number => $name){
\t \t \t \t $_SESSION["phonebook"][$number] = $name;
\t \t \t }
\t \t \t
\t \t \t //clean up
\t \t \t unset($_SESSION["new"]);
\t \t \t
\t \t }
\t \t
\t \t if(isset($_SESSION["phonebook"])){
\t \t \t ?>
\t \t \t <table>
\t \t \t \t <tr>
\t \t \t \t \t <th>Number</th>
\t \t \t \t \t <th>Name</th>
\t \t \t \t \t <th>Select</th>
\t \t \t \t </tr>
\t \t \t \t <?php
\t \t \t \t foreach($_SESSION["phonebook"] as $number => $name){
\t \t \t \t \t echo '<tr>
\t \t \t \t \t <td>'.$number.'</td>
\t \t \t \t \t <td>'.$name.'</td>
\t \t \t \t \t <td><input type="radio" name="radio"></td>
\t \t \t \t \t </tr>';
\t \t \t \t \t
\t \t \t \t }
\t \t \t \t
\t \t \t \t if(isset($_POST["delete"]) && isset($_POST["radio"])){
\t \t \t \t \t
\t \t \t \t \t \t unset($_SESSION["phonebook"][$number]);
\t \t \t \t \t \t header("location:index.php");
\t \t \t \t \t \t
\t \t \t \t }else if(isset($_POST["delete"]) && !isset($_POST["radio"])){
\t \t \t \t \t \t echo "Please check your Input";
\t \t \t \t }
\t \t \t \t
\t \t \t \t ?>
\t \t \t </table>
\t \t \t <?php
\t \t \t
\t \t }
\t \t ?>
\t \t \t <input name="add" type="submit" value="Add a new number">
\t \t \t <input name="delete" type="submit" value="Delete an entry">
\t \t </form>
\t </body>
</html>
добавить запись (new.php)
<?php
session_start();
?>
<html>
\t <head>
\t \t <title>2PLF</title>
\t </head>
\t <body>
\t
\t \t <h1>Add an entry</h1>
\t \t
\t \t <?php
\t \t \t $success = false;
\t \t \t if(isset($_POST["name"]) && isset($_POST["number"])){
\t \t \t \t $success = true;
\t \t \t \t $name = $_POST["name"];
\t \t \t \t $number = $_POST["number"];
\t \t \t \t
\t \t \t \t $newEntry = array(
\t \t \t \t \t $number => $name,
\t \t \t \t);
\t \t \t \t
\t \t \t \t //put the array in a session array
\t \t \t \t $_SESSION["new"] = $newEntry;
\t \t \t \t
\t \t \t }
\t \t ?>
\t \t
\t \t <form method="post">
\t \t \t <input name="name" type="text" value="" placeholder="Name">
\t \t \t <input name="number" type="text" value="" placeholder="Phone number">
\t \t \t <input type="submit" value="Add entry">
\t \t </form>
\t \t
\t \t <?php
\t \t if($success == true){
\t \t \t if($name == "" || $number == ""){
\t \t \t \t echo "Please enter a valid name and number";
\t \t \t }else{
\t \t \t \t header("location:index.php");
\t \t \t }
\t \t }
\t \t ?>
\t \t
\t </body>
</html>
Обратите внимание, что все радиокамера должна иметь то же имя. Я знаю, что в index.php есть немного кусочка неправильного кода, но я не могу найти ...
Спасибо!
Header не может работать, потому что выход уже отправлен – DLastCodeBender