<?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
建立了与数据库的连接,这不是问题,因为它在网站上运行。
如果有人能够指出我在哪里出错,并且可能在回复中输入正确的代码,我将非常感激。感谢您花时间阅读本文,我期待您的回复。
答案 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>');