Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PDO]Problem z zapytaniem
GandiFly
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.06.2013

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


Witam mam taki oto problem:
To jest kod pliku register.php
  1. <?php
  2. include 'config.php';
  3. if (isset($_POST['send'])) {
  4.  
  5. // Zabezpiecz dane z formularza przed kodem HTML
  6.  
  7. $email = htmlspecialchars($_POST['email']);
  8. $email_re = htmlspecialchars($_POST['email_re']);
  9. $pass = htmlspecialchars($_POST['pass']);
  10. $pass_re = htmlspecialchars($_POST['pass_re']);
  11.  
  12. // Sprawdź czy podany email istnieje już w bazie
  13.  
  14. $existEmail = $pdo->prepare("SELECT COUNT(*) FROM users WHERE email = :email LIMIT 1");
  15. $existEmail->execute(array(':email' => $email));
  16.  
  17. $error = ''; // Zmienna przechowywująca wszystkie błędy
  18.  
  19. // Sprawdzanie czy nie wystąpiły błędy
  20.  
  21. if (!$email || !$email_re || !$pass || !$pass_re ) $error .= 'Musisz wypełnić wszystkie pola formularza <br>';
  22. if ($existEmail[0] >= 1) $error .= '-Ten email jest już używany <br>';
  23. if ($email != $email_re) $error .= '- E-maile się nie zgadzają<br>';
  24. if ($pass != $pass_re) $error .= '- Hasła się nie zgadzają<br>';
  25.  
  26. // Jeżeli jakieś błędy wystąpiły to je wyświetl:
  27.  
  28. if ($error != '') {
  29. echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br>'.$errors.'</p>';
  30. }
  31.  
  32. // Jeżeli wszystko jest OK to kontynuuj rejestrację
  33.  
  34. else {
  35.  
  36. // Losuj kod aktywujący, koduj hasło
  37.  
  38. $pass = sha1($pass);
  39. $kod = uniqid(rand());
  40.  
  41. // Zapisz dane do bazy
  42.  
  43. $pdo -> prepare("INSERT INTO users (email, pass, adresip, data, kod) VALUES (:email, :pass, '{$_SERVER['REMOTE_ADDR']}', NOW(), '$kod' );");
  44. $pdo->execute(array(':email' => $email));
  45. $pdo->execute(array(':pass' => $pass));
  46.  
  47. $list = "Witaj '.$email.'! Kliknij w poniższy link, aby aktywować swoje konto. '.$moja_strona.'weryfikacja.php?weryfikacja=potwierdz&kod='.$kod.'";
  48.  
  49. mail ($email, "Rejestracja użytkownika", $list, "From: <kontakt@twoja-strona.pl>");
  50. echo '<p class="success">'.$email.', zostałeś zarejestrowany. Na adres email został wysłany mail z linkiem aktywującym. Jeżeli w ciągu 5 min go nie dostaniesz proszę sprawdzić też w spamie.</p>';
  51. }
  52. } else {
  53. ?>
  54.  
  55. <form method="post" action="">
  56.  
  57. <label for="email">Email:</label>
  58. <input type="text" name="email" maxlength="50" id="email" />
  59.  
  60. <label for="email_again">Email (ponownie):</label>
  61. <input type="text" maxlength="255" name="email_re" id="email_again" /><br />
  62.  
  63. <label for="pass">Hasło:</label>
  64. <input maxlength="32" type="password" name="pass" id="pass" />
  65.  
  66. <label for="pass_again">Hasło (ponownie):</label>
  67. <input maxlength="32" type="password" name="pass_re" id="pass_again" />
  68. <br />
  69. Akceptuje regulamin: <input type="checkbox" name="reg" id="reg" onClick="if(this.checked==true){ submit.disabled=false;}else{ submit.disabled=true;}" />
  70. <br />
  71. <input type="hidden" name="send" value="1" />
  72. <input type="submit" id="submit" value="Zarejestruj" disabled="true"/>
  73. </form>
  74. <?php
  75. }
  76. ?>


Podczas próby zarejestrowania wyskakuje mi taki błąd:
  1. Fatal error: Cannot use object of type PDOStatement as array in /home/u817225384/public_html/demo/skrypty/register.php on line 22


PDO dopiero się ucze tak więc prosił bym o pomoc. Z góry dziękuje

Ten post edytował GandiFly 30.06.2013, 16:20:24
Go to the top of the page
+Quote Post

Posty w temacie
- GandiFly   [MySQL][PDO]Problem z zapytaniem   30.06.2013, 16:19:29
- - skowron-line   Nie pobrałeś wartości po wykonaniu zapytania. W li...   30.06.2013, 16:23:23
- - sajegib   Przeczytaj komunikat ktory dostajesz od parsera, n...   30.06.2013, 16:24:21
- - GandiFly   Dzięki za odpowiedź już do tego doszedłem i rozwią...   30.06.2013, 16:28:19
- - c1chy   W komunikacie masz wszystko napisane, klasa PDO ni...   30.06.2013, 16:31:48
- - GandiFly   Niestety nie za bardzo rozumiem. Czyli zamiast te...   30.06.2013, 16:44:23
- - nospor   http://pl1.php.net/manual/en/pdostatement.bindvalu...   30.06.2013, 16:47:00
- - GandiFly   Wszystko jest niby ok wyświetla się odpowiedni kom...   30.06.2013, 17:41:26
- - nospor   Widocznie masz blad zapytania. Wyswietl go   30.06.2013, 17:54:29
- - GandiFly   Po wyświetleniu ukazuje się taki błąd: [PHP] pobie...   30.06.2013, 18:10:44
- - nospor   Masz wyswietlic blad PDO a nie obiekt PDO...   30.06.2013, 18:19:17
- - GandiFly   Gdy wyświetlam błąd PDO takim kodem: [PHP] pobierz...   30.06.2013, 21:19:07
- - ber32   Witam. nospor CytatWidocznie masz blad zapytania....   30.06.2013, 21:33:46
- - GandiFly   Niestety dalej nic do bazy się nie dodaje   30.06.2013, 21:39:22
- - ber32   no bo masz jeszcze tu błąd [PHP] pobierz, plainte...   30.06.2013, 21:40:32
- - GandiFly   Teraz takie coś: [PHP] pobierz, plaintext Warning...   30.06.2013, 21:43:04
- - c1chy   Napiszę to jeszcze raz, komunikat o błędzie mówi w...   30.06.2013, 21:48:05
- - ber32   Zadeklaruj [PHP] pobierz, plaintext email = :email...   30.06.2013, 21:48:12
- - GandiFly   Niestety i to nie pomaga. Teraz mam taki kod: [PH...   30.06.2013, 21:53:00
- - ber32   następny błąd [PHP] pobierz, plaintext if ($ex...   30.06.2013, 21:57:30
- - GandiFly   Mam teraz tak: [PHP] pobierz, plaintext if (!$...   30.06.2013, 22:05:04
- - ber32   I jeszcze tu [PHP] pobierz, plaintext $zapytanie =...   30.06.2013, 22:07:38
- - GandiFly   Hah poprawiłem wszystko. A to dalej nie działa.. [...   30.06.2013, 22:12:56
- - ber32   Jeszcze nie wszystko zmień to co pisałem   30.06.2013, 22:16:46
- - GandiFly   Wielkie dzięki za wszystko Po poprawieniu tego co...   30.06.2013, 22:28:12


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: 20.09.2025 - 02:34