Problemi con autenticazione

eddie

Nuovo Utente
25 Nov 2009
8
0
0
Ciao a tutti. Sono nuovo del forum e...nuovo di php!! Vi chiedo una mano nei miei studi di php e scusate il thread lungo
Sto testando una procedura di autenticazione (esattamente come riportato nel libro) ma la cosa non funzia. Sono ore che ci sbatto la testa...:crying:

La procedura in teoria:

Apro il file "secret.php" , il quale include auth.inc.php
----secret.php
<?php
include 'auth.inc.php';
?>
<html>
<head>
<title>Secret</title>
</head>
<body>
<h1>You've found my password!</h1>
</body>
</html>
-----------------

-----auth.inc.php----
<?php
// start or continue session
session_start();

if (!isset($_SESSION['logged']) || $_SESSION['logged'] != 1) {
header('Refresh: 5; URL=login.php?redirect=' . $_SERVER['PHP_SELF']);
echo '<p>You will be redirected to the login page in 5 seconds.</p>';
echo '<p>If your browser doesn\’t redirect you properly automatically, ' .

'<a href="login.php?redirect=' . $_SERVER['PHP_SELF'] .' ">click here</a>.</p>';
die();
}
?>
-------------------------------

Non essendomi ancora loggato DOVREI essere reindirizzato al file login.php MA QUESTO NON ACCADE.

Apro allora il file login.php. Digito le password(al momento indicate nel file stesso). DOVREI essere indirizzato al file secret.php, ma NON SOLO questo non avviene, username e passwors( asterischi) rimangono lì statici come se non avvenissene nessuna azione!!
Eppure nel libro lo da per funzionante! :gun:
Sicuramente c'è un errore, ma non riesco a trovarlo...mi date una mano?
---------login.php-------
<?php
session_start();

include 'db.inc.php';
// filter incoming values
$username = (isset($_POST['username'])) ? trim($_POST['username']) : '';
$password = (isset($_POST['password'])) ? $_POST['password'] : '';
$redirect = (isset($_REQUEST['redirect'])) ? $_REQUEST['redirect'] : 'secret.php';

if (isset($_POST['submit'])) {
if (!isset($_SESSION['logged']) || $_SESSION['logged']!= 1) {

if (!empty($_POST['username']) && $_POST['username'] == 'wroxbooks' && !empty($_POST['password']) && $_POST['password'] == 'aregreat') {

$_SESSION['username'] = $username;
$_SESSION['logged'] = 1;

header ('Refresh: 5; URL=' . $redirect);
echo "<p>You will be redirected to your original page request.</p>";
echo '<p>If your browser doesn't redirect you properly automatically, ' .
'<a href="' . $redirect . '">click here</a>.</p>';


die();
} else {
// set these explicitly just to make sure
$_SESSION['username'] = '';
$_SESSION['logged'] = 0;


$error = '<p><strong>You have supplied an invalid username and/or ' .
'password!</strong>Please <a href="register.php">click here ' .
'to register</a>if you have not done so already.</p>';
}
}
}

?>

<html>
<head>
<title>Login</title>
</head>
<body>
<?php
if (isset($error)) {
echo $error;
}
?>
<form action="login.php" method="post">
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="username" maxlength="20" size="20"
value="<?php echo $username; ?>"/></td>
</tr><tr>
<td>Password:</td>
<td><input type="password" name="password" maxlength="20" size="20"
value="<?php echo $password; ?>"/></td>
</tr><tr>
<td> </td>
<td>
<input type="hidden" name="redirect" value="<?php echo $redirect ?>"/>
<input type="submit" name="submit" value="Login"/>
</tr>
</table>
</form>
</body>
</html>
------------------------------------------------

Grazie mille a chi mi aiuterà a capire dov'è l'errore o la mancanza di qualcosa.
PS. Ho postato la stessa richiesta sul forum php di Html.it...ma forse li non amano i newbye..
Buona giornata a tutti
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ti posto quanto scritto nel manuale php

http://www.php.net/manual/en/function.header.php

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Rissumendo in italiano:
Ricordati che header deve essere inserito prima di ogni output html…..
E’ un comune errore scrivere il codice dopo include() o require()…..
ti fai un include e poi l'header, probabilmente dovresti mettere il codice direttamente nella pagina al posto dell'include
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
quando il form non invia di solito è dovuto al fatto che l'action è sbagliata, sei sicuro che il nome della pagina a cui mandi i dati sia corretto?
 

