Login ad un sito in PHP

di il
1 risposte

Login ad un sito in PHP

Salve, ho creato un sito che simili un E-commerce, in questo sito l'utente può registrarsi e può fare l'accesso se già registrato tutto questo in HTML, PHP e con la creazione di un database in SQL.
Nella pagina HTML faccio inserire all'utente il suo nome, email e password in questo modo:

<!DOCTYPE html>
<html>
  <head>
       <meta charset = "UTF-8">
    <title>registrazione</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/css" href="setuptit.css">
   </head>
  <body>
    <body bgcolor="#00B8F5"> 
        <body text=#26103D>
   <font face="Algerian">
    <span align=center> 
<h1><span></span>ISCRIVITI</h1>
  </span>
    <ul id="menu">
    <h2><li><a href="homep.html">HOME PAGE</a></li>
      <li><a href="registrati.html"> SEI QUI: REGISTRATI</a></li>
    <li><a href="cata.html">CATALOGO </a></li>    </h2>
      <center>
  <img src="logo2.png" alt="logo2" width="250" height="250">
</center>
</ul>
    <h2>
   <form action="accediutenti.php" method="post"><!-- accediutente è il nome del file php in cui ci sono le query-->
<table >
<tr><td> NOME </td><td> <input type="text" name="nome" size="20"> </td></tr>
<tr><td>EMAIL </td><td><input type="text" name="email" size="20"> </td></tr>
<tr><td>PASSWORD</td><td><input type="text" name="password" size="20"> </td></tr>
</table>
 <input type="submit" name="login" value="invia"> 
 </form>  
<br>
    </h2>
  </body>
</html>
Il mio problema nasce nel PHP dopo aver fatto la connessione al server(che avviene), tramite un IF provo a verificare se i valori sono presenti o meno ma da errore. Ecco il codice in PHP
 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<title>Visualizzazione dati</title>
	<link rel="stylesheet" type="text/css" href="style.css">
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<font face="Algerian">
    <span align=center> 
<h1><span></span>MUSIC STORE</h1>
  </span>
     </font>
	 <font face="Algerian">
    <ul id="menu">
    <h2>
    <li><a href="homep.html">SEI QUI: HOMEPAGE</a></li>
      <li><a href="registrati.html">REGISTRATI</a></li>
    <li><a href="cata.html">CATALOGO </a></li></h2> 
   <center>
  <img src="logo2.png" alt="logo2" width="250" height="250">
</center>
 <body bgcolor="#00B8F5"> 
         <body text="#26103D">
</ul>
<?php
	$host="localhost";
	$username="root";
	$password="";
	$dbName="sito_io";
	$conn = new mysqli($host, $username,$password,$dbName);
	if($conn->connect_errno){
		echo "Impossibile connettersi al server: ".$conn->connect_errno."\n";
		exit;
	}/* la connessione al server va' e non da' problemi*/ 
	$nome=$_POST["nome"];
	$email=$_POST["email"];
	$password=$_POST["password"];
/* il problema nasce qui in questi due IF, se inserisco valori presenti del database e 
nella tabella utente mi da errore (cosa che non dovrebbe fare) e se metto valori sbaglia mi da errore come dovrebbe essere*/
	if (!empty($_POST['nome']) &&  !empty($_POST['email']) 	&& !empty($_POST['password'])) {	
 	if (
		$_POST['nome'] == $sql=  "Select* from utente where nomeutente='$nome' " && 
   		$_POST['email'] == $sql = "Select* from utente where email='$email' "  && 
	  	$_POST['password'] == $sql = "Select* from utente where password='$password' "
		  ) 
	  	{
	  		$_SESSION['valid'] = true;
	  		$_SESSION['timeout'] = time();
	  		$_SESSION['nome'] = 'nome';
	  
		  echo "SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII";
   		}
   else 
   		{
	  	echo "DI NUOVO NOOOOOOOOOO EHHHHHHHHH";
   		}
}
?>
</body>
</html>
Grazie a chiunque mi aiuti

1 Risposte

  • Re: Login ad un sito in PHP

    Normalmente si usa anche il cookie o comunque la sessione (che può usare cookie o i dati nella url) per evitare la pagina registrazione se l'utente è già loggato.
    No, stai creando più variabili da "probabili" $_POST prima della verifica, prima verifichi e forse poi dovrai creare le variabili. Se usi cookie non potrai esserci del testo (nemmeno codice html) prima di esso.
    Più che altro devi prima capire il concetto di variabili definite e solo dopo puoi pensare al login. [CODE]<?php // Sono un commento php // Non puoi usare output, nemmeno <!DOCTYPE html> header('Location: http://www.example.com/'); //end code [CODE]<?php if(isset($non_esistente)) { $var = 'ciao'; } else { $var ='$non_esistente non esiste'; } var_dump($var); Benvenuto.
Devi accedere o registrarti per scrivere nel forum
1 risposte