gpt4 book ai didi

php - 在 HTML 中运行 PHP 错误(此页面无法正常工作)

转载 作者:行者123 更新时间:2023-11-29 09:41:12 26 4
gpt4 key购买 nike

我为我的网站设置了此注册表单。人们输入他们的用户名、电子邮件和密码,然后它使用 php 将其添加到我的数据库中。但当我运行我的代码时,我不断收到此错误。我的 html 文件和这个 PHP 文件都在我的 AWS 服务器上,所以我相信我的代码中一定有错误。我对 PHP 还很陌生。

HTML:

<form method="get" action="signup_form.php">
<input style="width: 300px; display: block; margin-left: auto; margin-right: auto;" type="text" name="signup_name" placeholder="Screen Name">
<br>
<input style="width: 300px; display: block; margin-left: auto; margin-right: auto;" type="text" name="signup_mail" placeholder="Your E-mail">
<br>
<input style="width: 300px; display: block; margin-left: auto; margin-right: auto;" type="password" name="signup_password" id = "password" placeholder="Create Password" required>
<br>
<input style="width: 300px; display: block; margin-left: auto; margin-right: auto;" type="password" name="confirm_password" id = "confirm_password" placeholder="Repeat Password" required>
<br>
<br>
<button onclick="validatePassword()" class="button" style="display: block; margin-left: auto; margin-right: auto;" type="submit" name="submit_login">
SUBMIT
</button>


</form>

这是我的 PHP 代码:

<?php
$signup_name = filter_input(INPUT_GET, 'signup_name');
$signup_mail = filter_input(INPUT_GET, 'signup_mail');
$signup_password = filter_input(INPUT_GET, 'signup_password');

if (!empty($signup_name)){
if (!empty($signup_mail)){
$host = "wildwea.......onaws.com";
$dbusername = "a....in";
$dbpassword = ".Bi....4.";
$dbname = "innodb";
// Create connection
$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);
if (mysqli_connect_error()){
die('Connect Error ('. mysqli_connect_errno() .') '
. mysqli_connect_error());
}
else{

$sql = "SELECT EXISTS (SELECT 1 FROM Users WHERE Email = $signup_mail);"
if ($sql = 0){

$sql = "INSERT INTO Users (Username, Email, Pword)
values ('$signup_name', '$signup_mail',md5('$signup_password'))";

if ($conn->query($sql)){
echo "New record is inserted sucessfully";
}
else{
echo "Error: ". $sql ."
". $conn->error;
}
$conn->close();
} else {
echo "User already in database";
}
}
}
else{
echo "Password should not be empty";
die();
}
}
else{
echo "Username should not be empty";
die();
}
?>

如果您想查看错误,请点击注册页面的链接: http://thewildwear.com/signup.html

最佳答案

我们无法看到您的具体错误(看起来可能有多个),因此我们无法为您提供帮助。但我可以就如何构建脚本提出建议。

警告 - 除了最小的应用程序或学习之外,这确实不是一个好方法。

主要思想是只有 1 个脚本,并且有处理显示部分。当表单实际提交时,它只会进入处理部分。

如果存在任何验证错误,它将进入显示部分并列出错误和表单。

如果没有验证错误,它将保存到数据库并重定向到其他页面。

当您开发更大(更好)的应用程序时,您可能会发现这种类型的编码很快就会变得笨拙 - 您将验证、SQL、 View /显示等全部混合在一个脚本中。它们会变得更加复杂,不久你就会得到一个大意大利面球。一旦达到这一点,就开始研究框架。

但现在,请继续前进。祝你好运。

<?php

// A list of validation errors. Initialize to an empty list.
$errors = [];

/****************************/
/******** PROCESSING ********/
/****************************/
// The form was submitted
if ($_SERVER['REQUEST_METHOD'] === 'POST') {

// Values submitted from form
$name = $_POST['signup_name'];
$email = $_POST['signup_mail'];
$password = $_POST['signup_password'];

// Validation
if (empty($name)) {
$errors[] = 'Please enter your name';
}

if (empty($email)) {
$errors[] = 'Please enter your email';
}

// ... check if email already exists in your DB.

// ... more validation here

// There are no validation errors, process the form.
if (empty($errors)) {
// At this point, you now have a valid form. Just save it to the DB.

// Redirect to somewhere
}
}

/****************************/
/********** DISPLAY *********/
/****************************/
if (count($errors) > 0) : ?>
<ul>
<?php foreach ($errors as $error): ?>
<li><?php echo $error; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

<!-- Use "post" and remove action and it will post to itself. -->
<form method="post">
<!-- ... -->

关于php - 在 HTML 中运行 PHP 错误(此页面无法正常工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56585142/

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