Citat:
Ursprungligen postat av
Koenigsegg
Dela med dig av lösningen och avsluta tråden snyggt?
Absolut
Script 1.
Citat:
<?php
define('TITLE', 'Login');
include('header.html');
print '<h2>Login Form</h2>
<p>Users who are logged in can take advantage of certain features like this,
that, and the other thing.</p>';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ( (!empty($_POST['email'])) && (!empty($_POST['password'])) ) {
if ( (strtolower($_POST['email']) == 'me@example.com') && ($_POST['password'] == 'testpass') ) { //Correct!
session_start();
$_SESSION['email'] = $_POST['email'];
$_SESSION['loggedin'] = time();
ob_end_clean();
header('Location: welcomesession.php');
exit();
} else { // Incorrect!
print '<p class="text--error">The submitted email address and password do not match those on file!<br>
Go back and try again.</p>';
}
} else { // Forgot a field.
print '<p class="text--error">Please make sure you enter both an email address and a password!<br>
Go back and try again.</p>';
}
} else { //Display the form
print '<form action="login.php" method="post" class="form--inline">
<p><label for="email">Email Address:</label><input type="email" name="email" size="20"></p>
<p><label for="password">Password:</label><input type="password" name="password" size="20"></p>
<p><input type="submit" name="submit" value="Log In!" class="button"--pill"></p>
</form>';
}
include('footer.html');
?>
Det var två fel. Ett var att jag hade missuppfattat att jag enbart kunde använda "me@example.com" och "testpass" som lösenord och använde mina egna uppgifter och texten "welcomesession.php" var inte korrekt stavat vilket gav felmeddelandet "Objektet hittas ej".
Jag har skapat ett script där man först registrerar sig här nedan.
Script 2.
Citat:
<?php
define ('TITLE', 'Register8');
include('header.html');
print '<h2>Registration Form</h2>
<p>Register so that you can take advantage of certain features like this, that and the other thing.</p>';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$problem = false;
if (empty($_POST['first_name']))
{
$problem = true;
print '<p class="text--error">Please enter your first name!</p>';
}
if (empty($_POST['last_name'])) {
$problem = true;
print '<p class="text--error">Please enter your last name!</p>';
}
if (empty($_POST['email']) ||
substr_count($_POST['email'],'@') !=1) {
$problem = true;
print '<p class="text--error">Please enter your email address!</p>';
}
if (empty($_POST['password1'])) {
$problem = true;
print '<p class="text--error">Please enter a password!</p>';
}
if ($_POST['password1'] != $_POST['password2']) {
$problem = true;
print '<p class="text--error">Your password did not match your confirmed password!</p>';}
if (!$problem) {
print '<p class="text--success">You are now registered!<br>Okay, you are not really registered but...</p>';
$body = "Thank you, {$_POST['first_name']}, for registering with the fan club!.";
mail($_POST['email'], 'Registration Confirmation', $body, 'From: abramianallen@gmail.com');
$_POST = [];
print '<p class="text--error">Please try again!</p>';
} else {
}
}
?>
<form action="register8.php" method="POST" class="form--inline">
<p><label for="first name"> First Name: </label><input type="text" name="first_name" size="20" value="<?php
if (isset($_POST['first_name'])) { print htmlspecialchars($_POST['first_name']); } ?>"></p>
<p><label for="last_name"> Last Name: </label><input type="text" name="last_name" size="20" value="<?php if (isset($_POST
['last_name'])) { print htmlspecialchars($_POST['last_name']); } ?>"></p>
<p><label for="email"> Email Address: </label><input type="email" name="email" size="20" value="<?php
if(isset($_POST['email'])) { print htmlspecialchars($_POST['email']); } ?>"></p>
<p><label for="password1"> Password: </label><input type="password" name="password1" size="20" value="<?php
if(isset($_POST['password1'])) { print htmlspecialchars($_POST['password1']); } ?>"></p>
<p><label for="password2"> Password: </label><input type="password" name="password2" size="20" value="<?php
if(isset($_POST['password2'])) { print htmlspecialchars($_POST['password2']); } ?>"></p>
<p><input type="submit" name="submit" value="Register!" class="button--pill"></p></form>
<?php include('footer.html');
?>
Därefter vill jag använda de uppgifter jag registrerade mig med för att logga in, men då kan jag enbart logga in med "me@example.com" och lösenord "testpass". Varför?
Scriptet borde förstå att när jag registrerar en ny användare så ska dessa lagras i script 1.