Ciao a tutti,
mi sono "incartato" su una funzione e non so come risolvere "è da poco che lavoro con PHP", ed il mio problema alla fine non è complesso ma non riesco a levarci le gambe...
allora io ho una pagina con un form di registrazione e questo è il codice:
Codice PHP:
<?php
session_start();
ob_start();
require_once('Lib/user.class.php'); // Includo la classe Users
require_once('Lib/function.php'); // Includo le funzioni
$db = new connDb();
$login = new users;
if($login->start_registration()==TRUE)
{
header("location: ".$login->Urls['login_page']);
exit;
}
?>
<!doctype html>
....
<body>
<?php
$registration = "register";
$_POST = NULL;
$login->Get_register_form();
?>
</body>
Una volta che l'utente ha scritto tutti i dati necessari e ha premuto il pulsante, i dati vengono letti da una funzione che restituisce FALSE o TRUE a seconda se la mail è già esistente o meno.. il mio problema è la restituzione del risultato di tale funzione, infatti all'inizio del codice postato sopra c'è questo script:
Codice PHP:
if($login->start_registration()==TRUE)
{
header("location: ".$login->Urls['login_page']);
exit;
}
Che va benissimo nel caso l'utente si sia registrato, ma se io volessi visualizzare un messaggio nel caso l'utente abbia inserito una mail già esistente non posso mettere
"$login->start_registration()==FALSE" perchè il messaggio verrebbe visualizzato anche quando la pagina viene vista la prima volta ( perchè la funzione è falsa di default ) ... come posso fare ??
Questa è la funzione che gestisce il ritorno:
Codice PHP:
public function start_registration()
{
// se il form e i suoi input sono stati inviati
if(isset($_POST['register']))
{
// controllo l'email
$this->check_insert_registration($_POST['email']);
if($this->verify == FALSE)
{
// inseriemo all'interno del database i dati
$this->query_insert_registration($_POST);
return TRUE;
}
else
{
//return FALSE;
}
}
return FALSE;
}