Использование данных $ _POST для создания нового значения HTML-формы - PullRequest
1 голос
/ 20 февраля 2011

Я использую post для отправки информации на мою страницу. Я использую это, чтобы создать переменную и передать эту переменную в новый <input>. Однако, когда я отправляю новую форму, переменная становится пустой.

Переменная создана из данных поста:

$timenotstarted = $_POST["placeholder"]; 

Затем встроенный в HTML:

<form name="newform" method="post" action="insert.php">
<input type="text" name="timerset" value="<?php echo $timenotstarted; ?>">
<input type="submit" value="Submit"><
</form>

При отправке новой формы переменная, для которой name="timerset", пуста.

Когда я повторяю $timenotstarted на той же странице, что и эта форма,

покажет свою стоимость. Он просто «уходит», когда я пытаюсь использовать его в новой форме.

Редактировать: вот что радует: enter image description here

Не уверен, поможет ли это: http://forexguruguide.com/timer/insert.php

А вот и весь шабанг:

<?php include 'connect.php';
$timenotstarted = $_GET["placeholder"];
$start = $_POST["start"];
$timerset = $_post["timerset"];
echo $timenotstarted . '<br />';
echo $start . '<br />';
echo $timerset . '<br />';
?>

<form name="timeform" method="get" action="insert.php">
<select name="placeholder">
  <option value="1">1 min</option>
  <option value="3">3 min</option>
  <option value="5">5 min</option>
  <option value="10">10 min</option>
</select>
<input type="submit" value="Set timer">
</form>

<form name="startform" method="post" action="insert.php">
<input type="hidden" value="1" name="start">
Timer set to: <input type="text" name="timerset" value="<?php print $timenotstarted?>">
<input type="Submit" value="Start Timer">
</form>

<?php

if ($start==1) {
  $target = time() + ($timerset * 60);
  mysql_query("UPDATE countdowntimer SET target='$target' WHERE id='0'");
  mysql_query("UPDATE countdowntimer SET timenotstarted='null' WHERE id='0'");
  echo 'Timer started' . '<br />';
  echo $target . '<br />';
  echo time(); }
else if (!empty($timenotstarted)) {
  $timenotstarted .= ":00";
  mysql_query("UPDATE countdowntimer SET timenotstarted='$timenotstarted'");
  echo 'Timer set to: ' . $timenotstarted; }
else {
  echo 'Set the timer then start the timer'; }
?>

Ответы [ 3 ]

2 голосов
/ 20 февраля 2011

не должен использовать POST для этого.Это работа GET

<? if (!isset($_GET['placeholder'])): ?>
<form>
Enter placeholder:
<input type="text" name="placeholder" value="">
<input type="submit" value="Submit">
</form>
<? else: ?>
<form name="newform" method="post" action="insert.php">
<input type="text" name="timerset" value="<?=htmlspecialchers($_GET["placeholder"])?>">
<input type="submit" value="Submit">
</form>
<? endif ?>
0 голосов
/ 20 февраля 2011

Итак, вот что НАКОНЕЦ сработало. Я просто перестроил вторую форму ...:

<form name="testyboy" method="post" action="insert.php">
<input type="hidden" value="1" name="start">
<input type="hidden" value="<?php print $timenotstarted?>" name="testyboy">
<input type="submit" value="Start Timer">
</form>

Это идентично. Я понятия не имею, что заставило это работать ....

В любом случае, спасибо за все усилия! Очень ценится.

0 голосов
/ 20 февраля 2011

Мне не понятно, что вы делаете неправильно из своего поста, но вот основы того, как это сделать правильно:

page1.php

<form action="page2.php" method="post">
<input type="hidden" name="foo" value="bar"/>
<input type="submit"/>
</form>

page2.php

<form>
<input name="foo2" value="<?php echo htmlspecialchars($_POST['foo']); ?>"/>
</form>
...