如何通过PHP在MySQL中插入HTML选择值作为文本

时间:2016-02-01 00:36:14

标签: php html mysql

我有这个选择字段: `

<select class="large-fld" id="regioni" name="region" value="" >
<option value="0"  hidden>City...</option>
<option value="775">Tbilisi</option>
<option value="776">Kutaisi</option>
<option value="788">Batumi</option>
and so on...

现在我需要,当我在PHP中调用此选择'region'然后在MySQL中插入值。
例如:有人选择Tbilisi(即$_POST['region']=775),这个值(775)选择DB。我需要,PHP选择相当于此值的HTML,而不是775插入数据库TBILISI ...
任何线索?

提前致谢...

3 个答案:

答案 0 :(得分:0)

775&gt;第比利斯,776&gt; Kutaisi静态数据在html中? 您只需创建一个类似

的数组
$regions = array('775'=>'Tbilisi','776'=>'Kutaisi');

并在处理之前形成替代值:

$region = $regions[$_POST['region']];

答案 1 :(得分:0)

设置一个包含列出的所有值及其对应名称的switch语句。这样做的主要优点是你可以尽可能安全地使用#34;已列出的值,因此如果用户尝试使用SQL注入,他们将无法攻击您,因为它将恢复为您的默认情况。但缺点是如果有很多字段,则必须将它们全部列出。我非常确定可能有办法破解系统,以获得&#34; innerHTML&#34; POST请求的属性,但我不确定。

$region = $_POST["region"];

switch($region){

    case "775":
       $insert = "Tbilisi"
    break;
    ...//more cases

     default:
     //if no case matches, do something here

     break;

}

答案 2 :(得分:0)

我不知道您是否仍需要此信息,但是: 1.首先,为什么不使用这样的选择选项?

<option value="Tbilisi">Tbilisi</option>
<option value="Kutaisi">Kutaisi</option>

然后Php将直接取名。

  1. 如果出于任何原因,无法使用上述选项,我还建议jQuery
  2. 使用此功能(将您的值-as区域名称发布到您的php脚本):

    $var = $( "#regioni option:selected" ).text();
    $.post( "your-php-script.php", { region: $var } );
    

    上面的代码应该包含在事件处理程序(onclick,onselect ...)中,具体取决于您的需要。阅读更多关于jquery的信息,你需要它。