Я пытаюсь передать переменные через URL-адрес, используя функцию заголовка, как способ перенаправления страницы. Но когда страница перенаправляется, она передает имена фактических переменных, а не значения, связанные с переменными. Я новичок в PHP и не полностью понимаю синтаксис, поэтому любое дальнейшее объяснение относительно правильного способа сделать это было бы высоко оценено.
header('location: index.php?id=".$_POST[ac_id]."&err=".$login."');
Вы хотите:
header("Location: index.php?id=".$_POST['ac_id']."&err=".$login);
Вы объединили '
и "
в этой строке, поэтому он не мог правильно интерполировать переменные. В моем примере выше вы строго открываете строку с помощью "
и объединяете переменные со строкой».
У вас есть котировки в кавычках. Попробуйте это вместо этого:
header('location: index.php?id=' . urlencode($_POST['ac_id']) . '&err=' . urlencode($login));
Функция urlencode () выполняет поиск любых зарезервированных символов в URL-адресе.
Вместо этого я хотел бы использовать http_build_query()
, если вы считаете, что в URL-адресе будет больше одной или двух переменных.
header('Location: index.php?' . http_build_query(array( 'id' => $_POST['ac_id'], 'err' => $login )));
Кроме того, вы технически не можете использовать относительные пути в заголовке местоположения. Хотя он работает с большинством браузеров, он недействителен в соответствии с RFC. Вы должны указать полный URL.
Попробуйте хранилище SESSION. header используется для перенаправления страницы. и если вы действительно хотите передавать значения через заголовок только тогда, у вас есть genrate url. header ('location: destination.php? value1 = 1 & value2 = 3'); но это не является хорошей практикой для варсов. просто сохраните значения в глобальном переменном SESSION. B4 вызов перенаправления заголовка (). @получить страницу u нужно проверить, если сеанс val isset () n! empty () then … или еще …
Надеюсь, эта помощь поможет.
header('location: index.php?id='.$_POST['ac_id'].'&err='.$login);
Попробуй это:
header("location: index.php?id=$_POST[ac_id]&err=$login");
PHP-переменные расширяются внутри строк с двойными кавычками.
Вы можете попробовать это
header("Location:abc.html?id=".$_POST['id']."id_2=".$var['id_2']);
Если это работает, дайте мне знать. Это просто пример.