- Home
- Categorie
- Coding e Sistemistica
- PHP
- iscrizione e login....errore, come faccio????
-
iscrizione e login....errore, come faccio????
ciao a tutti, spero che voi possiate darmi una mano.
Sto cercando di creare un modulo di registrazione, controllo di questo con php e il database mysql.
per la registrazione nn ho problemiperò per quanto riguarda il login sì, ecco gli script:
questo è il form del login:<html>
<body>
<form method="post" action="conlogin.php">
Nickname:<input type="text" name='nickname'>Password:<input type="password" name='password'>
<input type="submit" value="login" name='submit'>
</body>
</html>questo è la connessione al database e le variabili (??????) per selezionare i records della tabella, prendo in considerazione """$records['6'];
$records['7'];""" che sono i campi nickname e password.<?php
$con = mysql_connect("localhost","root","pass");
$sel_db = mysql_select_db("my_albertorrr", $con);$result=mysql_query("SELECT * FROM elementi,$con);
$records= mysql_fetch_row($result);
$records['6'];
$records['7'];
?>ora il controllo dei dati inseriti:
<?php
include("conn.php");
$nickname=$_POST['nickname'];
$password=$_POST['password'];
$md5_pass=md5("$password");if (trim($nickname)=="" OR ($password)=="") {
echo "Devi inserire il nickname e la password per il login";}
elseif ($nickname ==$records['nickname'] && $password ==$records['password']) {
echo"Login riuscito";
}?>
Come errore nella pagina conn.php mi fa:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/albertorrr/Sondaggio/conn.php on line 8
Volevo sapere se questo è il modo giusto per controllare login e password
di un utente, in caso negativo cosa devo modificare ????GrazieAlberto
-
Prova a togliere gli apici all'interno della parentesi quadre
$records['6'];
Diventa così
$records[6];
-
ok , grazie questo errore è andato via, però il controllo se il nickname usato per il login è nel database non me lo fa, che devo aggiungere??
secondo te lo script mio, in generale , è giusto???
-
$records['6']; $records['7'];
Sono due righe che non fanno niente, cosa intendevi?
Cmq + o - nel controllo dovresti fare così:
<?php $con = mysql_connect("localhost","root","pass"); $sel_db = mysql_select_db("my_albertorrr", $con); $nickname=$_POST['nickname']; $password=$_POST['password']; $md5_pass=md5("$password"); $result=mysql_query("SELECT * FROM elementi WHERE nickname = '$nickname' AND password = '$md5_pass'"); if ($records= mysql_fetch_row($result)) { echo"Login riuscito"; } else { echo "Devi inserire il nickname e la password per il login"; } ?>
-
perfetto , grazie margherite per la tua disponibilità nel rispondere
Ciao e grazie, ora provo a far aprire una sessione ,se nn ci riesco posto sempre qui
Ciao e auguri
-
ho trovato poi un errore , lo risolto, sai per caso come faccio a far convertire la password dell'utente in md5 e come prendere questa nel momento di registrazione dell'utente???
tipo :$pass="giovanninopaneevino";
$md5_pass=md5("$pass");
soltanto che invece da avere già la password come sopra, nel momento di registrazione, l'utente mette una normale password ed io la cambio in md5 e metto questa md5 nel database,si può fare???ciao
-
$password=$_POST['password']; $md5_pass=md5("$password");
Così prendi la password dal form in post e la trasformi in md5, puoi salvare sul database direttamente $md5_pass
E controllare le volte successive facendo il confronto tra quella su db ed il risultato della conversione.Dal'md5 non puoi tornare indietro
-
avere una password in md5 nel database è l'equivalente che averla in chiaro.
poniamo che tu abbia deciso di memorizzare la pwd in chiaro nel db, con uno sniffer riesco a catturare user e pwd e riesco ad entrare.
poniamo che tu abbia deciso di memorizzare la pwd in md5 nel db e chiedi all'utente la pwd in chiaro (ovviamente), questa tramite post arriva ad una tua pagina che la converte in md5 e la confronta con il db.
catturo quello che manda l'utente ed entro.poniamo che tramite js converti la pwd in md5 prima di mandarla al server, a te arriva la pwd già convertita in md5 ma a me basta catturarla e mandarti la pwd in md5 e lo user ed entro.
su questo forum abbiamo aperto una discussione bellissima su come gestire la sicurezza con un "pelo più di sicurezza" e la trovi qui:
http://www.giorgiotave.it/forum/viewtopic.php?t=3312buon divertimento
-
ragazzi ho un problemino di sintassi sempre per il benedetto controllo della registrazione :
<html>
<body>
<?php
require("connessione.php");$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$datadinascita=$_POST['datadinascita'];
$email=$_POST['email'];
$nickname=$_POST['nickname'];
$password=$_POST['password'];
$pattern="^[^@ ]+@[^@ ]+.[^@ .]+$";
variabile controllo email
$result=mysql_query("SELECT * FROM elementi WHERE nickname = '$nickname'",$con);
if ($nome=="" OR $email=="" OR $nickname=="" OR $password=="" OR !ereg($pattern,$email) OR $records=mysql_fetch_row($result))
{
echo "Compilare tutti ci campi con l'asterisco*";
echo "Oppure nickname già in uso da un altro utente";
echo "Ritorna al [url="moduloiscrizione.php"]modulo di registrazione
";
}else {
$inserimento="INSERT INTO elementi (nome,cognome,datadinascita,email,nickname,password)
VALUES('$nome','$cognome','$datadinascita','$email','$nickname','$password')";$iscrizione = mysql_query($inserimento) or die(mysql_error());
echo "OK, ti sei iscritto correttamente";}
@mysql_close();
?></body>
</html>Errore:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /membri/albertorrr/Sondaggio/controllo.php on line 28Se potete darmi questa sintassi giusta affinchè in una if ci siano più controlli, ve ne sarei grato
Ciao
-
Ragazzi nessuno mi può aiutare???
-
@Albertorrr said:
Ragazzi nessuno mi può aiutare???
echo "Ritorna al <a href="moduloiscrizione.php">modulo di registrazione</a>
";interrompi gli apici doppi...
echo "Ritorna al <a href="moduloiscrizione.php">modulo di registrazione</a>
";così funziona