Problemi di login

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutto lo staff (borgo, ale, criric ecc.ecc);

Dopo aver risolto attivautente, sorge un altro problema purtroppo. Speravo di farcela, ma evidentemente scusate so na pippa come al solito. Io ho il seguente login.php Volevo sapere se andava bene oppure se andava modificato. Posto qua di seguito:

PHP:
<?php
require_once("connetti.php");

if (!isset($_POST['log'])) {
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Loggati</title>

        <center>   <H2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </H2> 

            <form action= '' method="POST">
                <font face="Comic Sans MS">
                Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
                Password: <input type="password" name="password"  maxlength="12" size ="14"> <br> <br>
                </font> 
                <center>
                    <input type="submit" name="log" value="Loggati" />
                    
                </center> </form>
        </head>
    </body>
    <?php
} else {

    session_start();
//Query originale
    
  $query = "SELECT id,username, nome, attivo FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "' AND attivo ='1' ";     



 $cerco = mysql_query($query);

if (!isset($_POST['esci'])) {

    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 0) {
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['username'] = $row['username'];
       $_SESSION['password'] = $row['password'];
       $_SESSION['attivo'] = 1;

      echo $_SESSION;
      var_dump($_SESSION);

      
        header("Refresh: 0;URL=paginaris.php");   
    } else {

    echo "<h2> <center>";    
echo 'Premere su <a href="javascript:history.back();">back</a> Indietro per riprovare </h2>';
echo "Utente non trovato";

header("Refresh: 2;URL=login.php");     
  echo "</h2> <center>";    
}  
}
}
}

?>
Non mi fa loggare e mi manda alla pagina failed.html Considerare che l'attivazione account avviene correttamente. Quindi dove sta lo sbaglio ???? Mi potete aiutare per favore ??? Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
più che chiedere se va bene (uno dovrebbe farsi il tuo db) dovresti dire:
funziana?
a) si, e allora va bene
b) non funziona, quali errori da?
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Be', se vuoi posso postare la tabella come l'ho fatta:

Tabella utenti:

PHP:
create table utenti (

id 		INT UNSIGNED NOT NULL AUTO_INCREMENT,
nome 		VARCHAR(30) NOT NULL,
cognome 	VARCHAR(30) NOT NULL,
username 	VARCHAR(30) NOT NULL,
email           VARCHAR(40) NOT NULL,
password        VARCHAR(255) NOT NULL,
attivo	   int ('1') DEFAULT '0',
PRIMARY KEY (id)
);

Il punto è che non mi fa entrare. Mi da sempre la pagina failed e mi rimanda al login. Se serve qualche cosa fammi sapere. Ti posto la soluzione attivautenti:

attivautenti.php

PHP:
<?php

require_once("connetti.php");

//$email = $email;

$email = $_GET['email'];
echo "<h1> Attivazione account $email ... </h1>";

$qry="UPDATE utenti  SET attivo='1' WHERE email='".$email."';";

if (mysql_query($qry)) {
    echo "... Account $email attivato";
    
   // header("Refresh: 3;URL=login.php"); 
    header("Refresh: 3;URL=login2.php"); 
} else {
    echo "Errore: account non attivato";
}

?>
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Qualche suggerimento ???? Posto anche il login e la paginaris.php

Questo è il login.php:

PHP:
<?php
require_once("connetti.php");

if (!isset($_POST['log'])) {
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Loggati</title>

        <center>   <H2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </H2> 

            <form action= '' method="POST">
                <font face="Comic Sans MS">
                Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
                Password: <input type="password" name="password"  maxlength="12" size ="14"> <br> <br>
                </font> 
                <center>
                    <input type="submit" name="log" value="Loggati" />
                    
                </center> </form>
        </head>
    </body>
    <?php
} else {

    session_start();
//Query originale
    
  $query = "SELECT id,username, nome, attivo FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "' AND attivo ='1'";     



 $cerco = mysql_query($query);

if (!isset($_POST['esci'])) {

    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 0) {
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['username'] = $row['username'];
       $_SESSION['password'] = $row['password'];
       $_SESSION['attivo'] = 1;

      echo $_SESSION;
      var_dump($_SESSION);

      
        header("Refresh: 0;URL=paginaris.php");   
    } else {

    echo "<h2> <center>";    
echo 'Premere su <a href="javascript:history.back();">back</a> Indietro per riprovare </h2>';
echo "Utente non trovato";

header("Refresh: 3;URL=login.php");     
  echo "</h2> </center>";    
}  
}
}
}

?>

E questo è la paginaris.php

PHP:
<link rel="stylesheet" type="text/css" href="coloredisfondo.css">
 
    <?php
require_once("connetti.php");
    session_start();
if(isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];
    $me= "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $me= "Non ti sei mai collegato a questa pagina";
}

$stringa= strtoupper($_SESSION['nome']);
if(isset($_SESSION['nome']) && $_SESSION['password'] && $_SESSION['attivo'] == 1) {
 
   
    echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
?>
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>benvenuto</title>

<body>
    
<?php

require_once("connetti.php");

session_start();

$stringa= strtoupper($_SESSION['nome']); 


//if $_SESSION['nome'] = $nome  {
    
 if(isset($_SESSION['nome']) && $_SESSION['attivo'] == 0) {   
    echo "Ciao " . $_SESSION['nome'];
}      else {

    echo "Accesso non consentito";

}


    echo "<div class=\"messaggio\"><h1>";

    echo "BENVENUTO ".$stringa." <br />";
    echo $me;
    echo "</h1></div>";
    echo "</body></html>";
    }else{
    header("Location:failed.html");      
    exit();   
 
}
 
 ?> 
 
<html>
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
  

<center>  <br> <br>
    

<input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />
 

 
</center>
 </body>
</html>

Ho postato anche questa perchè non so se va modifcato qualcosa.
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

ciao
più che chiedere se va bene (uno dovrebbe farsi il tuo db) dovresti dire:
funziana?
a) si, e allora va bene
b) non funziona, quali errori da?


Ciao,

Purtroppo non mi da nessun errore, solo il fatto che non mi fa loggare. Mi mette in attivo su 1 com'è giusto che sia, ma poi al momento che vado ad effettuare il login, mi dice utente non trovato. Eppure, l'utente esiste. Che fare ???
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ripartiamo da ZERO, anche perchè ho seguito poco.
posta SOLO il form di log, poi in base a quello ti farò delle domande e vediamo di risolvere
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Grazie Borgo,

Ecco il login.php

PHP:
<?php
require_once("connetti.php");

if (!isset($_POST['log'])) {
    ?>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Loggati</title>

        <center>   <H2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </H2> 

            <form action= '' method="POST">
                <font face="Comic Sans MS">
                Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
                Password: <input type="password" name="password"  maxlength="12" size ="14"> <br> <br>
                </font> 
                <center>
                    <input type="submit" name="log" value="Loggati" />
                    
                </center> </form>
        </head>
    </body>
    <?php
    session_start();
//Query originale
    
 // $query = "SELECT id,username, nome, attivo FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "' AND attivo ='1'";     

    } else {
        
 $query = "SELECT username, attivo, password  FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "' AND attivo ='1'";     

  
 
 $cerco = mysql_query($query);

if (!isset($_POST['esci'])) {

    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 0) {
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['username'] = $row['username'];
       $_SESSION['password'] = $row['password'];
       $_SESSION['attivo'] = $row['attivo'];
       $_SESSION['attivo'] = 1;

      
        header("Refresh: 0;URL=paginaris.php");   
    } else {

    echo "<h2> <center>";    
echo 'Premere su <a href="java-script:history.back();">back</a> Indietro per riprovare </h2>';
echo "Utente non trovato";

header("Refresh: 10;URL=login.php");     
  echo "</h2> </center>";    
}  
}
}
}

