Я разрабатываю игру с javascript и jquery. В моей игре, когда игрок разговаривает с другим персонажем, он открывает текст как внешний файл, используя функцию window.open('')
. В начале игры пользователь должен ввести имя для своего символа, после чего он обрабатывается php:
<form action="play.php" method="get">
<input type="text" name="name"/><input type="submit" value="confirm"/>
</form><form action="play.php" method="get">
.
<input type="text" name="name"/><input type="submit" value="confirm"/>
</form>
Как я уже говорил, когда игрок разговаривает с другим игроком, он открывает внешний файл, но я спрашиваю, как передать данные формы во внешнее окно, открытое с помощью window.open('')
Я уже пробовал
function txtone()
{
window.open('txtone.php?name=<?php echo $_GET["name']; ?>')
}
но это не сработало. Таким образом, в основном я хочу, в конце концов, это внешнее окно, открытое с помощью window.open('txtone.php')
которое может получать php-данные со страницы, которую она открывала из
(вместо открытия txtone.php он откроет txtone.php? name = example).
Edit: у меня есть идея, что я могу отправить переменную php в дочернее окно, открытое с помощью window.open, но я понятия не имею, как это сделать с помощью window.opener
?
Вы пытались window.open('txtone.php?name=<?php echo htmlspecialchars($_GET["name"]); ?>')
function txtone() { window.open('txtone.php?name=<?= $_GET["name"] ?>'); }
Когда пользователь «войдет в систему» - так сказать – с его именем пользователя в начале вашей игры, возможно, попробуйте сохранить имя в Cookie и прочитать его, когда он хочет поговорить с другими и дать свое имя window.open с JS.
window.open('txtone.php<?php echo $_GET["name'}; ?>')
^ Эта строка имеет опечатку в конце (} вместо]), а также приведет к следующему:
txtone.phpSomeUserName
Вам не хватает параметра там (если это в вашем коде, как это, скорее всего, ваш виновник). Вероятно, вы намеревались иметь что-то вроде
txtone.php?username=<?php echo "someUsername"; ?>
Ваш код немного выключен
+ Изменить
window.open('txtone.php<?php echo $_GET["name'}; ?>')
к
window.open('txtone.php<?php echo $_GET['name']; ?>')
Также убедитесь, что вы передаете значение для ввода имени