php - 如何在 PHP+HTML+SQL 中使用带空格的 GET 传递表单中的变量

标签 php html sql variables

我有一个表单,我在其中显示一个选择项和另外两个不可见的输入,其中包含一些变量值,我需要在按下“操作”按钮时将这些值传递到同一页面。但我遇到的问题是这些变量是像“纽约”这样的城市名称,因此名称中有一个空格,并且在传递变量时只有“New”被传递;空间随之消失后什么也没有。我读到这些变量中不应该有任何空格,那么我应该怎么做呢?

这是我的示例代码:

// at the beginning of the code I get this variables pass from other pages

$pais=$_GET['pais']; 
$name=$_GET['nombre'];


// this is how I query my table to populate my select item

$SN=mysql_real_escape_string($name);
$SP=mysql_real_escape_string($pais);
$estadoquery = "SELECT * FROM `".$SP."` ORDER BY Estado ASC";
$estadoresult = mysql_query($estadoquery);


// this is how I make my form

<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="HIDDEN"  name=nombre  value="<? echo $SN ?>">
<input type="HIDDEN"  name=pais  value="<? echo $SP ?>">
  <th scope="col" align="center" valign="baseline" size="18px">

      <select name=estado  id="estado" style="font-size:24px">
       <option value="">Todos</option>
        <?
        while($rowp = mysql_fetch_array($estadoresult)) {
               $estado = $rowp['Estado'];
               $Se=mysql_real_escape_string($estado);
          ?>
        <option value=<?php echo $Se ?>>
        <?php echo $Se ?></option>
        <? } ?>
      </select>
  </th>
   <th scope="col" align="center" valign="baseline"> 
  <input type="SUBMIT"  name="ACTION" value="IR">
</th></form>


// and this is what the button action does

 if(@$_POST['ACTION']=='IR')
{
$pais = $_POST['pais'];
$name = $_POST['nombre'];
$estado = $_POST['estado'];
  $pais = mysql_escape_string($pais);
  $name = mysql_escape_string($name);
  $estado = mysql_escape_string($estado);
// this next echos are just to check my variables.
echo $pais;
echo $name;
echo $estado; // so here I can tell that this variable is not complete

而且我读到变量不能用空格传递,为什么我的 $pais变量“美国”是否正确传递了中间的空格? 有人能告诉我如何实现这个或如何转换我的 <option value=<?php echo $Se ?>>所以它可以通过空间?

最佳答案

根据我上面的评论:

问题是选项值周围没有引号。像这样改变它:

<option value="<?php echo $Se ?>"> 

然后你就可以开始了。

关于php - 如何在 PHP+HTML+SQL 中使用带空格的 GET 传递表单中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13103875/

相关文章:

php - Linux 上 Azure 应用服务上的 Wordpress 上的 "cURL error 28: Resolving timed out"

html - Bootstrap CSS 对齐

javascript - Canvas context.fillText 抛出 “An invalid or illegal string was specified”

sql - 在未识别的 SQL Server 上创建的主键

mysql - 如何从数据库行中的脚本中回显变量

mysql唯一编号生成

php - 在 PHP 中设置文本框的最大值

PHP 正则表达式匹配 Windows 产品 key

php - 在 WooCommerce 3+ 中将购物车总数作为 float 获取

javascript - 强制 mailto 标签,以便它在 DOM 加载后执行正确的功能