Сохранить ввод формы PHP на веб-страницу
Я пытаюсь спасти input
из PHP
Форма на странице действий.
Так, например, форма на /world/play/create/create.php
и подчинение приводит к /world/play/create/index.php?id=(6DIGIT#)
ввод имени пользователя из первого URL-адреса будет отражен в действии и сохранен на странице, чтобы любой пользователь мог вернуться и увидеть его.
Однако, когда я запускаю этот код (ниже), он отображает имя пользователя на вкладке, которая отправила форму, но другие пользователи, которые переходят по ссылке, не могут видеть это имя пользователя, когда присоединяются; каждый человек может видеть только свое имя пользователя.
Я пытаюсь сделать так, чтобы каждый человек мог видеть свой вклад И всех остальных, но сейчас он показывает только свой.
На данный момент это то, что я до сих пор:
URL:
/world/play/create/index.php?id=M12345
Форма (по первой ссылке):
<form id="access" method="post" action="/world/play/create/index.php?id=" onsubmit="this.action=this.action.split('#')[0]+'M'+(Math.floor(Math.random()*(75800-39408))+30938);phpValue();">
<input autocomplete="off" type="text" name="nameP1" id="unm" placeholder="Username" value="<?php echo $nameP1;?>">
<br>
<div style="line-height:10px"> </div>
<input type="submit" value="CONTINUE" onclick="return checkInput()">
</form>
PHP (по второй ссылке):
<?php
$nameErr = "";
$nameP1 = "";$nameP2 = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["nameP1"])) {
$nameErr = "Name is required";
} else {
$nameP1 = test_input($_POST["nameP1"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$nameP1)) {
$nameErr = "Only letters and white space allowed";
}
}
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["nameP2"])) {
$nameErr = "Name is required";
} else {
$nameP2 = test_input($_POST["nameP2"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$nameP2)) {
$nameErr = "Only letters and white space allowed";
}
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
И, наконец, эхо PHP (по второй ссылке):
<span id="playerName"><?php echo $nameP1; ?></span>
1 ответ
Если вы хотите сохранить переменные в URL, вам следует изменить метод формы на GET вместо POST. Измените переменную $_POST в своем коде во втором php-файле на $_GET.
Дополнительная информация: http://php.net/manual/en/tutorial.forms.php