-
controllo email in mysql
buon giorno,come da titolo,vorrei controllare se esiste una email prima di far inserire dei nuovi dati.
il problema e' che mi si blocca alla pagina di controllo e non va avanti. dove e' che sbaglio? grazie.
Codice PHP:
<?php
$file_salvato = rand(1, 100000000).'.'.pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);
move_uploaded_file($_FILES["file"]["tmp_name"], "foto/".$file_salvato );
$dati = $_POST['testo'];
$file = $_POST['file'];
$email=$_POST['email'];
$db_host = 'localhost';
$db_user = 'noncecapisco';
$db_pass = '';
$db_name = 'my_noncecapisco';
$cn = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($cn->connect_errno) {
echo "Connessione fallita: ". $cn->connect_error . ".";
exit();
}
$email = isset($_POST['email']) ? mysqli_real_escape_string(trim($_POST['email'])) : '';
$sql = "SELECT COUNT(email) FROM tabella dati_utente WHERE email ='".$email."'";
$result = mysqli_query($sql) or die(mysqli_error());
$conteggio = mysqli_fetch_array($result);
if($conteggio[0]>=1)
{
echo 'email esistente,prova con un altra .';
}
$sql = "INSERT INTO dati_utente (testo, file , email ) VALUES ("
. "'" . $dati. "',"
. "'" . $file_salvato . "',"
. "'" . $email. "');";
$last_insert_id = $conn->insert_id;
if (!$cn->query($sql)) {
echo "Errore della query: " . $cn->error . ".";
}
header ('location:[url]http://noncecapisco.altervista.org/foto/sito.php');[/url]
?>
-
Codice PHP:
header ('location:[url]http://noncecapisco.altervista.org/foto/sito.php');[/url]
Salve,
perchè qui ci sta il tag [url] che si usa per i link nel fourm?
In quel modo non potrà mai funzionare.
Così è corretto:
Codice PHP:
header('location: http://noncecapisco.altervista.org/foto/sito.php');
Cordialis aluti.
-
buon giorno...grazie per la risposta. non so perche' me lo ha scritto cosi nel forum..comunque ho controllato ed era
scritto come dice lei, ma il problema rimane..dopo il submit mi si apre la pagina bianca dell'upload.
se aggiungo questo codice non funziona piu' niente:
$email = isset($_POST['email']) ? mysqli_real_escape_string(trim($_POST['email'])) : '';
$sql = "SELECT COUNT(email) FROM tabella dati_utente WHERE email ='".$email."'";
$result = mysqli_query($sql) or die(mysqli_error());
$conteggio = mysqli_fetch_array($result);
if($conteggio[0]>=1)
{
echo 'email esistente,prova con un altra .';
}
grazie per l'aiuto
-
In riferimento al primo codice. Il problema e che il codice è un po' pasticciato e confuso. Sta mischiando la forma procedurale con la forma orientata ad oggetti.
Qui ci manca qualcosa:
Codice PHP:
$conteggio = mysqli_fetch_array($result);
Anche qui:
Codice PHP:
mysqli_query($sql)
So bene che tal volta è più semplice ambo le parti fornire la soluzuone bella è pronta, ma così non s'impara molto. Provi intanto a capire dove ha sbagliato guarrdando gli esempi del manuale di PHP. Guardi gli esempi per l'uso di mysqli_fetch_array() e di mysqli_query().
Se trova difficoltà, scriva pure.
Cordiali saluti.
-
ok grazie mille.........
ho guardato ma devo essere onesto con me stesso, devo ammettere che per fare queste cose ci vuole un
cervello predisposto. il mio problema non e' tanto ricordare i comandi, ma tutte le altre cose...
puntini,parentesi,apici,concatenazione, e chi piu' ne ha ne metta. mi consolo col fatto che delle piccole cose sono
riuscito ad imparare, ma cose semplici. se non era per (alemoppo) e un po' del suo aiuto(GraphOGLRisorse) ,io sarei
stato capace solo di colorare il sito, ah ah.
grazie e buona serata.