gpt4 book ai didi

php - POST undefined variable ,但 REQUEST 有效

转载 作者:行者123 更新时间:2023-11-30 21:58:26 27 4
gpt4 key购买 nike

我收到以下所有变量的错误消息 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 它可以工作,但我读到用户表单最好使用 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);
}


?>

我不知道我的问题是否出在我的表单 HTML 代码上,所以我也将它包括在这里:

 <form action="cadastro.php" method="post">
<label><b>Nome:</b></label>
<div>
<input type="text" placeholder="Nome" id = "nome"name="nome" required>
</div>
<label><b>Email:</b></label>
<div>
<input type="email" placeholder="Email" id = "email "name="email" required>
</div>
<label><b>Confirmar Email:</b></label>
<div>
<input type="email" placeholder="Confirmar Email" id="confirmar_email" name="confirmar_email" required>
</div>
<label><b>Universidade:</b></label>
<div>
<input type="text" placeholder="Universidade" id="universidade" name="universidade" required>
</div>
<label><b>Curso:</b></label>
<div>
<input type="text" placeholder="Curso" id="curso" name="curso" required>
</div>
<label><b>Senha:</b></label>
<div>
<input type="password" placeholder="Senha" id="password" name="password" required>
</div>
<label><b>Confirmar Senha:</b></label>
<div>
<input type="password" placeholder="Confirmar Senha" id="confirmar_password" name="confirmar_password" required>
</div>
<input type="checkbox"> Ao apertar na caixa voce confirma que leu e conconrda com os <a href="#">Termos e Condicoes</a>.
<div class="botoes">
<button name = "sub" id = "sub" type="submit" class="signupbtn">Confirmar</button>
<button name = "cancel" id = "cancel" type="button" class="cancelbtn">Cancelar</button>
</div>
</form>

最佳答案

正如您所说的,您的 PHP 脚本完全容易受到所有类型的攻击。请使用 Php PDO & 不要避免编码安全。关于您的问题:

改变这个

<button type='submit' ></button>

 <input type='submit' value='submit' />

确保所有这些都在表单标签内。当使用某些 java 脚本时首选按钮,但在您的代码中我没有看到任何 java 脚本,因此请避免使用它。希望对您有所帮助。

关于php - POST undefined variable ,但 REQUEST 有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44268585/

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