Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][AJAX]wysyłanie formularza.
Johnas
post
Post #1





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

Ostrzeżenie: (0%)
-----


Witam próbuje wysłać formularz za pomocą jquery. mam taki kod:
[JAVASCRIPT] pobierz, plaintext
  1. sendreg(val1, val2)
  2. {
  3. data = "username=" + val1 + "&email=" + val2;
  4. $.ajax({
  5. type: "POST",
  6. data: data,
  7. url: "register.php",
  8. success: function(response){
  9. if($.trim(response) == "SUCCESS") {
  10. alert("Dane zostały dodanie do bazy.");
  11. }
  12. else {
  13. alert(response);
  14. }
  15. }
  16. });
  17. return false;
  18. };
[JAVASCRIPT] pobierz, plaintext


aczkolwiek w php zmienne $_POST['username] i $_POST['email'] są puste. W zmiennych javascript val1 i val2 są przypisane wartości ale w kodzie ich nie pokazuje. I znów pytanie co mam nie tak. Próbowałem kombinować ale już mnie głowa boli bo i tak nic nie wychodzi. Dziekuje za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Johnas
post
Post #2





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

Ostrzeżenie: (0%)
-----


Analizując mój kod stwierdziłem że jest on napisany od d**y strony. Analizując to co się nauczyłem, doszedłem do wniosku że da się to co chcę otrzymać, napisać w dużo prostszy sposób. Oto wyniki mojej pracy:

plik java script:
[JAVASCRIPT] pobierz, plaintext
  1. var see = "";
  2. see += '<div class="ui-widget"><div class="ui-state-success ui-corner-all" style="margin-top: 20px; padding: 0 .7em;"><br><p>';
  3. see += '<span class="ui-icon ui-icon-check" style="float: left; margin-right: .3em;"></span>';
  4. see += '<strong></strong>Sprawdzanie formulaeza.<br>';
  5. see += '</p></div></div>';
  6.  
  7.  
  8.  
  9.  
  10.  
  11. function WyslijFormularz(){
  12. document.getElementById('myText').innerHTML = see;
  13. //DANE FORMULARZA
  14. var f = document.forms['register-form'];
  15.  
  16. data = "login=" + f.login.value + "&pass=" + f.pass.value + "&repass=" + f.repass.value + "&mail=" + f.mail.value + "&remail=" + f.remail.value;
  17. $.ajax({
  18. type: "POST",
  19. data: data,
  20. url: "function/register.php",
  21. success: function(response){
  22. if($.trim(response) == "OK") {
  23. $('#dialog').dialog('open');
  24. }
  25. else {
  26. var tresc = '';
  27. tresc += '<div class="ui-widget"><div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"><br><p>';
  28. tresc += response;
  29. tresc += '<span id="mail"> </span></p></div></div>';
  30. document.getElementById('myText').innerHTML = tresc;
  31. }
  32. }
  33.  
  34. });
  35.  
  36.  
  37. }
[JAVASCRIPT] pobierz, plaintext


oraz plik register:
  1. <?php
  2. include('../include/connect.php');
  3.  
  4.  
  5.  
  6.  
  7. if(isset($_POST['login'])) {
  8. //Dane do zmiennych
  9. $domena = 'firstclub.xaa.pl';
  10.  
  11.  
  12. $tabela = "users";
  13. $login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
  14. $pass = htmlspecialchars(stripslashes(strip_tags(trim($_POST["pass"]))), ENT_QUOTES);
  15. $pass2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["repass"]))), ENT_QUOTES);
  16. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["mail"]))), ENT_QUOTES);
  17. $remail = htmlspecialchars(stripslashes(strip_tags(trim($_POST["remail"]))), ENT_QUOTES);
  18. // sprawdzanie poprawnosci formularza
  19. if (strlen($login) < 3 or strlen($login) > 30 or !eregi("^[a-zA-Z0-9_.]+$", $login)) {
  20. $blad++;
  21. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Proszę poprawny wprowadzić login (od 3 do 30 znaków).<br>';
  22. } else {
  23. $wynik = mysql_query("SELECT * FROM $tabela WHERE login='$login'");
  24. if (mysql_num_rows($wynik) <> 0) {
  25. $blad++;
  26. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Login <b>'.$login.'</b> jest już zajęta, prosimy o wymyślenie innego loginu.<br>';
  27. }
  28. }
  29. if (strlen($pass) < 6 or strlen($pass) > 30 ) {
  30. $blad++;
  31. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Proszę poprawnie wpisać hasło (od 6 znaków do 30 znaków).<br>';
  32. }
  33. if ($pass !== $pass2) {
  34. $blad++;
  35. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Podane hasła nie są ze sobą zgodne.<br>';
  36. }
  37. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  38. $blad++;
  39. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Proszę wprowadzić poprawnie adres email.<br>';
  40. } else {
  41. $wynik = mysql_query("SELECT * FROM $tabela WHERE email='$email'");
  42. if (mysql_num_rows($wynik) <> 0) {
  43. $blad++;
  44. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>E-mail <b>'.$email.'</b> jest już w użyciu. Jeżeli zapomniałeś hasła lub loginu kliknij <a href="#">tutaj</a> aby wygenerować nowe dane.<br>';
  45. }
  46. }
  47. if ($email !== $remail) {
  48. $blad++;
  49. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Podane adresy e-mail nie są ze sobą zgodne.<br>';
  50. }
  51. if ($blad == 0) {
  52.  
  53. $pass = sha1($pass); // zaszyfrowanie hasla
  54. $kod = uniqid(rand()); // tworzenie unikalnego kodu dla użytkownika
  55.  
  56. $wynik = mysql_query("INSERT INTO $tabela VALUES('', '$login', '$pass', '$email', '$kod', NOW(), '9', '0')");
  57. if ($wynik) {
  58. include_once('include/class.phpmailer.php');
  59. $mail = new PHPMailer();
  60. $tresc = '<html>
  61. <head>
  62. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
  63. </head>
  64. <body bgcolor="black" text="white" style="margin: 0px;">
  65. <div style="width: 640px; font-family: Arial, Helvetica, sans-serif; font-size: 11px;">
  66. <br>
  67. <center><b>Witaj '.$login.'!</b></center><br>
  68. <br>
  69. Twoje konto jest jeszcze nie aktywne. Od aktywacji konta dzieli Cię jeszcze tylko jeden krok :) Wystarczy tylko, że klikniesz w link który znajduje się poniżej.<br>
  70. <a href="http://'.$domena.'/index.php?code='.$kod.'">Aktywuj Konto</a><br>
  71. <br>
  72. Jeżeli to nie ty zakładałeś konto nie klikaj w link. Konto zostanie automatycznie usunięte po dwóch dniach.</div>
  73. </body>';
  74.  
  75. $mail->From = "admin@$domena";
  76. $mail->FromName = "First Club";
  77.  
  78. $mail->Subject = "Rejestracja $login na $domena";
  79.  
  80.  
  81. $mail->MsgHTML($tresc);
  82.  
  83. $mail->AddAddress("$email", "$login");
  84. $mail->CharSet = "UTF-8";
  85.  
  86. if(!$mail->Send()) {
  87. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Mailer Error: ' . $mail->ErrorInfo;
  88. } else {
  89. echo '<div class="good"> Do całkowitego założenia konta pozostało jeszcze aktywowanie konta. Aby to zrobić zaloguj się na swój adres email i postępuj według wskazówek tam przedstawionych.';
  90. }
  91.  
  92. } else {
  93. echo '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>Błąd bazy danych. Prosimy o kontakt z <a href="mailto:admin@'.$domena.'">administratorem</a>';
  94. }
  95. }
  96. }
  97. ?>


