<?php
//index.php
session_start(); 
if (isset($_SESSION['username'])) {
header('Location: Pro_Lesson.php');
}
if (isset($_POST['username'], $_POST['password'])){
    if(empty($_POST['username']) || empty( $_POST['password'])){
        echo "username or password are empty";
    }else {
header('Location: login.php');
    }
}
?>
<html>
<head>
</head>
<body>
<h3>User Login</h3>
<table border="0">
<form method="POST" action="index.php">
<tr><td>Username</td><td>:</td><td><input type="text" name="username" size="20"></td></tr>
<tr><td>Password</td><td>:</td><td><input type="password" name="password" size="20"></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td><input type="submit" value="Login"></td></tr>
</form>
</table>
</body> 
</html>

Jak mogę wysłać dane formularza na inną stronę php po pomyślnej weryfikacji nazwy użytkownika i hasła? i czy jest bezpieczny?

php
0
Ali Alzahrani 17 październik 2012, 06:35

2 odpowiedzi

Najlepsza odpowiedź

Mogłaś to zrobić:

$_SESSION['posted'] = $_POST;

Na innej stronie php:

print_r($_SESSION['posted']);
2
felipsmartins 17 październik 2012, 06:40

Nie jestem do końca pewien, o co prosisz, ale wezmę cios.

Prawdopodobnie zależy Ci tylko na nazwie użytkownika (lub identyfikatorze użytkownika). To, co należy zrobić, to przechowywać informacje o uwierzytelnieniu użytkownika w pliku cookie (lub pliku cookie opartym na sesji). Samo przechowywanie nazwy użytkownika (lub identyfikatora użytkownika) w edytowalnym przez użytkownika pliku cookie to bardzo zły pomysł (tm). To, co powinieneś zrobić, to mieć tabelę na zapleczu identyfikatorów sesji, w której plik cookie przechowuje losowy skrót głównego identyfikatora, a następnie możesz jej użyć, aby sprawdzić, jakie informacje o tym użytkowniku przechowujesz. Wydaje się skomplikowane, ale tak naprawdę nie jest. Mogę rozwinąć więcej, jeśli chcesz.

Możesz zrobić to, co sugeruje felipsmartins, ale nie powinieneś nigdzie przechowywać hasła użytkownika.

0
Natalie Adams 17 październik 2012, 06:43