Buongiorno/buonasera.
Sono qui per chiedervi una mano, in quanto ho riscontrato delle difficoltà. Praticamente ho scritto questo piccolo programma che funge da prototipo per un programma che porterò all'esame. Il fatto che funziona quasi perfettamente (credo?), se non fosse che mi permette di poter inserire un nuovo utente anche se questo esiste già (cosa che non dovrebbe accadere!). Quindi ora vi chiedo: come posso risolvere?
Qui di seguito vi lascio la parte di codice PHP:
Codice PHP:
<?php
if(isset($_POST) && ! empty($_POST)){
?>
<?php
// info generali utente
$mod = $_POST['modalita']; // modalità di accesso (accedi o iscriviti)
$usn = $_POST['User'];
$pass = $_POST['Password'];
// info per collegamento al DB
$server = "127.0.0.1";
$username = "root";
$password = "";
$database = "infotech";
// connessione al DB
$conn = mysqli_connect($server,$username,$password) or die("Connessione non riuscita");
/* se il DB esiste, effettua la connessione
altrimenti no */
mysqli_select_db($conn,$database) or die("database non presente");
// controllo della modalità scelta
if($mod == "accedi"){
/*controllo dei dati inseriti dall'utente nel form
per verificare correttezza o esistenza dell'utente inserito*/
$query = "SELECT nome,conome,username FROM utenti
WHERE username = '$_POST[User]' AND password = '$_POST[Password]'";
$result = mysqli_query($conn,$query) or die("errore");
$num = mysqli_num_rows($result); // può avere valore 0 o 1
if($num == 0)
echo "password o username errati";
else{
/*stampo l'utente che ha appena fatto l'accesso*/
echo "<table>";
echo " <tr bgcolor = 'orange'>";
echo "<td><b> cognome </b></td>";
echo "<td><b> nome </b></td>";
echo "<td><b> username </b></td>";
echo "</tr>";
$record = mysqli_fetch_row($result);
echo "<tr>";
echo " <td> $record[1] </td>";
echo " <td> $record[0] </td>";
echo " <td> $record[2] </td>";
echo "</tr>";
echo "</table>";
}
}
else{
$query = "INSERT INTO utenti (username,password,conome,nome)
VALUES ('$_POST[User]', '$_POST[Password]', '', '')";
echo $query;
$result = mysqli_query($conn,$query) or die("errore");
$num = mysqli_num_rows($result); // può avere valore 0 o 1
if ($num > 0)
die("utente già esistente");
else
echo "registrazione avvenuta";
}
}
?>
Grazie per l'attenzione.