gpt4 book ai didi

php - 我的 php 脚本将空白信息输入到 mysql 数据库中!

转载 作者:行者123 更新时间:2023-11-29 07:11:06 25 4
gpt4 key购买 nike

当我尝试从一个表单中输入数据时,我已经添加了一个新条目,正如我从 phpmyadmin 中看到的那样,但没有传输其他详细信息

我使用的是一个简单的表单,它收集了 9 个提交到 update.php 的文件。这是我在 update.php 中的内容

<?php
$realname = $_POST['realname'];
$age = $_POST['age'];
$country = $_POST['country'];
$gamename = $_POST['gamename'];
$gamelevel = $_POST['gamelevel'];
$itemlevel = $_POST['itemlevel'];
$class = $_POST['class'];
$played = $_POST['played'];
$support = $_POST['support'];

mysql_connect ("localhost", "mydb_userid", "MYPASSWORD") or die ('Error: ' . mysql_error());
mysql_select_db ("mydb_recruitment");

$query="INSERT INTO applicants (ID, realname, age, country, gamename, gamelevel, itemlevel, class, played, support)VALUES ('NULL','".$realname."','".$age."','".$country."','".$gamename."','".$gamelevel."','".$itemlevel."','".$class."','".$played."','".$support."')";

mysql_query($query) or die ('Error updating DB');

echo "You have sucessfully sent an application. Your details will be reviewed and someone will get back to you";

?>

希望有人能提供帮助,搜索网络似乎暗示了一些关于全局变量的信息 - 但我不知道我是否可以控制它作为一个托管站点。

这是注册表单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Candidate Registration</title>
</head>

<body>

<form medthod="post" action="update.php">

Real Name:<br />
<input type="text" name="realname" size="50" /><br />

Age:<br />
<input type="text" name="age" size="10" /><br />

Country:<br />
<input type="text" name="country" size="20" /><br />

In Game Name:<br />
<input type="text" name="gamename" size="30" /><br />

In Game Level:<br />
<input type="text" name="gamelevel" size="10" /><br />

In Game Item Level:<br />
<input type="text" name="itemlevel" size="10" /><br />

Class Played:<br />
<input type="text" name="class" size="30" /><br />

How long have you played wow?:<br />
<input type="text" name="played" size="10" /><br />

Please enter a brief statement of why you want to join:<br />
<input type="text" name="support" size="5000" /><br />
<br />
<input type="submit" value="Update DB" />

</form>
</body>
</html>

这是 update.php 表单

<?php
$realname = $_POST['realname'];
$age = $_POST['age'];
$country = $_POST['country'];
$gamename = $_POST['gamename'];
$gamelevel = $_POST['gamelevel'];
$itemlevel = $_POST['itemlevel'];
$class = $_POST['class'];
$played = $_POST['played'];
$support = $_POST['support'];

mysql_connect ("localhost", "mydb_daniel", "mypwd") or die ('Error: ' . mysql_error());
mysql_select_db ("mydb_recruitment");

$query="INSERT INTO applicants (ID, realname, age, country, gamename, gamelevel, itemlevel, class, played, support)VALUES ('NULL','".$realname."','".$age."','".$country."','".$gamename."','".$gamelevel."','".$itemlevel."','".$class."','".$played."','".$support."')";

mysql_query($query) or die ('Error updating DB');

echo "You have sucessfully sent an application. Your details will be reviewed and someone will get back to you";

?>

我理解人们对安全的担忧,但请理解这只是为了让我搞砸并为我的公会制作基本的注册表单,我不会要求提供信用卡详细信息:)

最佳答案

您的表单方法是否设置为 POST? - 除非你明确地添加了这个,否则变量将在 $_GET 超全局变量中,所以你的变量将是这样的:

$realname = $_GET['realname'];

如果它设置为 POST - 请在脚本顶部执行 var_dump($_POST) 并查看是否有任何变量进入您的脚本。

我之前看到的其他问题是当人们在 .htaccess 中从 domain.com 重定向到 www.domain.com 并将脚本显式发布到 domain.com/script 时引起的.php,然后脚本重定向到 www.domain.com/script.php,这会清空 POST。

编辑

您在表单标记中拼写错误的 method - 如果您更新它,那么它应该可以工作,因为您的拼写错误将导致变量作为 GET vars 发送。

您可以通过如下基本方式解决您的安全问题:

$realname = mysql_real_escape_string($_POST['realname']);
$age = mysql_real_escape_string($_POST['age']);
$country = mysql_real_escape_string($_POST['country']);
$gamename = mysql_real_escape_string($_POST['gamename']);
$gamelevel = mysql_real_escape_string($_POST['gamelevel']);
$itemlevel = mysql_real_escape_string($_POST['itemlevel']);
$class = mysql_real_escape_string($_POST['class']);
$played = mysql_real_escape_string($_POST['played']);
$support = mysql_real_escape_string($_POST['support']);

关于php - 我的 php 脚本将空白信息输入到 mysql 数据库中!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4494713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com