MySQL je vratio prazan rezultat (nula redova). Problem sa registraciom.

MySQL je vratio prazan rezultat (nula redova). Problem sa registraciom.

offline
  • Pridružio: 22 Avg 2011
  • Poruke: 14

Nakon izvrsavanja skripte za registracuju korisnika u odgovarajucu tabelu mysql baze mi se ne upisuju podaci vec u prozoru PhpMyAdmin-a dobijam obavestenje:MySQL je vratio prazan rezultat (nula redova).

Ovako izgleda skripta:

<?php

// Promenite parametre za Vas host...

mysql_connect("localhost", "root","") or die(mysql_error());
mysql_select_db("user") or die(mysql_error());

if (isset($_POST['submit']))
{

// Ovo proverava da li su ostala polja prazna
if (!$_POST['First_Name'] || !$_POST['Last_Name'] || !$_POST['Email']
|| !$_POST['Password'] || !$_POST['I_am'] || !$_POST['Month'] || !$_POST['Day'] || !$_POST['Year'] )
{
die('Greska! Niste popunili sva polja!');
}
// Ubacivanje podataka u bazu
$insert = "INSERT INTO korisnici (First_Name, Last_Name, Email, Password, I_am , Month , Day , Year )
VALUES ('".$_POST['First_Name']."', '".$_POST['Last_Name']."' ,
'".$_POST['Email']."', '".$_POST['Password']."', '".$_POST['I_am']."','".$_POST[ 'Month']."','".$_POST['Day']."','".$_POST['Year']."' )";
$add_member = mysql_query($insert); }

if (!$insert)
{ echo "Greska! <br>Registracija nije uspela"; }
else
{ echo '<br>1 clan dodat u bazu!<br>Vas nalog je registrovan!!! '; }
?>

U cemu je problem,odnosno sta treba da uradim da bi registracija funkcionisala?
Unapred,hvala puno... Smile



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

Kao prvo proveravas pogresnu promenjivu
$insert je string a $add_member sadrzi podatak dal je uspeo query insert.
Drugo ovako sastavljen query je jako podlozan MySQL injectionu
http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php



offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Sem toga, treba da modifikuješ upit gde počinje VALUES..primer:

$insert = mysql_query("INSERT INTO korisnici(First_name,Last_name) VALUES ('$_POST[First_Name]','$_POST[Last_Name]')");  // i tako dalje

offline
  • Pridružio: 22 Avg 2011
  • Poruke: 14

Izmenio sam kaod u skladu sa vasim preporukama ali i dalje se podaci ne upisuju u bazu.

Trenutno ovako izgleda moj kod:

?php

//parametre za Vas host...

mysql_connect("localhost", "root","") or die(mysql_error());
mysql_select_db("user") or die(mysql_error());

if (isset($_POST['submit']))
{

// Ovo proverava da li su ostala polja prazna
if (!$_POST['First_Name'] || !$_POST['Last_Name'] || !$_POST['Email']
|| !$_POST['Password'] || !$_POST['I_am'] || !$_POST['Month'] || !$_POST['Day'] || !$_POST['Year'] )
{
die('Greska! Niste popunili sva polja!');
}
// Ubacivanje podataka u bazu
$insert= mysql_query("INSERT INTO korisnici (First_Name, Last_Name, Email, Password, I_am , Month , Day , Year )
VALUES ('$_POST[First_Name]','$_POST[Last_Name]','$_POST[Email]','$_POST[Password]','$_POST[I_am]','$_POST[Month]','$_POST[Day]','$_POST[Year]')");
$add_member = mysql_query($insert); }

if ($add_member)
{ echo "Greska! <br>Registracija nije uspela";
echo add_member; }
else
{ echo '<br>1 clan dodat u bazu!<br>Vas nalog je registrovan!!! '; }
?>

offline
  • PHP Developer
  • Pridružio: 02 Okt 2005
  • Poruke: 546

Ajde stavi ovaj kod pa ces imati vise podataka za debuging.
I napisi ovde poruku greske ako se bude pojavila.
// Ubacivanje podataka u bazu $querty_str = "INSERT INTO korisnici (First_Name,Last_Name,Email,Password,I_am,Month,Day,Year) VALUES (\"$_POST['First_Name']\",\"$_POST['Last_Name']\",\"$_POST['Email']\",\"$_POST['Password']\",\"$_POST['I_am']\",\"$_POST['Month']\",\"$_POST['Day']\",\"$_POST['Year']\");"; $result = mysql_query($querty_str); } if (!$result) { echo 'Invalid query: '.$querty_str.' Error:'. mysql_error(); } else { echo '<br>1 clan dodat u bazu!<br>Vas nalog je registrovan!!! '; } ?>

offline
  • Pridružio: 22 Avg 2011
  • Poruke: 14

Nakon unosa tvog koda dobio sam ovu poruku o gresci:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\Site\Moja registracija\registracija php.php on line 30
gde je if (!$result) ==>line 30

offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

Prvo i osnovno, pri svakom upisu u bazu podataka koje unosi korisnik, pozvati mysql_real_escape_string.

http://php.net/manual/en/function.mysql-real-escape-string.php

Znaci, svaki podatak koji dobijas od forme provuci kroz ovu funkciju.

Ko je trenutno na forumu
 

Ukupno su 1041 korisnika na forumu :: 37 registrovanih, 7 sakrivenih i 997 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., bojank, bokisha253, Bubimir, ccoogg123, CikaKURE, darkangel, Doca, DPera, draganca, galerija, Georgius, goxin, ivicasimo, Kibice, Komentator, Kubovac, ladro, laganini123, MiroslavD, mkukoleca, mocnijogurt, moldway, nenad81, nikoladim, novator, Panter, Parker, pedja.st, Snorks, ss10, stegonosa, VJ, vranjanac29, vukovi, Webb, zixmix