ugrás a tartalomhoz

Űrlap adatok fogadása csak elsőre megy

DevNULL · 2005. Júl. 19. (K), 13.08
Probáltam minél kevesebb kódot berakni, de eleget hogy átlátható legyen.
  1. <?php  
  2. include("header.php");  
  3. /* mysql kapcsolat létrehozása */  
  4.   
  5. function user_reg($form$user_name$user_email$user_password_1$user_password_2) {  
  6.     if ($form == "") {  
  7.         table_open("Felhasználó regisztráció");  
  8.                   /* Regisztrációs űrlap */  
  9.                   /* Elküldött űrlap esetén a $form = "sent" */  
  10.         table_close();  
  11.     }  
  12.     if ($form == "sent") {  
  13.         table_open("Regisztráció befejezés");  
  14.         /* Itt egy táblázat van ami kiírja a bevitt adatokat */  
  15.                   /* lássa a felhasználó mit írt be. Meg persze itt van */  
  16.                   /* egy halom ellenőrzés, de az működik és most csak a */  
  17.                   /* helyet foglalná.                                   */  
  18.   
  19.         if ($err > 0) {  
  20.            echo "<br>";  
  21.            echo "<center><a href=\"users.php?done=registration\" class=\"1\"><--vissza az űrlaphoz</a></center>";  
  22.            echo "<br>";  
  23.         }  
  24.         if ($err == 0) {  
  25.            echo "<br><center>";  
  26.            echo "<form action=\"".$HTTP_SELF."\" method=\"post\">";  
  27.            echo "<input type=\"hidden\" name=\user_name_final\" value=".$user_name.">";  
  28.            echo "<input type=\"hidden\" name=\user_email_final\" value=".$user_email.">";  
  29.            echo "<input type=\"hidden\" name=\user_password_final\" value=".$user_password_1.">";  
  30.            echo "<input type=\"hidden\" name=\done\" value=\"regfinal\">";  
  31.            echo "<input type=\"submit\" class=\"buttona\" value=\"REGISZTRÁCIÓ VÉGLEGESÍTÉSE\">";  
  32.            echo "</form>";  
  33.         }  
  34.         table_close();  
  35.     }  
  36. }  
  37.   
  38. function reg_final($user_name_final$user_email_final$user_password_final){  
  39. }  
  40.   
  41. switch ($done) {  
  42.     case "registration":  
  43.     user_reg($form$user_name$user_email$user_password_1$user_password_2);  
  44.     break;  
  45.   
  46.     case "regfinal":  
  47.     reg_final($user_name_final$user_email_final$user_password_final);  
  48.     break;  
  49.   
  50.     case "login":  
  51.     login();  
  52.     break;  
  53.   
  54.     case "default":  
  55.     header("location:index.php");  
  56.     break;  
  57. }  
  58. mysql_close($kapcsolat);  
  59. include("footer.php");  
  60. ?>  
A problémám az:
- Miután kitöltöm a regisztrációt --> MEHET gomb --> kiírja a beírt adatokat és, ha van hiba akkor azt is kiírja és a végére rak egy vissza linket
- A probléma ezután jön, mert ha nincs hiba az adatokban akkor kirak egy REGISZTRÁCIÓ VÉGLEGESÍTÉSE gombot, ami igazából egy űrlap "hidden" elemekkel. Idáig minden tökéletessen működik. Ezután ha megnyomom a REGISZTRÁCIÓ V. gombot. Meghívja a file magát mert az include("header.php"); include("footer.php"); végrehajtódik, csak a változókat nem adja át és így a reg_final(); nem írj be az adatbázisba az új felhasználót
- Ha valaki tudja miért nem mennek át a változok az kérem írjon
- Ja még annyit, hogy amikor űrlap helyett egy sima linket raktam oda GET típusú küldéssel (href=".$HTTP_SELF."?user_name_final=".$user_name....) akkor simán átmentek a változok és beírta az új felhasználót.
 
1

kódszínezés

Hojtsy Gábor · 2005. Júl. 19. (K), 14.08
Először is jó lenne legalábis code, de sokkal inkább colorer elemek közé tenni, amit beküldesz, mert így jobban látjuk, hogy mi történik. Különben pontosan ugyanez mentene meg téged is a hibádtól. Kódszínezős szerkesztőprogramot kellene használni, igen kiváló darabok vannak teljesen ingyen Windows rendszerekre is.

Szóval a rejtett mezők nevét rendesen kellene idézőjelbe tenni, és akkor a böngésző is megértené, és továbbítaná az adatokat. A kódszínezésben teljesen jól látszik, hogy már a center elemet tartalmazó sorodban teljesen parse erroros a kód, utána ez csak tovább fokozódik.
2

kössz

DevNULL · 2005. Júl. 19. (K), 17.23
javítottam és megy.
kössz.
Ja és ha már így át tudtad írni, akkor törölhetnéd is, mert közben megjött a regisztrációs e-mail-om és mivel átírva nem volt imerős azt hittem törölve lett és már belépve újra feltettem a kérdést.
Van fenn szerkesztő DzsSoft PHP Editor 3.0, kb egy hete, ez volt az első amire ráleltem. De szar átírtam a hibát és semmi színváltozás vagy valami.
3

szerkesztő

DevNULL · 2005. Júl. 19. (K), 17.35
Hát ha már ez marad az se baj.

De írhatnátok valami jó szerkesztőt is. Olvastam régebbről itt szerkesztőket, de majdhogynem ahány ember annyi jó szerkesztő (mindenki mást mond jónak).
4

Másik téma

attlad · 2005. Júl. 19. (K), 21.03
A szerkesztő kérdés egy másik téma: http://weblabor.hu/forumok/temak/7877

Attila