Takie rozwiązanie jest też lepsze ponieważ wyświetla w miejscu na błędy, nie tylko moje błędy (rejestracji), ale również błędy prasera php.
Demo jak byś chciał zobaczyć to jest pod adresem http://teambook.pl
Go to the top of the page
+Quote Post

Posty w temacie
- Jonek_1993   [MySQL][AJAX]wysyłanie formularza.   20.02.2012, 00:05:25
- - prz3kus   Wysyłasz w linku jako GET a podajesz typ POST coś ...   20.02.2012, 09:22:17
- - Jonek_1993   A co zrobić aby było to metodą post? I aby były dw...   20.02.2012, 15:41:28
- - nospor   Tak jak robisz jest też ok, tylko skoro chcesz mie...   20.02.2012, 15:42:36
- - Jonek_1993   mam username tylko no login tak dla przykładu poda...   21.02.2012, 23:27:39
- - kadlub   Podczepię się pod temat Ja też sie od nie dawna ba...   22.02.2012, 07:28:21
- - Jonek_1993   Dobrze to może powiem co zrobiłem i co sie dzieje....   22.02.2012, 12:46:43
- - nospor   1) Przy łączeniu danych powinno byc nie &amp; ...   22.02.2012, 12:51:03
- - Jonek_1993   Edytowałem w pliku register.php [PHP] pobierz, pla...   22.02.2012, 12:57:34
- - nospor   Jaki alert?   22.02.2012, 13:04:24
- - Jonek_1993   w javia script alert(response); podejrzewam że to...   22.02.2012, 13:08:47
- - nospor   A co dokładnie zawiera response?   22.02.2012, 13:11:37
- - Jonek_1993   odpowiedź z pliku rejestracji. [PHP] pobierz, plai...   22.02.2012, 13:16:22
- - nospor   No to dlatego ci sie alert(response) wyswietla cia...   22.02.2012, 13:17:54
- - Jonek_1993   wiem, ale chodzi mi o to że jak klikne ok to on zn...   22.02.2012, 13:22:19
- - nospor   Jakie OK klikniesz?   22.02.2012, 13:34:45
- - Jonek_1993   o to okienko mi chodzi:   22.02.2012, 13:49:32
- - nospor   Ejjj... skąd znasz moje hasło!!! A j...   22.02.2012, 13:58:20
- - Jonek_1993   koledzy z anonymus mi pomogli ale ćśśś... dużo im...   22.02.2012, 14:06:38
- - nospor   Masz to gdzieś online? Bo tak na sucho to cięzko z...   22.02.2012, 14:20:04
- - Jonek_1993   Analizując mój kod stwierdziłem że jest on napisan...   22.02.2012, 18:11:14
- - nospor   CytatDemo jak byś chciał zobaczyć to jest pod adre...   22.02.2012, 19:07:20
- - Jonek_1993   Drogi nosporze specjalnie dla ciebie kazałem gości...   22.02.2012, 19:22:49
- - nospor   Wiesz jak mnie udobruchać..... to jeszcze garnczek...   22.02.2012, 20:15:18
- - Jonek_1993   Jak wejdziesz na stronę zobaczysz niespodziankę sp...   22.02.2012, 20:56:42
- - nospor   Haha, dobre   23.02.2012, 08:15:47
- - Jonek_1993   A czemu Explorer nie wykonuje tego kodu?   23.02.2012, 11:43:31
- - nospor   Jakiego kodu?   23.02.2012, 11:44:55
- - Jonek_1993   no w explorerze nie idzie się zarejestrować. Pokaz...   23.02.2012, 11:47:35
- - nospor   Pewnie dlatego, że znowu ktoś drze japę na Twojej ...   23.02.2012, 11:55:19
|- - Jonek_1993   Cytat(nospor @ 23.02.2012, 11:55:19 )...   23.02.2012, 12:09:44
- - nospor   CytatPS. Jestem nimTo była moja literówka. Czesto ...   23.02.2012, 12:12:48
- - Jonek_1993   Jak to mówią? szukajcie a znajdziecie, aczkolwiek ...   23.02.2012, 15:10:03


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 10:43