Tabel Mysql Si Registrer.PHP
Scris: Sâm Mai 28, 2011
am incercat sa fac un tabel mysql care sa intregistreze mai multe date decat ce sunt oferite in scriptul de pe localhost si anume am incercat sa pun mai multe date de ex :
Oras , Tara , Varsta ... si nu am reusit codul arata cam asa :
Creaza tabel in mysql:
Si formulrul de inregistrare este cam asa :
Unde am gresit ce trebuie inlocuit si nu am facut Multumesc
Oras , Tara , Varsta ... si nu am reusit codul arata cam asa :
Creaza tabel in mysql:
Cod: Selectaţi tot
<?php
header("Content-type: text/html; charset=utf-8");
include("bazadb.php");
$sql = "CREATE TABLE `utilizatori` (nume VARCHAR(32), parola VARCHAR(32), email VARCHAR(45), aprobat DECIMAL(1,0) DEFAULT 0, ip VARCHAR(18), data VARCHAR(32), pass VARCHAR(18), tara VARCHAR(32) , oras VARCHAR(32) , varsta VARCHAR(32), id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY) CHARACTER SET utf8 COLLATE utf8_general_ci";
if (mysql_query($sql))
echo '<br /><br /><br /><center><h4>Tabelul <u>utilizatori</u> a fost creat.</h4></center><br />';
else
echo '<br /><br /><br /><center><h4>Tabelul <u>utilizatori</u> nu a putut fi creat deoarece - '. mysql_errno(). ' : '. mysql_error(). '</h4></center>';
$sql2 = "CREATE TABLE `user_temp` (nume VARCHAR(32), incercari DECIMAL(1,0) DEFAULT 0, ip VARCHAR(18), data VARCHAR(32), tara VARCHAR(32) , oras VARCHAR(32) , varsta VARCHAR(32) , id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY) CHARACTER SET utf8 COLLATE utf8_general_ci";
if (mysql_query($sql2))
echo '<br /><br /><br /><center><h4>Tabelul <u>user_temp</u> a fost creat.</h4></center><br />';
else
echo '<br /><br /><br /><center><h4>Tabelul <u>user_temp</u> nu a putut fi creat deoarece - '. mysql_errno(). ' : '. mysql_error(). '</h4></center>';
mysql_close();
?>
Cod: Selectaţi tot
<?php
session_start();
include("bazadb.php");
// Link-ul pt. revenire la pagina anterioara
$inapoi = '<br /><br /><b><a href="#" onclick="history.back()">Click aici</a></b> pentru a reveni la pagina anterioara.';
function addUtilizator($nume, $pass, $email, $oras , $tara , $varsta) {
GLOBAL $conn, $aprobat, $inapoi;
$data = time();
$ip = $_SERVER['REMOTE_ADDR'];
$parola = md5($pass);
$nume1 = $nume;
if(!get_magic_quotes_gpc()) {
$nume = addslashes($nume);
$pass = addslashes($pass);
$parola = addslashes($parola);
$email = addslashes($email);
$oras = addslashes($oras);
$tara = addslashes($tara);
$varsta = addslashes($varsta);
}
$q = "INSERT INTO `utilizatori` (nume, parola, email, aprobat, ip, data, pass, oras, tara, varsta) VALUES ('$nume', '$parola', '$email', '$aprobat', '$ip', '$data', '$pass', '$oras', '$tara', '$varsta')";
if (mysql_query($q,$conn)) $mesaj = '<center><h1>Succes!</h1>
<p><font size="4">Multumim <b><font color="blue">'. $nume1. '</font></b>, inregistrarea s-a efectuat cu succes.</font></p><br />Acum va puteti autentifica </center>';
else $mesaj = '<h1>Inregistrare nereusita</h1>In urma unei erori: <i>'. mysql_errno().' - '.mysql_error(). '</i> inregistrarea dv. pe numele <b> '. $nume1. '</b>, nu a putut fi realizata';
$id = mysql_insert_id();
$link_confirm = 'http://'. $_SERVER['HTTP_HOST']. dirname($_SERVER['PHP_SELF']). '/recuper.php?mp='. $id. '&pm='. $parola;
if ($aprobat==0) {
$email = stripslashes($email);
$from = 'From: Kalumea_YM@yahoo.com';
$subiect = "Confirmare Inregistrare";
$mesaj = " Buna ziua \n
Ati primit acest e-mail deoarece este nevoie sa confirmati inregistrarea. \n\n
Pentru a confirma inregistrarea, dati click pe link-ul urmator: \n
$link_confirm \n\n
Datele dv. de autentificare sunt urmatoarele: \n
Nume = $nume1 \n
Parola = $pass
\n\n\n
Cu respect, Echipa Kalumea Ne Puneti Contacta La Adressa De Email Kalumea_YM@yahoo.com";
if (mail("$email", "Subiect: $subiect", $mesaj, $from)) {
$mesaj = '<center>Un mesaj cu link-ul pentru autentificare a fost trimis la adresa de e-mail <b>'. $email. '</b>.
<br /> Daca nu ati primit email-ul, verificati si in directorul Spam.<br /> Dupa confirmare va puteti autentifica. <a href="../">Click aici</a><br />
<br /><br />Multumim </center>';
}
else { $mesaj = 'Exista o problema, verificati daca ati introdus corect datele.'; }
}
return $mesaj;
}
if(isset($_SESSION['registered']) && isset($_SESSION['reguname'])){
echo '
<html>
<title>Pagina de inregistrare</title>
<body>'. $_SESSION['registered'].'
</body>
</html>';
exit;
}
else {
unset($_SESSION['reguname']);
unset($_SESSION['registered']);
}
/* Functie pt. verificarea existentei caracterelor = , ` ' " in sir
* Pentru o securitate sporita */
function ve_sir($sirul) {
$interzis = '/[=,`\'"]/';
if (preg_match($interzis, $sirul)) { return false; }
else { return true; }
}
// Determina daca va afisa sau nu formularul de Inregistrare
// Bazat pe datele completate si trimise
// Verifica baza de date si apeleaza functia care creaza contul nou
if(isset($_POST['subjoin']) && isset($_POST['nrv'])) {
/* Se asigura ca toate campurile au fost completate */
if(!$_POST['nume'] || !$_POST['pass'] || !$_POST['pass2'] || !$_POST['email'] || !$_POST['tara'] || !$_POST['oras'] || !$_POST['varsta']){
$eror = 'Completati toate campurile.';
}
else {
$nume = trim($_POST['nume']);
$pass = trim($_POST['pass']);
$email = trim($_POST['email']);
}
// Verifica daca parola este aceeasi cu cea din "Rescrie parola"
if($pass!=$_POST['pass2']) {
$eror = 'Trebuie sa scrieti aceeasi parola si in campul "Rescrie parola"</b>';
}
/* Verifica existenta caracterelor = , ` ' " in sir */
else if(!ve_sir($nume) || !ve_sir($pass)) {
$eror = 'Datele nu trebui sa contina nici unul dintre caracterele <b>= , ` \' "</b>';
}
/* Verifica lungimea numelui */
else if(strlen($nume)<3 || strlen($nume)>32) {
$eror = 'Numele trebuie sa contina minim 3 caractere si maxim 32.';
}
/* Verifica lungimea parolei */
else if(strlen($pass)<4 || strlen($pass)>18) {
$eror = 'Parola trebuie sa contina minim 7 caractere si maxim 18.';
}
/* Verifica forma adresei de email */
else if(!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) {
$eror = 'Adresa de email incorecta.';
}
/* Verifica numarul antispam */
else if($_SESSION['nrv']!==$_POST['nrv']) {
$eror = $_SESSION['nrv']. 'Numar de verificare incorect. '.$_POST['nrv'];
unset($_SESSION['nrv']);
}
// Daca verificarea formularului a dat erori, afiseaza eroarea si link inapoi
/* Altfel, verifica in BD daca numele sau email-ul sunt deja inregistrate */
if (isset($eror)) {
echo '<center><br /><br /><font size="+1" color="red">'. $eror.'</font>'.$inapoi. '</center>';
}
else {
if(!get_magic_quotes_gpc()) {
$nume = addslashes($nume);
$email = addslashes($email);
}
$q = "SELECT nume, email from `utilizatori` WHERE `nume`='$nume' OR `email`='$email'";
$result = mysql_query($q,$conn);
if (mysql_numrows($result)>0) {
while ($rand = mysql_fetch_array($result, MYSQL_ASSOC)) {
$nume_bd = stripslashes($rand['nume']);
$email_bd = stripslashes($rand['email']);
}
if (strcasecmp($nume_bd, $nume)==0) {
echo "Numele de utilizator: <strong>$nume</strong> este deja inregistrat, va rog alegeti altul.";
}
if (strcasecmp($email_bd, $email)==0) {
echo "Adresa de email: <strong>$email</strong> a fost deja folosita pentru inregistrare.
<br /> Daca v-ati inregistrat cu aceasta adresa de e-mail si ati uitat datele de autentificare, click <a href=\"recuper.php\">Recuperare date</a>.<br /><br />SAU";
}
echo "<center>$inapoi</center>";
}
else {
$_SESSION['reguname'] = trim($_POST['nume']);
$_SESSION['registered'] = addUtilizator(trim($_POST['nume']), $pass, trim($_POST['email']));
echo '<meta http-equiv="Refresh" content="1;url='.$_SERVER['PHP_SELF'].'">';
exit;
}
}
}
else {
$data_nrv = date(" j-F-Y, g:i a ");
$nr_v = md5($data_nrv);
if(isset($_SESSION['nrv'])) { unset($_SESSION['nrv']); }
$_SESSION['nrv'] = substr($nr_v, 3, 5);
echo '<script src="verific.js"></script>
<center><h1><u>Inregistrare</u></h1><br />';
echo '<div align="center" style="width:400px; border:1px solid #aaaafe;">
<p><br /><b> - Introduceti datele dv. de inregistrare si numarul de verificare: <font color="blue" size="4">'. $_SESSION['nrv']. '</font></b></p><br />
<form action="'. basename($_SERVER['PHP_SELF']). '" method="post" onsubmit="return regcheck(this)">
<input type="hidden" name="nrv0" value="'. $_SESSION['nrv']. '" />
<label for="nume">Nume : </label><input type="text" name="nume" maxlength="32" id="nume" /><br /><br />
<label for="pass">Parola : </label><input type="password" name="pass" maxlength="18" id="pass" /><br /><br />
<label for="pass2">Rescrie parola : </label><input type="password" name="pass2" maxlength="18" id="pass2" /><br /><br />
<label for="email">E-Mail: </label><input type="text" name="email" maxlength="42" id="email" /><br /><br />
<label for="oras">Oras : </label><input type="text" name="oras" maxlength="18" id="oras" /><br /><br />
<label for="tara">Tara : </label><input type="text" name="tara" maxlength="18" id="tara" /><br /><br />
<label for="varsta">Varsta : </label><input type="text" name="varsta" maxlength="3" id="varsta" /><br /><br />
<label for="nrv">Nr. Verificare : </label><input type="text" name="nrv" size="5" maxlength="6" id="nrv" /><br /><br />
<input type="submit" name="subjoin" value="Trimite">
</form>
</div></center>';
}
@mysql_close();
?>