Php POST未定义变量,但请求有效
我收到以下所有变量的错误消息undefined variable:Php POST未定义变量,但请求有效,php,html,mysql,Php,Html,Mysql,我收到以下所有变量的错误消息undefined variable: if(isset($_POST['nome'])){ $name = $_POST['nome']; } if(isset($_POST['email'])){ $email = $_POST['email']; } if(isset($_POST['password'])){ $password = $_POST['password']; } 如果我使用REQUEST而不是POST,它会工作
if(isset($_POST['nome'])){
$name = $_POST['nome'];
}
if(isset($_POST['email'])){
$email = $_POST['email'];
}
if(isset($_POST['password'])){
$password = $_POST['password'];
}
如果我使用REQUEST而不是POST,它会工作,但是我读到,对于用户表单使用POST更好
以下是我的全部php代码:
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'class_rate');
define('DB_USER', 'root');
define('DB_PASSWORD', 'vB42lL&69_r');
$con = mysqli_connect(DB_HOST, DB_USER);
if(!$con){
die("Databese Connection Failed" . mysqli_error($con));
}
$db = mysqli_select_db($con, DB_NAME);
if(!$db){
die("Databese Selection Failed" . mysqli_error($con));
}
function NewUser($con, $db){
if(isset($_POST['nome'])){
$name = $_POST['nome'];
}
if(isset($_POST['email'])){
$email = $_POST['email'];
}
if(isset($_POST['password'])){
$password = $_POST['password'];
}
$query = "INSERT INTO users (nome_user,email_user,passw_user) VALUES ('$name','$email','$password')";
$data = mysqli_query($con, $query)or die(mysqli_error($con));
if($data) {
echo "YOUR REGISTRATION IS COMPLETED...";
}
}
function SignUp($con,$db){
if (!empty($_POST['email'])) {
$query = mysqli_query("SELECT * FROM users WHERE email_user = '$_POST[email]' AND passw_user = '$_POST[password]'") or die(mysqli_error($con));
if(!$row = mysqli_fetch_array($query) or die(mysqli_error($con)) ){
NewUser($con,$db);
}
}
else{
echo "Email already registered!";
}
}
if($_SERVER['REQUEST_METHOD'] == "POST"){
SignUp($con,$db);
}
?>
正如所有人所说,您的php脚本对于所有类型的攻击都是完全易受攻击的。请使用Php PDO&不要避免编码安全性。
关于你的问题:
改变这个
<button type='submit' ></button>
到
确保所有这些内部表单标签。
当使用一些java脚本时,按钮是首选的,但在您的代码中我没有看到任何java脚本,所以请避免使用它。
希望它能有所帮助。正如所有php脚本所说,它完全容易受到各种类型的攻击。请使用Php PDO&不要避免编码安全性。
关于你的问题:
改变这个
<button type='submit' ></button>
到
确保所有这些内部表单标签。
当使用一些java脚本时,按钮是首选的,但在您的代码中我没有看到任何java脚本,所以请避免使用它。
希望有帮助。$query=mysqli\u query("选择…
有一件事是不会触发的。永远不要存储纯文本密码!PHP提供并请使用它们。如果您使用的是5.5之前的PHP版本。请确保在散列之前在这些密码上使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。您的脚本可能会受到攻击。请查看w发生了这种情况。偶数。请改用。您遇到了一些间距问题,这将破坏代码。应该是id=“nome”name=“nome”
这些间距问题在几行上。var\u转储($\u请求);
和var\u转储($\u POST);
可能会提示您发生了什么。$query=mysqli\u query("选择…
有一件事是不会触发的。永远不要存储纯文本密码!PHP提供并请使用它们。如果您使用的是5.5之前的PHP版本。请确保在散列之前在这些密码上使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。您的脚本可能会受到攻击。请查看w发生了这种情况。偶数。请改用。您遇到了一些间距问题,这将破坏代码。应该是id=“nome”name=“nome”
这些间距问题在几行上。var\u转储($\u请求);
和var\u转储($\u POST)
可能会提示您发生了什么。您是否在表单中使用java脚本或任何验证?不,我应该使用吗?在您的表单中更改密码名称=通过,电子邮件名称=电子邮件。\n.在php脚本中更改相同的内容并查看结果。在您的表单中更改密码名称=通过,电子邮件名称=电子邮件。\n.在php脚本中更改相同的内容并查看结果。在php.In文件中,还要检查post_max_size定义为哪个值。它应该是8M(注意M)。您是否在表单中使用java脚本或任何验证?否,我应该使用吗?在您的表单中更改密码名称=通过,电子邮件名称=电子邮件。\n.在php脚本中更改相同的内容并查看结果。在您的表单中更改密码名称=通过,电子邮件名称=电子邮件。\n.在php脚本中更改相同的内容并查看结果。在您的php.in文件中,还检查post\u max\u size是否为def它应该是8M(注意M)。
<input type='submit' value='submit' />