Problema INSERT date in MySQL
Scris: Mie Oct 24, 2012
Am facut un cod, si nu imi trimite datele la baza de date.
Uite aici codu PHP:
Nu da eroare nu nimic, pur si simplu dau trimite (inregistreaza-ma ) si da refresh la pagina.
Uite aici codu PHP:
Cod: Selectaţi tot
<?php
// Se defineste un Header pt. a utiliza setul de caractere cu format UTF-8
header('Content-type: text/html; charset=utf-8');
$mesaj = ''; // Variabila folosita pt. mesajul ce va fi afisat pt. utilizator
// Se verifica daca sunt primite datele de la formular
if (isset($_POST['nume']) && isset($_POST['idm']) && isset($_POST['sex']) && isset($_POST['parola']) && isset($_POST['tara']) && isset($_POST['nastere']) && isset($_POST['stare']) && isset($_POST['interes']) && isset($_POST['oras']) && isset($_POST['descriere']) && isset($_POST['poza'])) {
// Se filtreaza datele pt. eliminare posibile spatii exterioare si tag-uri
$_POST = array_map("trim", $_POST);
$_POST = array_map("strip_tags", $_POST);
// Se verifica daca "magic_quotes_gpc()" este setat ON
// Daca e ON, se aplica stripslashes() pentru a nu se adauga de 2 ori '\' cand va fi aplicat "mysql_real_escape_string()"
if(get_magic_quotes_gpc()) { $_POST = array_map("stripslashes", $_POST); }
// Se verifica daca au fost completate corect toate campurile
// Daca au fost completate le preia in variabile, in caz contrar seteaza o variabila tip Array cu mesaj de eroare
// Verifica daca Numele are cel putin 3 caractere si maxim 40
if(strlen($_POST['nume'])>2 && strlen($_POST['nume'])<41) $nume = $_POST['nume'];
else $eroare[] = 'Utilizator trebuie sa contina intre 3 si 40 caractere';
// Verifica daca id-ul de messenger e scris corect
if(preg_match('/^([a-zA-Z0-9]+[a-zA-Z0-9._%-])$/', $_POST['idm'])) $idm = $_POST['idm'];
else $eroare[] = 'Completati corect id-ul de messenger';
// Verifica daca a fost selectata o valoare pt. 'sex'
if(strlen($_POST['sex'])>2) $sex = $_POST['sex'];
else $eroare[] = 'Selectati Sex-ul';
// Daca nu exista nici un mesaj de eroare, filreaza datele cu mysql_real_escape_string() si le adauga in baza de date
// Altfel, in cazul vreunei erori, adauga in variabila $mesaj
if (!isset($eroare)) {
$host = ''; // Serverul MySQL
$utilizator = ''; // Utilizator pt. server
$parola = ''; // Parola utilizator
$numebd = ''; // Numele bazei de date
// Conectarea la server
$conn = mysql_connect($host, $utilizator, $parola);
if (!$conn) { echo '<h4>Conectare nereusita la MySQL</h4>'; }
// Selectarea bazei de date
if (!mysql_select_db($numebd, $conn)) { echo '<h4>Baza de date nu a putut fi selectata deoarece : '. mysql_errno(). ' : '. mysql_error().'</h4>'; }
mysql_set_charset('utf8', $conn); // Setarea pt. lucru cu format UTF-8
// Se aplica functia de filtrare mysql_real_escape_string()
$nume = mysql_real_escape_string($nume);
$idm= mysql_real_escape_string($idm);
// Acum se adauga mai in siguranta aceste date in MySQL
$sql = "INSERT INTO `membri` ('id', 'nume', 'idm', 'parola', 'tara', 'oras', 'nastere', 'sex', 'stare', 'descriere', 'interes', 'referal') VALUES ('$id', '$nume' , '$idm' , '$parola', '$tara', '$oras', '$nastere', '$sex', '$stare', '$descriere', '$interes', '$referal', '$ip', '$data')";
if (mysql_query($sql, $conn)) {
$mesaj = '<font color="blue">Datele au fost adaugate</font>';
$nume = ''; $email = '';
}
else $mesaj = '<font color="red">Datele nu au putut fi adaugate '. mysql_error(). '</font>';
mysql_close($conn);
}
else $mesaj = '<font color="red">'. implode('<br />', $eroare). '</font>';
}
echo $mesaj;
?>