Salve a tutti. Sto cercando un modo per risolvere il seguente problema: in pratica questa pagina servirebbe per inserire un nuovo utente, ma il problema è che non riesco ad inserire nessun controllo che interroghi il database se esiste già o no i dati inviati. Adesso se inserisco due utenti con lo stesso nome e cognome vengono inseriti. Qualcuno può aiutarmi? Grazie mille in anticipo
Codice PHP:
<?php session_start();
if (!isset($_SESSION['login'])) {
header("Location: login.php");
}
// crea il modulo di inserimento nuovi dati
function renderForm($first, $last, $error)
{
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Nuovo Record</title>
<meta charset="UTF-8">
</head>
<body>
<?php
// se ci sono errori vengono visualizzati
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="" method="post">
<div>
<strong>Nome: *</strong> <input type="text" name="firstname" value="<?php echo $first; ?>" required /><br/>
<strong>Cognome: *</strong> <input type="text" name="lastname" value="<?php echo $last; ?>" required /><br/>
<p>* Richiesto</p>
<input type="submit" name="submit" value="Invia">
</div>
</form>
</body>
</html>
<?php
}
// connessione al database
include('connect-db.php');
// verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
if (isset($_POST['submit']))
{
// ottenere i dati del modulo e verific che siano validi
$firstname = mysql_real_escape_string(htmlspecialchars($_POST['firstname']));
$lastname = mysql_real_escape_string(htmlspecialchars($_POST['lastname']));
// controlla che entrambi i campi vengono inseriti
if ($firstname == '' || $lastname == '')
{
// genera messaggio di errore
$error = 'ERROR: Please fill in all required fields!';
// se uno dei due campi è vuoto, visualizzo di nuovo il modulo
renderForm($firstname, $lastname, $error);
}
else
{
// salva i dati nel database
mysql_query("INSERT players SET firstname='$firstname', lastname='$lastname'")
or die(mysql_error());
// una volta salvato, si viene reindirizzati alla pagina di visualizzazione
header("Location: view.php");
}
}
else
// se il modulo non è stato inviato, visualizzare il modulo
{
renderForm('','','');
}
?>