HTML PHP проблема формы ввода с пробелом? - PullRequest
0 голосов
/ 11 апреля 2011

Я делаю это со своего телефона, поэтому не стесняйтесь редактировать код для меня.Спасибо: L

Итак, у меня есть форма, и я пытаюсь перенести данные из базы данных MYSQL в скрытое поле для отправки в форме.Тем не менее, я обнаружил, что если в данных в БД есть пробел (т.е. Hello там), то он принимает только «Hello» и пропускает «туда» полностью.Как бы я это исправить, и если это не поправимо, есть ли способ обойти это?Спасибо.

$result = mysql_query("SELECT * FROM ##### ORDER BY `id` DESC");

while($row = mysql_fetch_array($result)) {
  $test=$row['name'];
  $id=$row['id'];
  echo"<form method=post action=\"joingroup.php\"><input type=hidden name=test value=$test><input type=submit value=\"Submit\"></input></form>";
}

ОТВЕТ: Поместите \ "вокруг переменной.

Ответы [ 2 ]

4 голосов
/ 11 апреля 2011

Если у вас есть значение с пробелом, вы должны заключить это значение в кавычки в своем HTML:

Попробуйте:

echo "<form method=post action=\"joingroup.php\">
        <input type=\"hidden\" name=\"test\" value=\"$test\">
        <input type=\"submit\" value=\"Submit\">
      </form>";

Илиеще лучше - использовать одинарные кавычки (и конкатенацию, поскольку переменные PHP не оцениваются в одинарных кавычках, как в двойных кавычках):

echo '<form method="post" action="joingroup.php">
        <input type="hidden" name="test" value="' . $test . '">
        <input type="submit" value="Submit">
      </form>';

Или, для достижения наилучших результатов, не echo outваш HTML.Вместо этого выйдите из PHP и вернитесь назад достаточно долго, чтобы echo необходимые переменные:

<?php
  // get values from DB, etc.
?>

<form method="post" action="joingroup.php">
  <input type="hidden" name="test" value="<?php echo $test; ?>">
  <input type="submit" value="Submit">
</form>

<?php
  // resume processing here
?>
0 голосов
/ 11 апреля 2011

Проверьте поля базы данных, если они определены как VARCHAR, и посмотрите длину каждого поля. Обычно это может быть проблемой, я не могу думать ни о чем другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...