另一种形式的问题

时间:2014-01-21 15:45:49

标签: php forms mysqli

<?php
         error_reporting(E_ALL);
    ini_set( 'display_errors','1');

    if(isset($_POST["signupbtn"])) {
        if ($log_username) {
            /// getting data from submitted form into local variables
            $yt = preg_replace('#[^a-z 0-9]#i', '', $_POST['youtubei']);
            $t = preg_replace('#[^a-z 0-9]#i', '', $_POST['twitchi']);
            $vt = preg_replace('#[^a-z 0-9]#i', '', $_POST['videotypei']);
            $ip = preg_replace('#[^0-9.]#', '', getenv('REMOTE_ADDR'));
            // -------------------------------------------
                if (is_numeric($t[0])) {
                echo 'Twitch Account cannot begin with a number';
                exit();
            } else  { $sqli = "UPDATE profilepage SET youtube='$yt' WHERE username='$log_username'";
                    $query = mysqli_query($db_conx, $sqli); 
                     $sqli = "UPDATE profilepage SET twitch='$t' WHERE username='$log_username'";
                    $query = mysqli_query($db_conx, $sqli); 
                     $sqli = "UPDATE profilepage SET videotype='$vt' WHERE username='$log_username'";
                    $query = mysqli_query($db_conx, $sqli); 
                       echo "Video feeds update"; 

                exit();     
                }
         }
    }

    ?>
    <?php {
    echo('<form action="profile_interface/modules/videofeedform.php" method="POST" name="videoform">');
    echo('<input id="youtubei" value="YouTube Video Key" maxlength="16">');
    echo('<input id="twitchi" value="twrdodge" type="text" maxlength="16">');
    echo('<select id="videotypei"><option value="">Select Display video</option>');
    echo('<option value="yotubekey">YouTube</option>');
    echo('<option value="twitchuser">Twitch</option>');
    echo('</select>');
    echo('<input type="submit" id="signupbtn" name="signupbtn"></form>');
    }
    EXIT();

    ?>

首先,我正在尝试学习php。我看过几本书,看过很多视频(我还在学习)。

我现在正试图通过更新数据库信息来试验表单。该表已在注册期间建立,现在我想更新它。

确定所以上面的代码是表单和php到数据库。这是嵌入在页面上显示此内容没有问题的页面,该页面称为user.php(用户个人资料页面)。

现在问题是我每次填写表单并提交,它只刷新页面,当我查看数据库时,没有更新任何内容。我想知道是否有人能够指出我在哪里出错了。

我尝试过: 1)我尝试删除除一个输入之外的所有表单输入(和相关的数据库代码),它只是刷新。 2)我尝试过使用INSERT INTO

现在$log_username不是问题,因为顶级脚本会对此进行检查,所有内容都会恢复正常,所以我知道这不是$log_username的问题。

它根本不会带来任何错误,并且还通过顶部INCLUDE_ONCE建立了与数据库的连接,这不是问题,因为它在网站上运行。

如果有人能够指出我在哪里出错,并且可能在回复中输入正确的代码,我将非常感激。感谢您花时间阅读本文,我期待您的回复。

2 个答案:

答案 0 :(得分:1)

首先是

您需要一个名称来提交按钮。

<button id="signupbtn">

我建议将其作为

<input type="submit" id="signupbtn" name="signupbtn">

您正在使用

if(isset($_POST["signupbtn"])) {)

所以它不会找到任何带有你指定名称的POST,除非你的表单中有一些带有该名称的元素。

答案 1 :(得分:1)

$ _ POST [“signupbtn”]使用name属性而不是id

将您的所有ID更改为名称,然后您就可以开始工作了。而不是<button id="signupbtn">Submit</button>使用<input type="submit" name="signupbtn" value="Submit" />

echo('<form action="profile_interface/modules/videofeedform.php" method="POST" name="videoform">');
echo('<input name="youtubei" value="YouTube Video Key" maxlength="16">');
echo('<input name="twitchi" value="twrdodge" type="text" maxlength="16">');
echo('<select name="videotypei"><option value="">Select Display video</option>');
echo('<option value="yotubekey">YouTube</option>');
echo('<option value="twitchuser">Twitch</option>');
echo('</select>');
echo('<input type="submit" name="signupbtn" value="Submit" /></form>');
相关问题