Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 关于If语句插入数据库_Php_Mysql - Fatal编程技术网

Php 关于If语句插入数据库

Php 关于If语句插入数据库,php,mysql,Php,Mysql,我想做一个if语句,在用户单击submit时将特定的内容插入MySQL数据库。但由于某些原因,它不起作用,我认为我下面的if语句是错误的,但我不知道如何表达它如果($\u POST和$\u POST['action']=='submit'){ 我应该在此处正确放置什么,以便在用户按submit时将其插入数据库 if($_POST and $_POST['action'] == 'submit'){ foreach($_POST as $k=>$v){ $$k =

我想做一个if语句,在用户单击submit时将特定的内容插入MySQL数据库。但由于某些原因,它不起作用,我认为我下面的if语句是错误的,但我不知道如何表达它<代码>如果($\u POST和$\u POST['action']=='submit'){ 我应该在此处正确放置什么,以便在用户按submit时将其插入数据库

if($_POST and $_POST['action'] == 'submit'){ 
    foreach($_POST as $k=>$v){
        $$k = $v;
    }
    foreach($cat as $k=>$v){
        if($v =='') continue;
        dbConnect("INSERT INTO twit_info(cat_id) values('". $v ."')");
    }
}
下面是我代码的提交部分

<form id="add_tweet_form" action="<?=$u?>admin/submit.php" enctype="multipart/form-data" method="post">
<input type="hidden" value="<?=$user_info->id_str?>" name="twitid">
</form>
<form id="go_back_to_user" action="submit" method="post">
<input type="hidden" value="masud" name="username">
<input type="hidden" value="from_tweet" name="submit_username">
</form>
<nav>
<a class="btn float-right" onclick="document.forms['add_tweet_form'].submit();this.innerHTML='Submitting...';" href="javascript:;">Submit</a>
<a class="float-right nav-text gray" title="Don't submit tweet, and go back"  onclick="window.location.href='<?=$u?>admin/submit.php';" href="javascript:;">Cancel</a>
可以通过以下方式:

if($_POST and $_POST['action'] == 'submit'){ 
对这样的事情:

if(isset($_POST['action']) && $_POST['action'] == 'submit'){ 
表格如下:

<form id="add_tweet_form" action="<?=$u?>admin/submit.php" enctype="multipart/form-data" method="post">
    <input type="hidden" value="<?=$user_info->id_str?>" name="twitid"/>
    <input type="hidden" value="submitted" name="PostAction" />
</form>
<form id="go_back_to_user" action="submit" method="post">
    <input type="hidden" value="masud" name="username">
    <input type="hidden" value="from_tweet" name="submit_username">
</form>
<nav>
    <a class="btn float-right" onclick="document.forms['add_tweet_form'].submit();this.innerHTML='Submitting...';" href="javascript:;">Submit</a>
    <a class="float-right nav-text gray" title="Don't submit tweet, and go back"  onclick="window.location.href='<?=$u?>admin/submit.php';" href="javascript:;">Cancel</a>
可以通过以下方式:

if($_POST and $_POST['action'] == 'submit'){ 
对这样的事情:

if(isset($_POST['action']) && $_POST['action'] == 'submit'){ 
表格如下:

<form id="add_tweet_form" action="<?=$u?>admin/submit.php" enctype="multipart/form-data" method="post">
    <input type="hidden" value="<?=$user_info->id_str?>" name="twitid"/>
    <input type="hidden" value="submitted" name="PostAction" />
</form>
<form id="go_back_to_user" action="submit" method="post">
    <input type="hidden" value="masud" name="username">
    <input type="hidden" value="from_tweet" name="submit_username">
</form>
<nav>
    <a class="btn float-right" onclick="document.forms['add_tweet_form'].submit();this.innerHTML='Submitting...';" href="javascript:;">Submit</a>
    <a class="float-right nav-text gray" title="Don't submit tweet, and go back"  onclick="window.location.href='<?=$u?>admin/submit.php';" href="javascript:;">Cancel</a>
添加

然后检查
if(设置($\u POST['add\u tweet\u form'])和&$\u POST['add\u tweet\u form']='true')
添加


然后检查
if(设置($\u POST['add\u tweet\u form'])和&$\u POST['add\u tweet\u form']='true')

你确定$\u POST['action']==submit吗?你能通过输出$\u POST验证它是否等于submit吗?也许
打印($\u POST)
有助于验证信息让我看看它会显示什么建议:不要使用变量。(
$$k=$v;
)它们无法调试,非常混乱,在这种情况下,看起来是打开SQL注入漏洞的好方法。您确定$\u POST['action']==submit吗?您能通过输出$\u POST验证它是否等于submit吗?mayby
print\r($\u POST)
帮助验证信息让我看看它会显示什么建议:不要使用变量。(
$$k=$v;
)它们不可能调试,非常混乱,在这种情况下,看起来是打开SQL注入漏洞的好方法。@Sonicool正如michael所说,可能$\u POST无法保存该操作值。此外,在表单中使用表单也是不好的做法。你最好用PostAction和value sub这样的名称创建一个隐藏输入类型麻省理工学院,检查一下……事实上,他的表单不在表单中,除非我遗漏了什么。@Soniccol正如michael所说,可能$u POST不会包含那个动作值。还有,在表单中使用表单。这不是一个好的做法。你最好用PostAction和value submit这样的名称创建一个hidde输入类型,并检查一下。。。。事实上,他的表格不在表格里,除非我遗漏了什么。