Vinnaren i pepparkakshustävlingen!
  • 3
  • 4
2018-06-03, 08:56
  #37
Moderator
Protons avatar
Citat:
Ursprungligen postat av goldcashier
Apache är installerad. Så det borde funka?
Skriver jag localhost/....php så kan jag se php.kod så det finns en server men när jag använder mail() och ska skriva nåt står det att port 25 är fel eller nåt. Aja får prova.
Apache http-server är en sak, en SMTP-server är en helt annan.

Tvivlar på att du kommer få en egen sådan att funka eftersom de flesta ISPer i dagens läge blockerar port 25 i sina brandväggar på grund av att diverse löst folk sätter upp sina egna tjänster utan att veta vad de gör, vilket resulterar i en ohållbar mängd spam från dessa felkonfigurerade maskiner.

Du kommer snällt behöva rätta in dig i ledet och använda din ISPs SMTP-server om du ska skicka mail från din lokala apacheinstallation med mail-funktionen i php. Vilka uppgifter du behöver för det framgår av dina uppgifter du fått från din ISP.
Citera
2018-06-04, 09:07
  #38
Medlem
Citat:
Ursprungligen postat av goldcashier
Det får vara så här.
Läs #33.
Citera
2018-06-04, 17:06
  #39
Medlem
Citat:
Ursprungligen postat av Koenigsegg
Läs #33.
Ääh.. Läs #32, menade jag förstås.
Citera
2018-06-05, 17:16
  #40
Avstängd
Glöm det, kom på felet.
__________________
Senast redigerad av goldcashier 2018-06-05 kl. 17:32.
Citera
2018-06-06, 23:23
  #41
Medlem
Citat:
Ursprungligen postat av goldcashier
Glöm det, kom på felet.

Dela med dig av lösningen och avsluta tråden snyggt?
Citera
2018-06-07, 18:04
  #42
Avstängd
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.
Citera
2018-06-08, 14:33
  #43
Medlem
Citat:
Ursprungligen postat av goldcashier
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.

Men du kollar ju explicit efter me@example.com och testpass i Script 1. "else incorrect".
Citera
  • 3
  • 4

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback