• Home
  • Forum
  • Fare Web
  • PHP

Problema con login e password

  • Creatore Discussione Creatore Discussione paperinik4
  • Data di inizio Data di inizio 5 Ago 2012
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #21
dovresti scrivere cosi per valorizzare una variabile
PHP:
$username = $_POST['username'];

prova e ripossta il codice completo
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #22
Ciao

In quale parte del codice lo dovrei inserire ??? per essere sicuri di non sbagliare.

Ecco il codice completo del 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>   <H1>AREA RISERVATA: PREGO EFFETTUARE IL LOGIN </H1>

            <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" />
                    <input type="submit" name="uscita" value="Uscita" />
                </center> </form>
        </head>
        </body>
<?php
session_start();
$query = "SELECT id,username FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . $_POST['password'] . "'";  

$username = $_POST['username'];

$cerco = mysql_query($query);
    if(!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
    mysql_error();
    }else{
        echo $query;

}
    }  

?>
 
Ultima modifica: 7 Ago 2012

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #23
Sistemi una parte e ne rovini un altra

l'else dove te lo sei perso?

modifica cosi

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>   <H1>AREA RISERVATA: PREGO EFFETTUARE IL LOGIN </H1>

            <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" />
                    <input type="submit" name="uscita" value="Uscita" />
                </center> </form>
        </head>
    </body>
    <?php
} else {
    session_start();
    $query = "SELECT id,username FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . $_POST['password'] . "'";
    $cerco = mysql_query($query);
    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
        echo $query;
    }

    if (mysql_num_rows($cerco) == 1) {
        echo "Utente trovato";
    } else {
        echo "Utente non trovato";
    }
}
?>
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #24
Ciao

Oni spesso faccio dei casini assurdi e mi perdo poi gli appunti... So disordinato come non so chi.... Ora sembra che vada, ma la query mi da il seguente risultato:


SELECT id,username FROM utenti WHERE username='paperinik4' AND password='xxx'Utente non trovato
 
Ultima modifica: 7 Ago 2012

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #25
ora rimetti l'md5 senza fare altre modifiche

PHP:
$query = "SELECT id,username FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "'";
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #26
Ciao

Ora sembra chemi abbia trovato. Mi da questo risultato:

SELECT id,username FROM utenti WHERE username='paperinik4' AND password='0c88028bf3aa6a6a143ed846f2be1ea4'Utente trovato
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #27
Bene ora aggiungi i dati in sessione
PHP:
 if (mysql_num_rows($cerco) == 1) {
        echo "Utente trovato";
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['username'] = $row['username'];
        $_SESSION['id'] = $row['id'];
    } else {
        echo "Utente non trovato";
    }

e metti anche il redirect al posto dell' echo
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #28
Ciao

Già fatto e funziona,

Ma cosa diavolo era successo ??? perchè è andato in palla il sistema ???? ora mi riconosce e mi fa entrare. Mi da il seguente risultato, perchè avevo messo un var_dump. Ti posto il risultato:



array(0) { } Ciao

Vorrei solo capire cosa intende per arry e perchè non mi visualizza il nome. Solo ciao. La paginaris.php è strutturata in questa maniera:

PHP:
<?php

require_once("connetti.php");

session_start();

var_dump($_SESSION);

if ($_SESSION['username'] == 0) {
    
     mysql_error();
    echo "Ciao " . $_SESSION['username'];
} else {
    echo "Accesso non consentito";
} 

?>

Forse qua c'è da modificare qualcosina presumo.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #29
cosa intende per array
Clicca per allargare...
è il var_dump della sessione che ti dice che non c'è settata nessuna sessione

Sicuro di non aver tolto session_start() dalla pagina del login?
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #30
Ciao

Ricontrollo, ma mi sembra che ci sia. Eccolo qua te lo posto il codice finale:

login.php:

PHP:
<?php
} else {
    session_start();
    $query = "SELECT id,username FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "'"; 

    

    $cerco = mysql_query($query);
    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 1) {
   
        header("Refresh: 2;URL=paginaris.php");     
      
        echo "Utente trovato";
    } else {
        
        header("Refresh: 2;URL=login.php");    
        echo "Utente non trovato";
    }
}
}
?>

Un'altra cosa, nella paginaris.php, io ho messo così:

PHP:
<?php

require_once("connetti.php");

session_start();



if ($_SESSION['username'] == 0) {  <------> Questa è la riga dell'if
    
     
    echo "Ciao " . $_SESSION['username'];
} else {
    
   
    echo "Accesso non consentito";
} 

?>

Se tolgo if ($_SESSION['username']) {, non mi fa entrare, mi dice accesso negato Ma non utente non trovato.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #31
if (mysql_num_rows($cerco) == 1) {

header("Refresh: 2;URL=paginaris.php");

echo "Utente trovato";
}
Clicca per allargare...

non vedo questo:
PHP:
 $row = mysql_fetch_assoc($cerco);        
 $_SESSION['username'] = $row['username'];
 $_SESSION['id'] = $row['id'];
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #32
Ciao

Uhmmm dove lo dovevo inserire ???? nella paginaris ???? Ti ricordi che ho fatto a livelli 0 = autorizzato 1 = non consentito
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #33
PHP:
<?php
} else {
    session_start();
    $query = "SELECT id,username FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "'";     

    $cerco = mysql_query($query);
    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 1) {
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['username'] = $row['username'];
        $_SESSION['id'] = $row['id'];  
        header("Refresh: 2;URL=paginaris.php");   
    } else {
        
        header("Refresh: 2;URL=login.php");    
        echo "Utente non trovato";
    }
}
}
?>
per i livelli devi aggiungere una condizioni in piu nella query
ma pensaci dopo
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #34
Ciao

Ciao,

Scusa se non ti ho risposto subito, ma sono andato a mangiare e poi a riposare. Ho provato il codice che mi hai postato, ora non mi fa più entrare. Te lo riposto:

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>   <H1>AREA RISERVATA: PREGO EFFETTUARE IL LOGIN </H1>

            <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" />
                    <input type="submit" name="uscita" value="Uscita" />
                </center> </form>
        </head>
    </body>
    <?php
} else {

    session_start();
    $query = "SELECT id,username FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "'";     

    $cerco = mysql_query($query);
    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 1) {
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['username'] = $row['username'];
        $_SESSION['id'] = $row['id'];  
        header("Refresh: 2;URL=paginaris.php");   
    } else {
        
        header("Refresh: 2;URL=login.php");    
        echo "Utente non trovato";
    }
}
}
?>

Mi da questo errore:


Accesso non consentito che si trova nella paginaris
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #35
Ciao

Rettifico,

Ora funziona tutto. Mi ero dimnenticato di sistemare una cosa sulla paginaris.php, volevo sapere a posto del username ci posso mettere anche nome vero ????
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 7 Ago 2012
  • #36
Ciao

Ciao,

Allora sembra funzionare tutto alla perfezione. L'unica cosa è che mi visualizza "ciao paperini4" (quindi username), anzicchè il nome. Presumo che ci siano altre modifiche da fare. Ma tu mi sai spiegare per il vecchio codice non ha funzionato qua ???
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 7 Ago 2012
  • #37
Ma tu mi sai spiegare per il vecchio codice non ha funzionato qua ???
Clicca per allargare...
??
L'unica cosa è che mi visualizza "ciao paperini4" (quindi username), anzicchè il nome.
Clicca per allargare...

- nella query devi aggiungere il nome
Codice:
SELECT id,username,nome
- devi poi estrarlo dalla query e metterlo in sessione
$nome = $row['nome'];
$_SESSION['nome'] = $nome;
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 8 Ago 2012
  • #38
Ciao

Ciao,

Grazie, ora ci provo, e poi sono di courvè in cucina. Avevo intuito qualcosa del genere a dire il vero. Ma sulla query devo mettere un altro and ???? Allora, mi da i triangolini gialli (battezzati cartellino giallo). Ti posto quello che ho fatto:


Questo è login.php, qua ti indico il cartellino giallo invece:

PHP:
  <?php
} else {

    session_start();
    $query = "SELECT id,username, nome FROM utenti WHERE username='" . $_POST['username'] . "' AND password='" . md5($_POST['password']) . "'";     
$nome = $row['nome']; <--------> Cartellino giallo

    $cerco = mysql_query($query);
    if (!$cerco) {
        echo "Errore query: <br/>$query<br/>" . mysql_error();
        mysql_error();
    } else {
     
    if (mysql_num_rows($cerco) == 1) {
        $row = mysql_fetch_assoc($cerco);        
        $_SESSION['nome'] = $row['nome'];
        $_SESSION['id'] = $row['id'];  
        header("Refresh: 0;URL=paginaris.php");   
    } else {
        
        header("Refresh: 2;URL=login.php");    
        echo "Utente non trovato";
    }
}
}
?>

Per favore controlli se la query messa così, è corretta ???? O va allungata ???

E questo è paginaris.php, e qua mi da un ! con circolino rosso (ribattezzato cartellino rosso). ti indico i punti:

PHP:
<?php

require_once("connetti.php");

session_start();

 

if $_SESSION['nome'] = $nome;  {
    
    
    echo "Ciao " . $_SESSION['nome'];  <--------> Cartellino rosso
} else {
    
   
    echo "Accesso non consentito";
}
?>

Grazie.
 
Ultima modifica: 8 Ago 2012

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 8 Ago 2012
  • #39
questo lo puoi togliere
PHP:
$nome = $row['nome']; <--------> Cartellino giallo
hai gia fatto bene qui
PHP:
$_SESSION['nome'] = $row['nome'];
puoi aggiungere anche il livello
PHP:
$_SESSION['livello'] = $row['livello'];
ovviamente aggiungendo alla query ( SELECT id,nome,livello )

questa invece non è la sintassi corretta per una condizione
PHP:
if $_SESSION['nome'] = $nome;  {   
    echo "Ciao " . $_SESSION['nome'];  <--------> Cartellino rosso
}
ma va scritta cosi
PHP:
if(isset($_SESSION['nome']) && $_SESSION['livello'] = 0) {   
    echo "Ciao " . $_SESSION['nome'];
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 8 Ago 2012
  • #40
ciao
mi permetto di aggiungere a quello che dice criric:
non mettere quel ...... di indicazione
<--------> Cartellino rosso

usa i commenti se vuoi indicare

PHP:
//Cartellino rosso
oppure
PHP:
# Cartellino rosso
oppure
PHP:
/*Cartellino rosso*/
 
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

A
Problema login con Safari
  • Alex@1983
  • 21 Lug 2020
  • PHP
Risposte
14
Visite
3K
PHP 23 Lug 2020
Alex@1983
A
F
Problema con pagine login in PHP
  • francesco84_
  • 1 Set 2018
  • PHP
Risposte
2
Visite
2K
PHP 1 Set 2018
francesco84_
F
[Joomla] Problema di login con il nuovo template
  • Fuego2806
  • 30 Dic 2016
  • Joomla
Risposte
0
Visite
20K
Joomla 30 Dic 2016
Fuego2806
S
problema con ajax semplice login script
  • shivi
  • 14 Dic 2013
  • Javascript
Risposte
8
Visite
3K
Javascript 17 Dic 2013
shivi
S
L
problema login con variabili
  • luigi777
  • 24 Lug 2013
  • PHP
Risposte
7
Visite
2K
PHP 25 Lug 2013
borgo italia
S
Problema con login e cookie
  • Salvo Salvi
  • 9 Lug 2013
  • PHP
Risposte
5
Visite
3K
PHP 11 Lug 2013
alessandro1997
S
Problema di login con PDO
  • Simone86sp
  • 10 Gen 2013
  • PHP
Risposte
2
Visite
2K
PHP 10 Gen 2013
Simone86sp
S
L
Problema con login in Dreamweaver CS5
  • lpennaccini
  • 30 Mag 2012
  • PHP
Risposte
2
Visite
3K
PHP 30 Mag 2012
borgo italia
I
[PHP]Problema sito con form login in ogni pagina
  • Insider89
  • 7 Giu 2010
  • PHP
Risposte
7
Visite
3K
PHP 12 Giu 2010
Insider89
I
T
problema con la finestra di login riservata
  • tecno8
  • 1 Dic 2008
  • PHP
Risposte
1
Visite
1K
PHP 1 Dic 2008
Eliox
B
Problema con login pagina web-collegamento al db
  • boss
  • 16 Mag 2007
  • Classic ASP
Risposte
7
Visite
2K
Classic ASP 17 Mag 2007
boss
B
Problema in Shopify con Pixel Facebook
  • voldemort
  • 27 Mag 2024
  • E-Commerce
Risposte
1
Visite
2K
E-Commerce 27 Mag 2024
m.pittini
M
O
problema con dvr dahua xvr5116
  • oky74
  • 11 Mar 2023
  • IP Cam e Videosorveglianza
Risposte
0
Visite
2K
IP Cam e Videosorveglianza 11 Mar 2023
oky74
O
G
Problema con Xampp
  • GreatOtaku
  • 5 Mar 2023
  • Web Server
Risposte
1
Visite
1K
Web Server 6 Mar 2023
GreatOtaku
G
Problema con miniature comandi
  • andrea barletta
  • 27 Feb 2023
  • Photoshop
Risposte
0
Visite
1K
Photoshop 27 Feb 2023
andrea barletta
I
problema con alice
  • ilprincipiante
  • 10 Feb 2023
  • Posta Elettronica
Risposte
0
Visite
1K
Posta Elettronica 10 Feb 2023
ilprincipiante
I
N
Problema con position absolute e overflow
  • Nocciolina
  • 23 Gen 2023
  • HTML e CSS
Risposte
4
Visite
1K
HTML e CSS 31 Gen 2023
Nocciolina
N
L
Problema con inner join
  • lupentino
  • 23 Nov 2022
  • PHP
Risposte
11
Visite
2K
PHP 27 Nov 2022
marino51
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
K
[PHP] Problema con variabili concatenate.
  • Kiko74b
  • 17 Ott 2022
  • PHP
Risposte
1
Visite
1K
PHP 30 Ott 2022
thanatos
T
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?