【发布时间】:2014-02-11 07:41:44
【问题描述】:
<?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 建立的,这不是问题,因为它可以在整个网站上运行。
如果有人能指出我在这里出错的地方并可能在回复中输入正确的代码,我将非常感激。感谢您抽出宝贵时间阅读本文,期待您的回复。
【问题讨论】:
-
您实际在哪里提交表单?我没有看到将提交按钮链接到表单提交的任何内容。另外 - 你为什么使用 PHP 来
echo()HTML?如果你只是删除周围的<?php和?>你可以只写HTML -
@Dutchie432 在大多数浏览器中,一个
-
@DickW 老实说,我一生中从未使用过
<button>标签。我只是使用 CSS 来设置 div 和输入的样式。谢谢你的解释。 -
如果我不回显表单,那么我会在表单下得到一个 1。我不确定为什么会发生这种情况,但确实如此。这可能是因为您需要在数据库上激活此表单才能显示。激活脚本工作正常