Registracija - problem

1

Registracija - problem

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Danas sam trebao da odradim sistem za registraciju korisnika u PHP i napravio bazu:

  1. Host: mysql1.000webhost.com
  2. Username: a6182331_metro
  3. Baza: a6182331_metro
  4. Lozinka: *************


U njoj se nalazi tabela korisnici, tu je id, username, password i email.

Arrow index.php
  1. <form action="registracija.php" method="POST">
  2. <table>
  3. <tr>
  4. <td><b>Korisničko ime:</b></td><td><input type="text" name="username"/></td>
  5. </tr>
  6. <tr>
  7. <td><b>Lozinka:</b></td><td><input type="password" name="password"/></td>
  8. </tr>
  9. <tr>
  10. <td><b>E-mail:</b></td><td><input type="text" name="email"/></td>
  11. </tr>
  12. <tr>
  13. <td><input type="submit" name="submit" value="Registruj se!"/></td>
  14. </tr>
  15. </table>
  16. </form>


Arrow registracija.php
  1. <?php
  2. mysqli_connect('mysql1.000webhost.com','a6182331_metro','lozinka','a6182331_metro');
  3. mysql_select_db('a6182331_metro');
  4. if(isset($_POST['submit'])){
  5.  if(strlen($_POST['username']>50)){
  6.  echo "Korisnicko ime ne moze biti vece od 50 karaktera.";
  7.  }
  8.  else if(strlen($_POST['email'])>50){
  9.  echo "E-mail ne sme biti duzi od 50 karaktera";
  10.  }
  11.  else{
  12.  $password = md5($_POST['password']);
  13.  $username = $_POST['username'];
  14.  $email = $_POST['email'];
  15.  
  16.  if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)){
  17.  echo "E-mail nije u ispravnom formatu";
  18.  }
  19.  else{
  20.  $q = mysql_query("INSERT INTO `a6182331_metro`.`korisnici` (
  21.  `id` ,
  22.  `username` ,
  23.  `password` ,
  24.  `email`
  25.  )
  26.  VALUES (
  27.  NULL , '$username', '$password', '$email'
  28.  );");
  29.  echo "Uspesno ste registrovani!";
  30.  }
  31.  }
  32. }
  33. ?>
  34.  
  35. </body>
  36. </html>


Kad pokušam da se registrujem kroz ovu formu pojave mi se greške:

  1. Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'a6182331_metro'@'10.1.1.13' (using password: YES) in /home/a6182331/public_html/registracija.php on line 6
  2. Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in /home/a6182331/public_html/registracija.php on line 7
  3. Warning: mysql_query() [function.mysql-query]: Access denied for user 'a6182331'@'localhost' (using password: NO) in /home/a6182331/public_html/registracija.php on line 32
  4. Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/a6182331/public_html/registracija.php on line 32


Na kraju svih tih grešaka se ispiše "Uspesno ste se registrovali!" Confused



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Citat:Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'a6182331_metro'@'10.1.1.13' (using password: YES) in /home/a6182331/public_html/registracija.php on line 6

Prvo sto kaze u gresci je da ti nevalja pass ili user i nemoze se konektovati na bazu

Kada koristis Mysqli koristi ga kao objekat.
[quote]

  1. $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
  2.  
  3. /* check connection */
  4. if (mysqli_connect_errno()) {
  5.     printf("Connect failed: %s\n", mysqli_connect_error());
  6.     exit();
  7. }


Sledece nisu oni dzabe iskljucili MySQL... Koristi PREPARED STATEMENTS i BINDOVE

  1. /* create a prepared statement */
  2. if ($stmt = $mysqli->prepare("SELECT * FROM user WHERE Name=?")) {
  3.  
  4.     /* bind parameters for markers */
  5.     $stmt->bind_param("s", $user);
  6.  
  7.     /* execute query */
  8.     $stmt->execute();
  9.  
  10.     /* bind result variables */
  11.     $stmt->bind_result($district);
  12.  
  13.     /* fetch value */
  14.     $stmt->fetch();
  15. }


Pored ove greske ne moze da bude registrovan nikako. Ja secem onu stvar ako si pored ove greske registrovao korisnika. Uostalom ako nemas u register drugu konekciju



offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Pa video bih valjda u bazi da sam nekog korisnika uspeo da registrujem Razz Otkud pogrešan pass kad koristim isti i za hosting i za bazu, nemoguće da je pogrešan Question

A za ove prepared statements i binds, kako da ih prilagodim ovde, ne znam ni šta je to Confused Jel' može to nekako lakše da se odradi?

offline
  • Pridružio: 16 Jan 2010
  • Poruke: 241
  • Gde živiš: Zemun

A jesi ti napravio bazu i dodelio user-a koji će upravljati tom bazom? Ako imaš cPanel koristi MySQL Wizard za kreiranje baze i usera koji će upravljati tom bazom.

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

MAN, MAN i opet MAN. Mozda jednom ukapiras sta znaci MAN Very Happy

Covek za prepared stm procitaj na php.net tamo je lepo objasnjeno. A ova greska se javlja samo kad je bad user, pass, host. Treceg nema.

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 17 Avg 2013 16:30

cvrlebg ::A jesi ti napravio bazu i dodelio user-a koji će upravljati tom bazom?

Pa nisam valjda tol'ka budala Mr. Green cms, radim na 000webhost, tu moraš odmah i user-a da napraviš.

  1. ime baze == ime korisnika


_iKaC ::MAN, MAN i opet MAN. Mozda jednom ukapiras sta znaci MAN Very Happy