?>

Vado a cena, poi ci sentiamo direttamente domani, perchè rispondo dal cell.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa ma non capisco esattamentequello che vuoi fare con quel kaiser di script?
devi fare quasto?
inserire user e pass
se giuste alla riservata
se errate all'iscrizione
?
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao Borgo,

Si esattamente solo quello. Identificarsi con username e password, se sono corretti e presenti nel db fa accedere, altrimenti nisba. Non so perkè ho trovato un mucchio di difficoltà..... E continua a non riconoscermi. Pur controllando che la registrazione sia avvenuta correttamente.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao,

Ok, ma mi sembra che fossero a posto, comunque ricontrollo. Guarda i tag, mi sembrano che siano chiusi. Dai una controllata anche tu, magari me ne sfuggono altri. Da quanto ho capito i tag sono solo sulla parte html giusto ???

Ti posto quello che ho corretto:

PHP:
<html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Loggati</title>

        <center>   <H2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </H2> 

            <form action= '' method="POST">
                <font face="Comic Sans MS">
                Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
                Password: <input type="password" name="password"  maxlength="12" size ="14"> <br> <br>
                </font> 
                
                    <input type="submit" name="log" value="Loggati" />
                    
                </center> </form>
        </head>
    </body>
    </meta> //ho chiuso questo che era aperto

E il resto mi semnbra che siano chiusi già.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ecco il form corretto (o quasi perche usi tag obsoleti)
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>form di log</title>
</head>
<body>
<center>
<!--a che cavolo serve questo link? o clicko o inserisci -->
<H2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </H2> 
<form action= '' method="POST">
<font face="Comic Sans MS">
Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
Password: <input type="password" name="password"  maxlength="12" size ="14"><br><br>
</font>
<input type="submit" name="log" value="Loggati" />
</form>
<!-- qui il tag center (obsoleto) era indentato col form -->
</center> 
</body>
</html>
scrivi i tag in minuscolo, non <H2> ma <h2>
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

ciao
ecco il form corretto (o quasi perche usi tag obsoleti)
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>form di log</title>
</head>
<body>
<center>
<!--a che cavolo serve questo link? o clicko o inserisci -->
<H2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </H2> 
<form action= '' method="POST">
<font face="Comic Sans MS">
Username: <input type="text" name="username"  maxlength="30" size ="32"> <br> <br>
Password: <input type="password" name="password"  maxlength="12" size ="14"><br><br>
</font>
<input type="submit" name="log" value="Loggati" />
</form>
<!-- qui il tag center (obsoleto) era indentato col form -->
</center> 
</body>
</html>
scrivi i tag in minuscolo, non <H2> ma <h2>

Grazie, piccole sviste ma importanti.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao La password è codificata ad md5 in questa maniera:

PHP:
//crittografa la passowrod

$pass = mysql_real_escape_string(md5(trim($_POST['password'])));

Il risultato sul db della criptazione è il seguente:

PHP:
0c88028bf3aa6a6a143ed846f2be1ea4
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
dai un occhio
PHP:
<?php
ob_start();//visto che usi header popo l'l'uotput html
if(isset($_POST['log'])){
	require_once("connetti.php");
	$usn=htmlspecialchars(trim($_POST['username']));
	$pas=md5(trim($_POST['username']));
	$q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas'");
	if(mysql_num_rows($q) > 0){
		header("location: paginaris.php");
	}else{
		header("location: loggati.php");
	}
	exit()
}else{
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>form di log</title>
</head>
<body>
<center>
<!--a che cavolo serve questo link? o clicko o inserisci -->
<h2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </h2> 
<form action= "<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<font face="Comic Sans MS">
Username: <input type="text" name="username"  maxlength="30" size ="32"> <br /> <br />
Password: <input type="password" name="password"  maxlength="12" size ="14"><br /><br />
</font>
<input type="submit" name="log" value="Loggati" />
</form>
<!-- qui il tag center (obsoleto) era indentato col form -->
</center> 
</body>
</html>
<?php
}
ob_end_flush();
?>

