Я получаю ошибку 403, когда меня перенаправляют на localhost / из сценариев входа или регистрации.
вот мои сценарии:
авторизоваться:
<html>
<center>
<head>
<title>Login</title>
<font face="Courier" color="green">
<body background=background.png no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover
>
<h1>Login</h1>
<?php
if (!isset($_POST['submit'])){
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
<input type="submit" name="submit" value="login" />
</form>
<?php
} else{
require_once("db_const.php");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
#check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mqsqli->connect_errno} : {$mysql->connect_error}</p>";
exit();
}
$userame = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '[$password]' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {
echo "<p>Invalid username/password combination</p>";
} else {
echo "<p>Logged in successfully</p>";
//do stuff
}
}
?>
</font>
</body>
</center>
</html>
Постановка на учет :
<html>
<head>
<title> Register </title>
</head>
<center>
<font face="courier" color="green">
<body background=background.png no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
>
<h1> Register</h1>
<?php
require_once("db_const.php");
if (!isset($_POST['submit'])) {
?><form action=" <?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
Age: <select name="Age">
<option value="12-13"> 12-13 </option>
<option value="14-15"> 14-15 </option>
<option value="16-17"> 16-17 </option>
<option value="18+"> 18+ </option>
</select>
<br />
Gender: <select name="Gender">
<option value="male"> male </option>
<option value="female"> female </option>
</select>
<br /><input type="submit" name="submit" value="register" />
</form>
</font>
</center>
<?php
} else {
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_AGE, DB_Gender);
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {mysqli->connect_error}</p>";
exit();
}# prepare data for insertion
$username = $_POST['username'];
$password =$_POST['password'];
$age =$_POST['Age'];
$gender =$_POST['Gender'];
$exists = 0;
$result = $mysqli->query("SELECT username from users WHERE username = '{$username}' LIMIT 1");
if ($result->num_rows == 1) {
$exists = 1;
}
if ($exists == 1) echo "<p> Username already exists!</p>";
else {
$sql = "INSERT INTO 'users' ('id', 'username', 'password', 'age', 'gender')
VALUES (NULL, '{$username}', '{$password}', '{$age}'. '{$gender}')";
if ($mysqli->query($sql)) {
//echo "New Record has id" .$mysql->insert_id;
echo "<p>Registered successfully!</p>";
} else{
echo "MySQL error no {mysql->errno} : {$mysql->error}</p>";
exit();
}
}
}
?>
</body>
</html>
Пожалуйста, прости мою нубишность, заранее спасибо!
Кроме того, некоторые люди могут комментировать, что я должен хэшировать или солить мои пароли, но это не будет необходимо для этого проекта.
ты должен использовать эхо в этой строке:
action="<?php echo $_SERVER['PHP_SELF']?>"
Других решений пока нет …