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

我有这个选择字段:
` </ p>

 &lt  ; select class =“large-fld”id =“regioni”name =“region”value =“”&gt; 
&lt; option value =“0”hidden&gt; City ...&lt; / option&gt;
&lt; option value =“775”&gt; Tbilisi&lt; / option&gt;
&lt; option value =“776”&gt; Kutaisi&lt; / option&gt;
&lt; option value =“788”&gt; Batumi&lt; / option&gt;
等等......

</ code> </ pre>

现在我需要,当我在PHP中调用这个选择'region'</ code>然后在MySQL中插入值。

例如:有人选择Tbilisi(即 $ _ POST ['region'] = 775 </ code>),此值(775)将转到DB。 我需要,PHP从相当于这个值的HTML中选择775而不是数据库插入TBILISI ...

nny clue?</ p>

提前感谢... </ p> \ n </ div>

展开原文

原文

I have this select field: `

<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...

Now I need, when I will call this selection 'region' in PHP and then insert value in MySQL.
For example: Someone choose Tbilisi (i.e. $_POST['region']=775) and this value (775) goes to DB. I need, PHP choose from HTML equivalent of this value and instead 775 in DB insert TBILISI...
any clue?

Thanks in advance...

dongqiu9018
dongqiu9018 使用php白名单会很有帮助,有一个switch()运算符,其中列出了所有不同的值及其对应的名称。
4 年多之前 回复
dskvfdxgdo2422392
dskvfdxgdo2422392 这是单靠PHP无法完成的事情。看到这个和这个。
4 年多之前 回复
donglv9813
donglv9813 等等..让我研究一下......
4 年多之前 回复
duanhan9479
duanhan9479 我猜,通过PHP没有机会......:)对吗?
4 年多之前 回复
dongxue163536
dongxue163536 不,可悲的是,非常绿色
4 年多之前 回复
dongtan7351
dongtan7351 你用ajax吗?
4 年多之前 回复

3个回答



775&gt;第比利斯,776&gt; Kutaisi静态数据在html中?
你可以创建一个像</ p>
\的数组 n

  $ regions = array('775'=&gt;'Tbilisi','776'=&gt;'Kutaisi'); 
</ code> </ pre>

在处理之前形成替代值:</ p>

  $ region = $ regions [$ _ POST ['region']]; 
</ code> </ pre>
</ DIV>

展开原文

原文

Are 775>Tbilisi, 776>Kutaisi static data in html? Simply you can create an array like

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

and before processing form substitute values:

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

duanjianxiu9400
duanjianxiu9400 别客气 :)))
4 年多之前 回复
dontoften8899
dontoften8899 Spasibo :) baza ne ochen bolshoi i uje peredelal po tvoemu sovetu
4 年多之前 回复
dreamevil0002
dreamevil0002 但似乎最好创建一个key =>值数组
4 年多之前 回复
dongzhiju0324
dongzhiju0324 你可以在这里找到复杂的描述stackoverflow.com/questions/9436534 / ...或stackoverflow.com/questions/5004233 / ...
4 年多之前 回复
dongqing314511
dongqing314511 以及如何使用AJAX?
4 年多之前 回复
doumu5934
doumu5934 最好将所有数据从selectbox移动到db,或移动到大数组oO。 和不。 PHP在没有html代码的情况下获取_POST数组[key => value]。 您可以使用您希望的任何数据执行ajax请求,但是对于默认的POST请求,您必须具有一些要比较的数据
4 年多之前 回复
doudizhi947129
doudizhi947129 好的......但是如果有一个巨大的选择领域? 整个世界,例如,还是很多人? 你的方法工作(也许)但效果不好:)必须是php中的某个命令,它从选择字段或某些方法中看到Tbilisi,如python中的xml解析器,它可以看到整个html并为您提供完全控制。
4 年多之前 回复



设置一个包含列出的所有值及其对应名称的switch语句。 这样做的主要优点是您已经列出了所有可能的“安全”值,因此如果用户尝试使用SQL注入,他们将无法攻击您,因为它将恢复为您的默认情况。 但缺点是如果有很多字段,则必须将它们全部列出。 我很确定可能有办法攻击系统,使用 POST </ code>请求获取“innerHTML”属性,但我不确定。</ p>

  $ region = $ _POST [“region”]; 

switch($ region){

case“775”:
$ insert =“Tbilisi”
break;
... //更多情况

默认:
//如果没有大小写匹配,请在此处执行操作

break;

}
</ code> </ pre>
</ div>

展开原文

原文

Set up a switch statement with all the values listed and their corresponding names. The major advantage of this is that you have all possible "safe" values already listed, therefore if a user tries to use SQL injection, they won't be able to attack you because it will revert to your default case. However the disadvantage is that if there are lot of fields, you will have to list them all. I'm pretty sure there might be a way to hack the system, to get "innerHTML" property with the POST request, but I'm not sure.

$region = $_POST["region"];

switch($region){

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

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

     break;

}



我不知道你是否还需要这个信息,但是:
1。 首先,为什么不使用这样的选择选项? </ p>

 &lt; option value =“Tbilisi”&gt; Tbilisi&lt; / option&gt; 
&lt; option value =“Kutaisi”&gt; Kutaisi&lt; / option&gt;
</ code > </ pre>

然后Php将直接取名。 </ p>


  1. 如果出于任何原因,无法使用上述选项,我还建议 jQuery </ li>
    </ ol>

    使用此功能(将您的值 - 地区名称 - 发布到您的PHP脚本):</ p>

      $ var = $(“#  regioni选项:选中“)。text(); 
    $ .post(”your-php-script.php“,{region:$ var});
    </ code> </ pre>

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

展开原文

原文

I don't know if you still need this info, but: 1. first of all, why don't you use the select option like this?

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

Then the Php will take the name directly.

  1. If for any reason, the option above is not possible, I would also suggest jQuery

use this (to post your value -as region name - to you php script):

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

this code above should be included in an event handler (onclick, onselect...) depending what you need. read more about jquery, you need it.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问