poi guarda che:
The <center> e <font> tag is not supported in HTML5. Use CSS instead.
The <center> e <font> element is deprecated in HTML 4.01.
http://www.w3schools.com/tags/ref_symbols.asp
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Speriamo che sia la volta buona,

Volevo una spiegazione, anzi meglio dire cosa fa: ob_start(); non si adopera l'header dopo l'input html ????? Sono proprio un gran ignorantone in materia. un giorno o l'altro mi metterò a studiare.

Perdonami ma su questa riga che ti posto:

PHP:
$pas=md5(trim($_POST['username']));

Non andrebbe messo invece di username password

PHP:
$pas=md5(trim($_POST['password']));

Visto che lo username lo abbiamo qua:

PHP:
usn=htmlspecialchars(trim($_POST['username']));

Comunque non mi fa entrare ugualmente. Mi da quest'errore qua di failed:

ERRORE: 404 AREA RISERVATA. ERRORE NELL'EFFETUARE L'ACCESSO. RIPROVA GRAZIE !!! Premere su back Indietro per riprovare oppure controlla che il tuo account sia attivo. Grazie.

Che sta sulla paginaris..php, quindi lui cerca di accedere ma poi mi falllisce il controllo.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se metti l'eader anche solo dopo uno spazio (es scrivere il tag <?php alla seconda riga) l'header da un bel warning.
le due istruzioni ob_start(); (all'inizio) e ob_end_flush(); (alla fine) permettono l'uso di header anche se c'è un output html
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Problemi con il login PHP 2
M [PHP] Problemi con il riconoscimento login. PHP 21
M [PHP] Problemi con login facebook PHP 0
D problemi login php 5.6 mysql PHP 1
S [PHP] Problemi con Login e pagina Utente PHP 5
webmachine [PHP] Problemi con Login e pagina Utente PHP 3
F Problemi login con lo script php PHP 2
A problemi con la login... PHP 5
M problemi con pagina login PHP 2
L Problemi login pannello Minigal PHP 0
L problemi codice php per il login PHP 8
M Problemi login [Era: aiuto] Supporto Mr.Webmaster 3
M Problemi login Classic ASP 1
C Problemi login Discussioni Varie 16
M Upload immagine con javascript problemi con FormData() Javascript 1
F Problemi visualizzazione mappa Android studio Sviluppo app per Android 0
S Problemi Javascript + Aruba Javascript 2
A Problemi con move_uploaded_file PHP 7
M Problemi con la stampa dei valori in php PHP 1
L Problemi form Pagina php HTML e CSS 3
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
N Problemi kit videosorveglianza IP Cam e Videosorveglianza 0
M Problemi con creazione maschere Presentati al Forum 1
M Problemi con query a più tabelle PHP 3
R Problemi anomalo insermento in db PHP 9
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
S Problemi di un principiante PHP 3
M Problemi con blog Grav CMS (Content Management System) 0
F Problemi di visualizzazione di un sito su più browser WordPress 0
S Problemi di visualizzazione form contatti sito web HTML e CSS 2
S incoerenza di stampa. problemi con il magenta Photoshop 3
A problemi con paypall Java 1
A Problemi di accesso da remoto a Ipcam IP Cam e Videosorveglianza 6
michele81 [WordPress] problemi plug meteo api key WordPress 4
E Problemi in registrazione telecamere Dahua IP Cam e Videosorveglianza 6
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
M [PHP] Problemi su inserimento array nel db PHP 7
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
M [PHP] Problemi di salvataggio su campo calcolato PHP 0
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
Spown [WordPress] Problemi visualizzazione su più browser + voci menu in movimento WordPress 1
ANDREA20 [HTML] problemi con il footer HTML e CSS 1
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
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
P Problemi comunicazioni Comunicazioni dallo Staff 8

Discussioni simili