Daj bre ikac, ne zaje*vaj se u pitanju je važan projekat LOL Znam da ima na php.net, ali lik je na isti način odradio ovo na lokalu i radilo je odlično Razz

Dopuna: 17 Avg 2013 16:33

Prepared statements and stored procedures - znači to da odradim umesto ovog dela:

  1. $q = mysql_query("INSERT INTO `a6182331_metro`.`korisnici` (
  2.  `id` ,
  3.  `username` ,
  4.  `password` ,
  5.  `email`
  6.  )
  7.  VALUES (
  8.  NULL , '$username', '$password', '$email'
  9.  );");


Question

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Covek pa nije ti to MYSQL gde je tebi u kodu execute() ?

Konektuje se na bazu

<?php

  1. $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
  2.  
  3. /* check connection */
  4. if (mysqli_connect_errno()) {
  5.     printf("Connect failed: %s\n", mysqli_connect_error());
  6.     exit();
  7. }


Prepare an insert statement
  1. $query = "INSERT INTO user (name, pass,) VALUES (?,?,?)";
  2. $stmt = $mysqli->prepare($query);


Sada binduj vrednost

  1. $stmt->bind_param("sss", $user, $pass, );


Sada dodaj vrednost

  1. $val1 =$_POST['user'];
  2. $val2 = $_POST['pass']


I na kraju zvekni

  1. $mysql->execute()


Bez execute nemoze da se izvrsi upit... To je moglo u mysql ali u mysqli nema toga buraz

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Napisano: 17 Avg 2013 16:48

Pa odradio sam to Smile Ja sam učio da se ovako konektujem sa bazom:

  1. <?php
  2. // Kreiranje konekcije
  3. $varijabla=mysqli_connect(...);
  4.  
  5. // Ispitivanje konekcije
  6. if (mysqli_connect_errno($varijabla))
  7.   {
  8.   echo "Konekcija sa MySQL nije uspela: " . mysqli_connect_error();
  9.   }
  10. ?>


Potpuno mi je nepoznat taj koncept koji si ti napisao , ali ga razumem .

Dopuna: 17 Avg 2013 16:50

_iKaC ::Bez execute nemoze da se izvrsi upit... To je moglo u mysql ali u mysqli nema toga buraz

Razumem Smile Sad ću pokušati opet.

Dopuna: 17 Avg 2013 17:01

E sad sam mu je** kevu

  1. <!DOCTYPE html>
  2. <html>
  3. <body bgcolor="#528BB1">
  4.  
  5. <?php
  6. mysql_connect('mysql1.000webhost.com','a6182331_metro','lozinka');
  7. mysql_select_db('a6182331_metro');
  8. if(isset($_POST['submit']))
  9. {
  10. if(strlen($_POST['username']>50))
  11. {
  12. echo "Korisnicko ime ne moze biti vece od 50 karaktera.";
  13. }
  14. else if(strlen($_POST['email'])>50)
  15. {
  16. echo "E-mail ne sme biti duzi od 50 karaktera";
  17. }
  18. else {
  19. $password = md5($_POST['password']);
  20. $username = $_POST['username'];
  21. $email = $_POST['email'];
  22. if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email))
  23. {
  24. echo "E-mail nije u ispravnom formatu";
  25. }
  26. else{
  27. $q = mysql_query("INSERT INTO `a6182331_metro`.`korisnici` (&nbsp;`id` ,&nbsp;`username` ,&nbsp;`password` ,&nbsp;`email`&nbsp;)&nbsp;VALUES (&nbsp;NULL , '$username', '$password', '$email'&nbsp;);");
  28. echo "Uspesno ste registrovani!";
  29. }
  30. }
  31. }
  32. ?>
  33.  
  34. </body>
  35. </html>


Radi super sada, bez greške, hvala ti _iKaC na profesionalnoj pomoći Ziveli

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Zasto koristis mysql kad sii predhodnom postu postavljao MySQLi ?

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Zato što sam na meto gde sam trebao staviti mysql_user, stavio password i sve zabrljao , kad si mi dao kod ponovo sam pogledao onaj prvi i uočio grešku , vratio sve na mysql i dodao još host, user i pass, popravio par greškaa sa &nbsp; (tu se u kodu i dalje pokazuju) i rešio problem Smile

Ko je trenutno na forumu
 

Ukupno su 1012 korisnika na forumu :: 70 registrovanih, 2 sakrivenih i 940 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: 015, Agape, Alexa77, alexbr, ALEXV, antonije64, aramis s, Asteker, avijacija, Black Luster Soldier, bojan581, bojcistv, Bozjidar87, bukefal, Car89, cole77, CZP10C, Darkoniii_94, dejno, dendrit86, Dobrovoljacsrb, doktor097, Dovla 1980, dragisa dragisa, Drugsparrow, dunavzed, Electron, FOX, Georgius, goranvas, gregorxix, Hans Gajger, Hardenberg, Igor Antonic, Insan, IvanMiletic, jodzula, Još malo pa deda, kolateralnasteta, kolle.the.kid, Kubovac, LostInSpaceandTime, Lošmi, Marko Marković, MarkoD, mercedesamg, milanmi87, milenko crazy north, nisamBot, NMNJ, nsharambasa, ObicanUser, PrincipL, procesor, radoznao, rodoljub, ruma, S-lash, SamostalniReferent, sekretar, sspp, Toper, ujke, Vendox, vidra1, Vlada78, vladivostok, x9, zoran77, Živković