Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapisywanie wartości do bazy.
Forum PHP.pl > Forum > Przedszkole
Hemik
Witam, mam problem z moim formularzem, który nie chce zapisywać moich danych do bazy. Jakieś pomysły gdzie popełniam błąd questionmark.gif

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  5. <link rel="stylesheet" type="text/css" href="style.css" />
  6. </head>
  7.  
  8. <body>
  9.  
  10. <?php
  11.  
  12.  
  13. require_once 'user.php';
  14.  
  15.  
  16. if ( (isset($_POST["send"])) && ($_POST["send"] == 1)) {
  17.  
  18. if ( isset($_Post["login"]) ){
  19. $login = mysql_real_escape_string(htmlspecialchars($_POST["login"]));
  20. } else {
  21. $login='';
  22. }
  23. if ( isset($_Post["pass"]) ){
  24. $login = mysql_real_escape_string(htmlspecialchars($_POST["pass"]));
  25. } else {
  26. $pass='';
  27. }
  28. if ( isset($_Post["pass_v"]) ){
  29. $login = mysql_real_escape_string(htmlspecialchars($_POST["pass_v"]));
  30. } else {
  31. $pass_v='';
  32. }
  33. if ( isset($_Post["email"]) ){
  34. $login = mysql_real_escape_string(htmlspecialchars($_POST["email"]));
  35. } else {
  36. $email='';
  37. }
  38. if ( isset($_Post["emai_v"]) ){
  39. $login = mysql_real_escape_string(htmlspecialchars($_POST["email_v"]));
  40. } else {
  41. $email_v='';
  42. }
  43.  
  44.  
  45. $existsLogin = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM login WHERE login='$login' LIMIT 1"));
  46. $existsEmail = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM Email WHERE email='$email' LIMIT 1"));
  47.  
  48. $errors = '';
  49.  
  50.  
  51.  
  52. if (!$login || !$email || !$pass || !$pass_v || !$email_v ) $errors .= '- Musisz wypełnić wszystkie pola<br />';
  53. if ($existsLogin[0] >= 1) $errors .= '- Ten login jest zajęty<br />';
  54. if ($existsEmail[0] >= 1) $errors .= '- Ten e-mail jest już używany<br />';
  55. if ($email != $email_v) $errors .= '- E-maile się nie zgadzają<br />';
  56. if ($pass != $pass_v) $errors .= '- Hasła się nie zgadzają<br />';
  57.  
  58. if ($errors != '') {
  59. echo '<p class="error">Rejestracja nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p>';
  60. }
  61.  
  62. else {
  63.  
  64.  
  65. $pass = user::passSalter($pass);
  66.  
  67.  
  68.  
  69. try {
  70. $pdow = new PDO('mysql:host=localhost;dbname=log_cdr', 'root', 'slawek132');
  71. $pdow->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  72. $sqlw = "INSERT INTO login (login, pass, pass_v, email, email_v)
  73. VALUES ('['login']','['pass']','['pass_v']','['email']','['email_v']')";
  74. if ($pdow->query($sqlw)) {
  75. echo "<script type= 'text/javascript'>alert('Dane użytkownika zapisane poprawnie.');</script>";
  76. }
  77. else{
  78. echo "<script type= 'text/javascript'>alert('Niepoprawne zapisanie danych użytkownika!');</script>";
  79. }
  80.  
  81. $pdow = null;
  82. }
  83. catch(PDOException $w)
  84. {
  85. echo $w->getMessage();
  86. }
  87.  
  88. //mysql_query("INSERT INTO log_cdr (login, email, email_v, pass, pass_v) VALUES('$login','$email','$pass');") or die ('<p class="error">Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.</p>');
  89.  
  90. echo '<p class="success">'.$login.', zostałeś zarejestrowany.
  91. <br /><a href="login.php">Logowanie</a></p>';
  92. }
  93. }
  94. ?>
  95.  
  96. <form method="post" action="">
  97.  
  98. <label for="login">Wprowadź nazwę użytkownika</label>
  99. <input maxlength="32" type="text" name="pass_v" placeholder="Wprowadź nazwę użytkownika"/>
  100.  
  101. <label for="pass">Wprowadź hasło</label>
  102. <input maxlength="32" type="password" name="pass_v" placeholder="Wprowadź hasło"/>
  103.  
  104. <label for="pass_again">Wprowadź ponownie hasło</label>
  105. <input maxlength="32" type="password" name="pass_v" placeholder="Wprowadź ponownie hasło"/>
  106.  
  107. <label for="email">Wprowadź E-mail</label>
  108. <input type="text" name="email" maxlength="50" id="email" placeholder="Wprowadź Email"/>
  109.  
  110. <label for="email_again">Potwierdź Email</label>
  111. <input type="text" maxlength="255" name="email_v" id="email_again" placeholder="Wprowadź ponownie Email"/><br />
  112.  
  113.  
  114. <input type="hidden" name="send" value="1" />
  115. <input type="submit" value="Zarejestruj" />
  116. <input type="submit" value="Zmień hasło" />
  117. <a href="logout.php"><input type="button" value="Wyloguj" name="Wyloguj"/ ></a>
  118. </form>
  119.  
  120. <?php
  121. require 'footer.php';
  122. ?>
  123.  
  124. </body>
  125. </head>
  126.  
  127.  

KsaR
Błąd? Wszedzie...

Najlepiej skup się i przepisz kod od nowa ze skupieniem tyle tu błędów i to na pierwszy rzut oka...
Np. $_Post zamiast $_POST
mix. mysql_* i pdo.....
A poza tym przy "filtracji" uzyles htmlspecialchars.. A to powinno sie tylko do wyswietlania.
Bo to do filtracji wyjscia nie wejscia.

Dalej mi się nie chcę patrzeć, sugerując się tym wyżej pewnie zaczynasz z php więc lepiej jakbys to od nowa przepisał.

  1. INSERT INTO login (login, pass, pass_v, email, email_v)
  2. VALUES ('['login']','['pass']','['pass_v']','['email']','['email_v']')

A to values masz bledne bo odrazu wykonujesz ->query(); bez zamiany tych wartosci na cos, poczytaj o bindowaniu parametrow.

...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.