2016-02-05 4 views
-2

Прежде чем начать, это не дубликат this. Это не помогает мне.PHP переменная через форму для отправки -

Я пытаюсь создать переменную php из ввода формы html. Вот мой код, который я грубо скопирована с некоторых веб-сайт где предположительно

<form method="post"> 
Word: <input type="text" name="name"><br> 
<input action="welcome.php" type="submit"> 
</form> 
<audio src="http://ssl.gstatic.com/dictionary/static/sounds/de/0/"<?php echo $_POST["name"]; ?>".mp3" loop="1" autoplay="1"></audio> 

Еще одна вещь, как я буквально щелкнул копирования и вставки, я понятия не имею, что welcome.php на самом деле. Поскольку этот ужасный сайт на самом деле не наставлял меня на это. Я пробовал без этой линии, но, к сожалению, безрезультатно.

Если вы хотите увидеть, что я имею в виду, нажмите here.

PS: Пожалуйста, не спрашивайте, почему я это делаю. Это внутренняя шутка, которая будет тайно размещена во многих местах.

Большое спасибо,
Me.

+0

Для уточнения, вы хотите загрузить mp3 с именем, которое является типом в форме? – showdev

+0

Да, это точно. –

+0

Если это _really_ является используемой разметкой, тогда вам не хватает соответствующего javascript, без которого это не может работать. – arkascha

ответ

1
<form method="post" action=''> 
    Word: <input type="text" name="name"><br> 
    <input value='submit' type="submit"> 
</form> 

<?php if(isset($_POST['name'])) { //Isset checks if $_POST['name'] exists (has been posted) ?> 
<audio src="http://ssl.gstatic.com/dictionary/static/sounds/de/0/"<?php echo htmlentities($_POST["name"]); ?>".mp3" loop="1" autoplay="1"></audio> 
<?php } ?> 

Если вы хотите присвоить значение name переменный, просто выполните следующие действия на странице:

if(isset($_POST['name'])) //If the value has been posted, assign it to a variable. 
{ 
    $myvariable = $_POST['name']; 
} 

Действие разместит обратно на основную страницу, действие используются на форму для прямой публикации на конкретную страницу (ничего не вводить и она будет размещаться на текущей странице), и она не используется на входах. Убедитесь, что вы также используете htmlentities для любого почтового ввода, поскольку он будет уязвим для XSS в противном случае. Это также будет иметь только аудиофайл после того, как было отправлено имя.

Позволяет разбить его, построчно: <form method="post" action=''> Форма использует метод POST который posts the data на следующей странице, чтобы захватить с $_POST.

Word: <input type="text" name="name"><br> Здесь $_POST['name']. Имя - это имя ввода, и оно отправляется на следующую страницу, которую можно захватить с помощью $_POST.

<input value='submit' type="submit"> При нажатии кнопки отправки данные отправляются на следующую страницу.

</form> закрывает форму

<?php if(isset($_POST['name'])) { ?> IsSet проверяет, является ли $ _POST [ 'имя'] существует (было выложено)

<?php echo htmlentities($_POST["name"]); ?> Echos и название на странице.

+0

Я не уверен, как это объяснить. Я хочу создать переменную php, которая будет записана в форму. –

+0

@shadowdev Моя ошибка, я нажал сообщение, прежде чем я по ошибке ошибся на своем планшете. – Matt

+0

Редактирование еще не сработало. [link] (http://4late.nn.pe) постоянно обновляется для любых ответов: p –

0

Вы почти у цели. Атрибут action формы должен находиться в теге <form>, а не в одном из его тегов ввода. Если вы хотите, чтобы он пришел обратно к той же странице, когда пользователь нажимает кнопку отправки, поставить имя файла PHP в атрибуте действия, как это:

<form method="post" action=" nameOfThisFile.php "> 
    Word: <input type="text" name="name"><br> 
    <input type="submit" value="Submit"> 
</form> 
+0

Как я уже сказал, я понятия не имею, что делает файл .php в атрибуте действия или что он должен быть в нем. –

+0

То, что вы добавили в «действие» attirbute, указывает браузеру, на какую страницу нужно перейти, когда форма отправлена. – tokamak

+0

Это не проблема, которую я испытываю. (по крайней мере, я не думаю, что это так) –

Смежные вопросы