eddie

Nuovo Utente
25 Nov 2009
8
0
0
quando il form non invia di solito è dovuto al fatto che l'action è sbagliata, sei sicuro che il nome della pagina a cui mandi i dati sia corretto?


Trovato; mannaggia ai refusi non corretti!!!! :book:

Mi sono riletto per l'ennesima volta il codice e ad un certo punto vengo folgorato dal ricordo; avevo usato session_start() in occasione di alcuni test sulle sessioni, appunto, $_SESSION['username']....ma che ci faceva nel file login.php nel quale non c'è nessuna sessione?
Vuoi vedere che .....lo tolgo e refreshio il server.
Alleluia!!!!
:incazz2: Un pomeriggio perso. Adesso mando una lettera di fuoco a quelli della Wrox ( Beginning PHP 6, Apache, MySQL 6 Web Development)

Grazie a te eliox e a Borgo Italia per le risposte che mi hanno fatto riflettere. PS. Nonostante il manuale php indichi appunto l'include prima dell'header come errore, tutti gli esempi del libro sono fatti con gli include ed i require prima...è scritto da programmatori...bah...
Ciao
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
.. il manuale php indichi appunto l'include prima dell'header come errore, tutti gli esempi del libro sono fatti con gli include ed i require prima...è scritto da programmatori...bah...
Ciao
mi fa venire qualche dubbio sulla validità del manuale..
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Upload immagine con javascript problemi con FormData() Javascript 1
A Problemi con move_uploaded_file PHP 7
M Problemi con la stampa dei valori in php PHP 1
L Problemi con il login PHP 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Z problemi con foreach insert into PHP 10
B javascript per problemi con pdf e Safari Javascript 0
M Problemi con creazione maschere Presentati al Forum 1
M Problemi con query a più tabelle PHP 3
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
M Problemi con blog Grav CMS (Content Management System) 0
S incoerenza di stampa. problemi con il magenta Photoshop 3
A problemi con paypall Java 1
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
O [HTML] problemi con la regola "background-attachment: fixed" in EDGE HTML e CSS 0
M [PHP] Problemi con query unione PHP 11
M [PHP] Problemi con select PHP 6
ANDREA20 [HTML] problemi con il footer HTML e CSS 1
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
M [PHP] Problemi con il riconoscimento login. PHP 21
A [WordPress] problemi con xampp WordPress 2
M Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1 PHP 6
S [PHP] problemi con le sessioni PHP 3
T [PHP] problemi con il browser PHP 0
Andrea_Ventura [HTML] Problemi con effetto hover HTML e CSS 5
M [PHP] Problemi con login facebook PHP 0
Andrea_Ventura [HTML] Problemi con visualizzazione Navigation Bar HTML e CSS 10
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
Eugene [Joomla] Problemi con modulo per strutture alberghiere JHotelreservation starter Joomla 6
F [PHP] Problemi di base con bot di telegram PHP 9
M [Photoshop] Problemi con importazione immagini trasparenti in indesign Photoshop 0
E [Photoshop] Problemi con dimensioni immagini Photoshop 12
G [HTML] Problemi con inserimento immagini HTML e CSS 7
L Problemi con Javascript e Mustache Javascript 0
G Invio Mail con PHPMailer, problemi SMTP PHP 7
A [Javascript] problemi con javascrip e posizione GPS html5 Javascript 6
D Due problemi con Photoshop... Photoshop 1
G Problemi con pagina online.php di una chat in php PHP 38
S Problemi con impostazioni php PHP 3
P Problemi con AndroidStudio Sviluppo app per Android 0
S Problemi con Dell Precision T5400 Windows e Software 2
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
S [PHP] Problemi con Login e pagina Utente PHP 5
Z problemi con swf e chrome o sistemi portatili Webdesign e Grafica 5
N Problemi connettività con Tp Link EAP 110 Reti LAN e Wireless 0
S [HTML] Problemi con Blueimp image gallery su Chrome e Firefox HTML e CSS 2
W [HTML] problemi con sito responsive CMS (Content Management System) 1
P problemi con nas o per chi conosce synology Altri Annunci 0
A [HTML] Problemi con l'installazione di Disqus HTML e CSS 5

Discussioni simili