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 1055 korisnika na forumu :: 85 registrovanih, 11 sakrivenih i 959 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: -[CoA]-, A.R.Chafee.Jr., airsuba, Atomski čoban, babaroga, bladesu, Bobrock1, BORUTUS, Bubimir, Buda Baba, cvrle312, dankisha, darkstar101, Dejan84, dejanbenkovic, Dorcolac, dragan_mig31, dukajov, dule10savic, Gama, Georgius, goran.vvv, GreenMan, Griffon vulture, gzoki, h8propaganda, helen1, HrcAk47, hvost, ikan, Joja, kaptain, kokodakalo, Koridor, Krusarac, kunktator, laurusri, maiden6657, mercedesamg, Mercury, Milan A. Nikolic, milimoj, MiroslavD, Nemanja.M, nenaddz, Nobunaga, ofbeyond, opt1, ostoja, panzerwaffe, perko91, pirke96, Pohovani_00, raptorsi, rikirubio, RJ, robert1979, RobinHood12, Rocker, Rogan33, ruma, ruso, Sale.S, saputnik plavetnila, Shinobi, Shufle, solic, Srki94, Stoilkovic, su27, Tas011, Toni, tubular, upitnik, vlad84, VladaNS1978, vladulns, Vlajman1957, vranjanac29, Webb, Wrangler, yufighter, zastavnik, Zimbabwe, zoranis