@ikfah012
Не самый умный парень в этом чате

Как корректно передать и прочитать id?

Передаю данные из формы
<form method="post" action="functions.php">
<input type="text" name="name" paceholder="имя" required>
<input type="text" name="surname" paceholder="фамилия" required>

В файл functions.php
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));


  if(isset($_POST['name']))
  {
    global $link;
        $name = $_POST['name'];
        $surname = $_POST['surname'];
        $SQL = "SELECT * FROM Users WHERE name='$name' AND surname='$surname' LIMIT 1";
        $result = mysqli_query($link, $SQL);
        $users = mysqli_fetch_all($result, MYSQLI_ASSOC);
        if ($result) {
        	header('Location:check-ok.php?id='.$users['id']);
    	}
        else {
            printf("Ошибка: %s\n", mysqli_error($link));
        }

}

В файле check-ok следующее:
<? if (isset($_GET['id'])){
     $id = mysqli_real_escape_string($link, $_GET['id']);
     $SQL = "SELECT * FROM Users WHERE id='$id'";
     $result = mysqli_query($link, $SQL);
     $users = mysqli_fetch_all($result, MYSQLI_ASSOC);
     if ($result) {
        	?>
          <tr>
            <td><?=$users['surname']?> <?=$users['name']?> <?=$users['second_name']?></td>
            <td><?=$users['birth_date']?></td>
            <td><?=$users['birth_place']?></td>
            <td><?=$users['citizenship']?></td>
</tr>
                <?php
    	}
} ?>


id на вторую страницу не передаётся. В чём может быть причина?
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 2
В браузере конечный url у Вас как выглядит? После отрабатывания location который?
Location:check-ok.php?id='.$users['id'] - есть вероятность что у Вас $users['id'] пустой из за чего он не подставляется.

Если у Вас в строчке браузера он есть значит всё впорядке и значит передаётся id и должен быть доступен в $_GET["id"]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы