我的注册表单中的“提交”按钮不返回任何内容

时间:2017-12-16 20:18:45

标签: php mysql phpmyadmin login-system

我已经使用php构建了一个注册系统,它应该通过我的工作apache和mysql服务器与phpmyadmin连接。但是,当我点击“注册”旋钮,而不是打开/运行signup.inc.php时,它看起来像这样:

enter image description here

下面分别是:dbh.inc.php,signup.inc.php,index.met.interne.header.en.footer(主文件)和signup.inc.php。很抱歉没有这么多文件。

<?php

$dbServername = "localhost";
$dbUsername = "root";
$dbPassword = "";
$dbName = "login.system";

$conn = mysql_connect($dbServername, $dbUsername, $dbPassword, $dbName);
<?php

if (isset($_POST['submit'])) {

	include_once 'dbh.inc.php';

	$uid = mysql_real_escape_string($conn, $_POST['uid']);
	$kvk = mysql_real_escape_string($conn, $_POST['kvk']);
	$bedrijfsnaam = mysqli_real_escape_string($conn, $_POST['bedrijfsnaam']);
	$merknaam = mysql_real_escape_string($conn, $_POST['merknaam']);
	$email = mysql_real_escape_string($conn, $_POST['email']);
	$wachtwoord = mysql_real_escape_string($conn, $_POST['wachtwoord']);

	//Error handlers
	//Check for empty fields
	if (empty($kvk) && empty($bedrijfsnaam) ) {
		header("Location: ../signup.php?signup=empty");
	exit();
	} else {
	//Check if input characters are valid
		if (!preg_match("/^[0-9]*$/", $kvk)) || (!preg_match("/^[a-zA-Z]*$/", $bedrijfsnaam)) {
			header("Location: ../signup.php?signup=invalid");
		} else {
			//Check if email is valid
			if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
				header("Location: ../signup.php?signup=invalid.email");
				exit();
			}
				 else {
					//Hashing the password
					$hashedPwd = password_hash($pwd, PASSWORD_DEFAULT);
					//Insert the user into the database [deze moeten we nog af chappen zodat alles khlopt]
					$sql = "INSERT INTO users (buser_kvk, buser_kvk, buser_bedrijfsnaam, buser_merknaam, buser_email, buser_wachtwoord) VALUES 
					('$bedrijfsnaam', '$merknaam', '$email', '$kvk', '$uid', '$hashedPwd');";
					mysql_query($conn, $sql);
					header("Location: ../signup.php?signup=success");
					exit();
				}
				
			}
	}


} else {
	header("Location: ../signup.php");
	exit();
}
<?php
	include 'includes/signup.inc.php'
	session_start();
?>

<?php
	if (isset($_SESSION['u_id'])) {
		echo '<form action="includes/logout.inc.php" method="POST">
		<button type="submit" name="submit">Logout</button>
		</form>';
	}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Registratie - Namei voor bedrijven</title>
<link rel="stylesheet" type="text/css" href="stijltje.css">
</head>
<body>

	<header>
		<nav>
			<div class="wrapper">
				<ul>
					<li><a href="index.php">Namei</a></li>
				</ul>
				<div class="nav-login">
					<a href="signup.php">Inloggen</a>
				</div>
			</div>
		</nav>
	</header>
	<section class="main-container">
		<div class="wrapper">
			<h2>Registratie</h2>
			<form class="Registratie-formulier" action="includes/signup.inc.php" method="POST">
				<input type="ciphers" name="kvk" placeholder="KvK">
				<input type="text" name="bedrijfsnaam" placeholder="Geregistreerde bedrijfsnaam">
				<input type="text" name="merknaam" placeholder="Merknaam">
				<input type="text" name="email" placeholder="E-mail">
				<input type="password" name="wachtwoord" placeholder="wachtwoord">
				<button type="submit" name="submit"></button>
			</form>
		</div>
	</section>
</body>
</html>

<?php

ini_set("display_errors", 1);
ini_set("track_errors", 1);
ini_set("html_errors", 1);
error_reporting(E_ALL);

session_start();

if (isset($_POST['submit'])) {

	include 'dbh.inc.php';
	//Moet nog checken hoe ik die dengen moet noumen
	$uid = mysql_real_escape_string($conn, $_POST['uid'];
	$wachtwoord = mysql_real_escape_string($conn, $_POST['wachtwoord'];

	if (empty($uid) || empty($pwd)) {
		header("Location: ../index.php?login=empty");
			exit();
	} else {
		$sql = "SELECT * FROM users WHERE buser_id='$uid' OR user_email='$kvk'";
		$result + mysql_close($conn, $sql);
		$resultCheck = mysql_num_rows($result);
		if ($resultCheck < 1) {
			header("Location: ../index.php?login=error");
			exit();
		} else {
			if ($row = mysql_fetch_assoc($result)) {
				//De-hashing sum password
				$hashedPwdCheck = password_verify($wachtwoord, $row['buser_wachtwoord']);
				if ($hashedPwdCheck == false) {
					header("Location: ../index.php?login=error");
					exit();
				} elseif ($hashedPwdCheck == true) {
					//Log in the user here
					$_SESSION['u_id'] = $row['buser_id'];
					$_SESSION['u_bedrijfsnaam'] = $row['buser_bedrijfsnaam'];
					$_SESSION['u_kvk'] = $row['buser_kvk'];
					$_SESSION['u_email'] = $row['buser_email'];
					$_SESSION['u_uid'] = $row['buser_kvk'];
					$_SESSION['u_merknaam'] = $row['buser_merknaam'];
					header("Location: ../index.php?login=success");
					exit();
				}
			}
		}
	}
} else {
	header("Location: ../index.php?login=error");
	exit();
}

n“signup.inc.php”但这就是它的样子:

enter image description here

1 个答案:

答案 0 :(得分:0)

经过进一步调查,我们发现服务器配置有点偏,我们不得不做一些改动。重定向不使用HTTP协议,也不在打开时执行文件。

一旦弄清楚了,就没有建立与数据库的连接,因此mysqli_real_escape_string()返回空值。为了解决这个问题,我们确保mysqli_connect()中的所有信息都是正确的,但事实并非如此。更不用说所有文件中参数的顺序都是错误的(mysql / mysqli差异)。

最后,由于一些奇怪的原因,users表在数据库中找不到,所以我们必须创建它并修复SQL查询,因为没有插入数据。

其余的是一些逻辑错误和类似的东西,但没有干净的方法来解释这一切。问题得到了成功解决。

TL; DR

数据正在正确发送,但是一些服务器配置错误和编程错误导致了所有描述的问题(还有一些问题)。