1

我想做一个 if 语句,当用户单击提交时将特定内容插入 MySQL 数据库。但是由于某种原因它不起作用,我认为我下面的 if 语句是错误的,但我不知道如何表达它。if($_POST and $_POST['action'] == '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>
4

2 回答 2

1

可以做这一行:

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['PostAction']) && $_POST['PostAction'] == 'submitted'){ 
    echo '<pre>';
    print_r($_POST); // to see if the right info is posted...
    echo '</pre>';
    foreach($_POST as $k=>$v){
        $$k = $v;
    }
    foreach($cat as $k=>$v){
        if($v =='') continue;
        dbConnect("INSERT INTO twit_info(cat_id) values('". $v ."')");
        echo 'We have inserted something <br />';
    }
}
于 2012-10-28T22:34:51.207 回答
0

添加<input type="hidden" name="add_tweet_form" value="true">

然后检查if(isset($_POST['add_tweet_form']) && $_POST['add_tweet_form']=='true')

于 2012-10-28T22:44:51.287 回答