Salve a tutti,
Mi sono appena registrato su questo fantastico forum.
Gradirei avere un aiutino con qualche idea, circa il mio problema.
Vi spiego:
Ho realizzato una form di registrazione con i classici campi (id,nome,cognome,email,username e password) dove l'utente inserisce tutti i dati, finalizzati poi nel DB.
Poi nella form di login, ho i classici 2 campi: (username e password)
Quindi effettuo il controllo se l'utente esiste nel database e se è tutto ok, punto successivamente alla pagina di “Benvenuto utente" e tramite la session mi stampo la username.
Io però vorrei prelevare il campo nome e cognome dalla form di registrazione utente, per poi stampare a video il Benvenuto con nome e cognome, anzichè con la username.
Ho provato a passare le variabili "nome" e "cognome" dalla pagina di registrazione ad altre pagine (non collegate al form login) e fin qui tutto bene...ma quando tento di passare le variabili alla pagina di login, la variabile risulta sempre vuota.
Quindi ho provato a passare le variabili sull'URL e nell'altra pagina le recupero con successo, questo perchè c'è l'azione del submit.
Il problema è che io vorrei mostrare gli altri campi del DB (nome,cognome,email,etc) e quindi credo che l’unico modo sia quello di usare una query select specifica che estragga i dati sia dai campi della form_Login (username,password) che in quelli della form_Registration (nome,cognome,email,etc) in base all’utente loggato.
Potreste darmi una dritta per come impostare la query?
Vi posto i codici delle 2 pagine login.php e registration.php:
LOGIN.PHP
REGISTRATION.PHP
Infine mi stampo a video l'elenco dei record :
USER.PHP
Spero che qualcuno di Voi possa aiutarmi.
Grazie
Mi sono appena registrato su questo fantastico forum.
Gradirei avere un aiutino con qualche idea, circa il mio problema.
Vi spiego:
Ho realizzato una form di registrazione con i classici campi (id,nome,cognome,email,username e password) dove l'utente inserisce tutti i dati, finalizzati poi nel DB.
Poi nella form di login, ho i classici 2 campi: (username e password)
Quindi effettuo il controllo se l'utente esiste nel database e se è tutto ok, punto successivamente alla pagina di “Benvenuto utente" e tramite la session mi stampo la username.
Io però vorrei prelevare il campo nome e cognome dalla form di registrazione utente, per poi stampare a video il Benvenuto con nome e cognome, anzichè con la username.
Ho provato a passare le variabili "nome" e "cognome" dalla pagina di registrazione ad altre pagine (non collegate al form login) e fin qui tutto bene...ma quando tento di passare le variabili alla pagina di login, la variabile risulta sempre vuota.
Quindi ho provato a passare le variabili sull'URL e nell'altra pagina le recupero con successo, questo perchè c'è l'azione del submit.
Il problema è che io vorrei mostrare gli altri campi del DB (nome,cognome,email,etc) e quindi credo che l’unico modo sia quello di usare una query select specifica che estragga i dati sia dai campi della form_Login (username,password) che in quelli della form_Registration (nome,cognome,email,etc) in base all’utente loggato.
Potreste darmi una dritta per come impostare la query?
Vi posto i codici delle 2 pagine login.php e registration.php:
LOGIN.PHP
Codice:
<?php
session_start();
require('db.php');
if (isset($_POST['username'])){
$username = stripslashes($_REQUEST['username']);
$username = mysqli_real_escape_string($con,$username); //escapes special characters in a string
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$query = "SELECT * FROM `tabella` WHERE username='$username' and password='".md5($password)."'";
$result = mysqli_query($con,$query) or die(mysql_error());
$rows = mysqli_num_rows($result);
if($rows==1){
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
?>
<div class="content">
<p>Benvenuto: <?=$_SESSION['username']?></p>
<p>La tua password è: <?=$_SESSION['password']?></p>
<?
}else{
echo "<div class='form'><h3>Username/password is incorrect.</h3><br/>Click here to <a href='login.php'>Login</a></div>";
}
}else{
?>
<div class="form">
<h1>Login</h1>
<form action="" method="post" name="login">
<input type="text" name="username" placeholder="Username" required />
<input type="password" name="password" placeholder="Password" required />
<input name="submit" type="submit" value="Login" />
</form>
<p>Non sei registrato? <a href='registration.php'>Registrati ora</a></p>
<br /><br />
REGISTRATION.PHP
Codice:
<?php
session_start();
require('db.php');
if (isset($_REQUEST['username'])){
$nome = stripslashes($_REQUEST['nome']);
$nome= mysqli_real_escape_string($con,$nome); //escapes special characters in a string
$cognome = stripslashes($_REQUEST['cognome']);
$cognome = mysqli_real_escape_string($con,$cognome);
$email = stripslashes($_REQUEST['email']);
$email = mysqli_real_escape_string($con,$email);
$username = stripslashes($_REQUEST['username']); // removes backslashes
$username = mysqli_real_escape_string($con,$username); //escapes special characters in a string
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$trn_date = date("Y-m-d H:i:s");
$query = "INSERT into `tabella` (nome,cognome,email,username,password,trn_date) VALUES ('$nome','$cognome','$email','$username','".md5($password)."','$trn_date')";
$result = mysqli_query($con,$query);
if($result){
?>
<br>
<br>
<br>
<?
echo "<div class='form'><h3>Ti sei registrato con successo.</h3><br/>Click here to <a href='login.php'>Login</a></div>";
}
?>
<div class="content">
<?
}else{
?>
<div class="form">
<h1>Registrazione</h1>
<form name="registration" action="" method="post">
<input type="text" name="nome" placeholder="Nome" required />
<input type="text" name="cognome" placeholder="Cognome" required />
<input type="email" name="email" placeholder="Email" required />
<input type="text" name="username" placeholder="Username" required />
<input type="password" name="password" placeholder="Password" required />
<input type="submit" name="submit" value="Register" />
</form>
<br /><br />
</div>
<?php } ?>
</div>
<?php } ?>
Infine mi stampo a video l'elenco dei record :
USER.PHP
Codice:
<?php
session_start();
$servername = "localhost";
$username = "test";
$password = "test";
$dbname = "prova";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id,nome,cognome,email,username,password,trn_date FROM tabella";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["nome"]."</td><td>".$row["cognome"]."</td><td>".$row["email"]."</td><td>".$row["username"]."</td><td>".$row["password"]."</td><td>".$row["trn_date"]."</td><td><a href='modifica.php?id=".$row['id']."'><img src='../images/modifica.gif' border='0' alt='Modifica'></a></td><?</td><td><a href='delete.php?id=".$row['id']."'><img src='../images/cestino.gif' border='0' alt='Modifica'></a></td><?</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
Spero che qualcuno di Voi possa aiutarmi.
Grazie