ugrás a tartalomhoz

Regisztrációs hiba

styke · 2013. Már. 23. (Szo), 16.58
Sziasztok! Készítettem egy regisztrációs oldalt, ahol a lényeg az lenne, hogy ugye az adatokat a reg_check.php leelenőrzi, majd az bekerül az adatbázisba.
De amikor a register.php-t behívom a böngészőben és kitöltöm az adatok, utána nem történik semmi, csak újra tölt az oldal, illetve az URL címhez bekerülnek az adatok. Itt a kód. Mi lehet a gond?
  1. <link rel="stylesheet" type="text/css" href="styles.css" />  
  2.   
  3. </head>  
  4.   
  5. <body>  
  6.   
  7. <div id="carbonForm">  
  8.     <h1>Regisztráció</h1>  
  9.   
  10.     <form method="post action">  
  11.   
  12.     <div class="fieldContainer">  
  13.   
  14.         <div class="formRow">  
  15.             <div class="label">  
  16.                 <label for="name">Felhasználónév:</label>  
  17.             </div>  
  18.               
  19.             <div class="field">  
  20.                 <input type="text" name="nick"/>  
  21.             </div>  
  22.         </div>  
  23.           
  24.         <div class="formRow">  
  25.             <div class="label">  
  26.                 <label for="email">Email:</label>  
  27.             </div>  
  28.               
  29.             <div class="field">  
  30.                 <input type="text" name="email"/>  
  31.             </div>  
  32.         </div>  
  33.           
  34.         <div class="formRow">  
  35.             <div class="label">  
  36.                 <label for="pass">Jelszó:</label>  
  37.             </div>  
  38.               
  39.             <div class="field">  
  40.                 <input type="password" name="pass1"/>  
  41.             </div>  
  42.         </div>  
  43.           
  44.                 <div class="formRow">  
  45.             <div class="label">  
  46.                 <label for="pass">Jelszó ismét:</label>  
  47.             </div>  
  48.               
  49.             <div class="field">  
  50.                 <input type="password" name="pass2"/>  
  51.             </div>  
  52.         </div>  
  53.           
  54.     </div> <!-- Closing fieldContainer -->  
  55.       
  56.     <div class="signupButton">  
  57.         <input type="submit" name="regisztracio" id="submit" value="Regisztrálás" />  
  58.     </div>  
  59.       
  60.     </form>  
  61.           
  62. </div>  
  63.   
  64.   
  65. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>  
  66. <script type="text/javascript" src="script.js"></script>  
  67.   
  68. <?php  
  69. include "config.php";  
  70. include "reg_check.php";  
  71. mysql_connect($dbhost,$dbuser,$dbpass);  
  72. mysql_select_db($dbname);  
  73.   
  74. if (isset($_POST['regisztracio']))  
  75. {  
  76.   if (reg_check($_POST) == "rendben")  
  77.   {  
  78.     $sql = "INSERT INTO users (id,nick,jelszo,email) ";  
  79.     $sql.= "VALUES('','".$_POST['nick']."','";  
  80.     $sql.= md5($_POST['pass1'])."','".$_POST['email']."')";  
  81.     $query = mysql_query($sqlor die ("Valami baj van az adatbázissal.");  
  82.     print "sikeres regisztráció!";  
  83.           print "\"index.php\">tovább";  
  84.   }  
  85.   else  
  86.   {  
  87.     print reg_check($_POST);  
  88.   }  
  89. }  
  90. ?>  
  91. </body>  
  92. </html>  
Remélem ti tudtok segíteni... :/
 
1

Jaa ez lemaradt:

styke · 2013. Már. 23. (Szo), 17.08
Azt elfelejtettem mondani, hogy ez a register.php volt. Bár nem hinném, hogy számít..
2

Tudni kéne, mi van a

hunkris · 2013. Már. 23. (Szo), 17.28
Tudni kéne, mi van a regcheck.php-ben. Egyébként meg nem adtál meg actiont az űrlapnak, csak a metódusba odaírtad (hibásan), hogy action.
3

Máris

styke · 2013. Már. 23. (Szo), 18.03
Ez van a reg_check.php ban. És akkor még mivel kéne kiegészítenem az előző kódot? Nem vagyok nagy programozó, örülök, hogy idáig eljutottam. Ez van a reg_check.php-ban:
  1. <?php  
  2. function reg_check($adatok){  
  3.   if($adatok['nick'] == "" | $adatok['email'] == "" | $adatok['pass1'] == "")  
  4.   {  
  5.     return "Minden mező kitöltése kötelező";  
  6.         break;  
  7.   }   
  8.   elseif(!ereg('^[a-zA-Z\-\_áéíóöüóűÁÉÍÓÖÜŐŰ]+$'$adatok['nick' ]))  
  9.   {  
  10.     return "A nickben csak a magyar ábécé kis - és nagybetűi, a számok, illetve a  _ és - jelek engedélyezettek";  
  11.         break;  
  12.   }  
  13.   elseif($adatok['email'] == (!eregi("^[_\.0-9a-z-]+@  
  14. ([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$adatok['email'])))  
  15.   {  
  16.     return "Hibás e - mail cím!";  
  17.         break;  
  18.   }  
  19.   elseif(mysql_num_rows(mysql_query("SELECT nick FROM users WHERE (nick='".$adatok['nick']."')")) > 0)  
  20.   {  
  21.     return "Már regisztráltak ezzel a nickkel";  
  22.     break;  
  23.   }  
  24.   elseif($adatok['pass1'] !== $adatok['pass2'])  
  25.   {  
  26.     return "A két jelszó nem egyezik";  
  27.         break;    
  28.   }     
  29.   else  
  30.   {  
  31.     return "rendben";  
  32.   }  
  33. }  
  34. ?>  
4

method

Poetro · 2013. Már. 23. (Szo), 18.28
Elobb probalj meg helyes method es action parametereket megadni a form-on.
5

És mit?

styke · 2013. Már. 23. (Szo), 18.37
Rájöttem, hogy elírtam. És az action="" az mi kellene legyen?
9

Feldolgozó

Pepita · 2013. Már. 23. (Szo), 22.01
A feldolgozó szkript URL-je.

Valószínűleg egy betűt sem értesz abból amit csinálsz, javaslom, hogy kezdd az elején. Cikkek / cikkek kategóriánként.
10

Hát nem éppen :s

styke · 2013. Már. 24. (V), 00.40
Ha a feldolgozó (reg_check.php)-t írom az action be, akkor az űrlap kitöltése után betölti a reg_check.php-t...
11

Éppen ezért a

hunkris · 2013. Már. 24. (V), 01.39
Éppen ezért a regisztral.php-t kéne megadni célként...
13

Hát mi éppen?

Pepita · 2013. Már. 24. (V), 22.01
Mondtam, hogy a (reg_check.php)-t írd oda? Azt mondtam, hogy a feldolgozót.

Tényleg nem értesz belőle egy betűt sem, ne az innen-onnan letöltött rossz, hiányos, feltörhető, stb. sz**okkal vacakolj, hanem kezdj el tanulni. Az elején kezdd, akkor fogunk tudni segíteni, másképp viszont legfeljebb megcsinálja valaki helyetted (pl. pénzért).
14

Tanács

Alex Black · 2013. Már. 31. (V), 03.56
Üdv mindenkinek! Styke,szerintem érdemesebb lenne először olvasgatnod a formok kezeléséről,készítéséről,feldolgozásáról.Több időd megy el azzal hogy ide be írsz,és várod a választ,mint elolvass erről egy olvasmányt,internet tele van ilyenekkel.És a saját idődet sem pazarlod el. :)
(szerintem az ereg helyett preg_match / kinek mi a zsánere):)
6

Method

styke · 2013. Már. 23. (Szo), 18.40
Na most kipróbáltam így, hogy nem volt az action="" ban semmi. Így már fogjuk rá, hogy jó, de most meg mindenre azt írja, hogy hibás email cím. Mi lehet a gond?
7

Valószínüleg elírtad a

hunkris · 2013. Már. 23. (Szo), 19.15
Valószínüleg elírtad a reguláris kifejezésedet.

Egyébként olyan nincs, hogy |. Csak ||van, és az a VAGY logikai operátor. Majd írd át.

Szerk.: most látom, a formban rosszul használod a for="" -t. A for értékének mindig az input id-je kell.

Szerk 2.: if végére nem kell break;

Szerk 3.: Nem is írom tovább, még kettőt találtam, pedig csak átfutottam a kódot.
8

Nem értem...

styke · 2013. Már. 23. (Szo), 21.21
Nem értem én ezt :/ http://www.felsofokon.hu/urbancsik-gergo-blogja/2011/01/29/webprogramozas-php-es-mysql-alapu-belepteto-rendszer Ez alapján csinálom az egészet, és valószínüleg azért rontottam el, mert ezt a részt, nem mint kódot írta le, hanem csak mint egy sima szöveget:

register.php


Regisztráció


Regisztráció:

method="post" action="">





Nick:

type="text" name="nick" />





E-mail cím:

type="text" name="email" />





Jelszó:

type="password" name="pass1" />





Jelszó mégegyszer:

type="password" name="pass2" />






colspan="2"> type="submit" name="regisztracio"value="regisztrálok" />



És én ebből így nem sokat értek, meg nincsen ugye bár kódolva, és áááááh. Kérlek segítsetek :/
12

Egyébként olyan nincs, hogy...de.

Arnold Layne · 2013. Már. 24. (V), 18.08
Egyébként olyan nincs, hogy |. Csak ||van...

De van. Csak nem ugyanazt csinálja.