我有这个选择字段: `
<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 ...
任何线索?
提前致谢...
答案 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将直接取名。
使用此功能(将您的值-as区域名称发布到您的php脚本):
$var = $( "#regioni option:selected" ).text();
$.post( "your-php-script.php", { region: $var } );
上面的代码应该包含在事件处理程序(onclick,onselect ...)中,具体取决于您的需要。阅读更多关于jquery的信息,你需要它。