Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Zmiana serwera i problemy z tym zwiazane
Forum PHP.pl > Forum > Przedszkole
Suule
Witam, zmienilem Krasnala na Wampserver... niestety Krasnal mial stare oprogramowanie na najnowszy Wamp jak sama nazwa wskazuje - nowe.
Po zmianie w dzialajacym wczesniej skrypcie, pojawilo sie wiele bledow, z niektorymi poradzilem sobie jakos... ale mam problem z zapytaniami do bazy:

  1. <?php
  2. $zapytanie = "SELECT nick, mail FROM uzytkownicy WHERE nick='".$uz."' AND mail='".$mail."'";
  3. $sprawdz=mysql_query($zapytanie) or die ('11');
  4. $wynik=mysql_num_rows($sprawdz);
  5. if ($wynik == 0)
  6. ?>

Caly skrypt nie wyswietla bledow, ale werfyfikacja wprowadzonych danych nie dziala. Na gorze widac jak wyglada zapytanie, ktora sprawdza czy istnieje taki uzytkownik i mail w bazie...
Ale nawet jezeli istnieje to i tak dodaje do bazy. Podobnie ma sie sprawa ze sprawdzaniem czy pola sa puste czy nie.

Caly skrypt wyglada tak -
  1. <?php
  2. include ('mysql.php');
  3. if (isset($_POST['co'])) {
  4. if ($_POST['co'] == 'wyslij')
  5. {
  6.  if (isset($_POST['uzytkownik']) && isset($_POST['haslo']) && isset($_POST['haslo_powtorzone'])    &&  isset($_POST['mail']) && isset($_POST['plec']) ) {
  7.   $uz=addslashes(htmlspecialchars($_POST['uzytkownik']));
  8.   $has=addslashes(htmlspecialchars($_POST['haslo']));
  9.   $has_p=addslashes(htmlspecialchars($_POST['haslo_powtorzone']));
  10.   $mail=addslashes(htmlspecialchars($_POST['mail']));
  11.   $plec=addslashes(htmlspecialchars($_POST['plec']));
  12.    if (isset($uz) && isset($has) && isset($has_p) && isset($mail) && isset($plec))
  13.    {
  14.     $zapytanie = "SELECT nick, mail FROM uzytkownicy WHERE nick='".$uz."' AND mail='".$mail."'";
  15.     $sprawdz=mysql_query($zapytanie) or die ('11');
  16.     $wynik=mysql_num_rows($sprawdz);
  17.      if ($wynik == 0)
  18.     {
  19.        if ($has == $has_p)
  20.        {
  21.          $dodanie="INSERT INTO uzytkownicy(nick, haslo, mail, plec, rejestracja) VALUES ('".$uz."','".$has."','".$mail."','".$plec."',now())";
  22.          $hm=mysql_query($dodanie) or die ('33');
  23.         } else echo "Hasla roznia sie. Sprobuj jeszcze raz";
  24.      } else echo "Wprowadzonu uzytkownik lub adres e-mail juz istnieje";
  25.   } else echo 'Wprowadz wszyskie dane';
  26. }
  27. }
  28. }
  29. echo '<h3> Rejestracja </h3>';
  30. echo '<form method="post">';
  31. echo '<table>';
  32. echo '<input type="hidden" name="co" value="wyslij">';
  33. echo '<tr><td>Podaj nazwe uzytkownika: </td><td><input type="text" name="uzytkownik"></td></tr>';
  34. echo '<tr><td>Podaj haslo: </td><td><input type="password" name="haslo"></td></tr>';
  35. echo '<tr><td>Powtorz haslo: </td><td><input type="password" name="haslo_powtorzone"></td></tr>';
  36. echo '<tr><td>Adres e-mail: </td><td><input type="text" name="mail"></td></tr>';
  37. echo '<tr><td>Wybierz plec: </td><td><input type="radio" name="plec" value="Kobieta" />Kobieta <input type="radio" name="plec" value="Mezczyzna" />Mezczyzna</td></tr>';
  38. echo '<tr><td><input type="submit" value="zarejestruj"> </td></tr> </table></form>';
  39. ?>
Eagle
Może zamień ' = ' w zapytani na LIKE (dla danych tekstowych)
  1. <?php
  2. $zapytanie = "SELECT nick, mail FROM uzytkownicy WHERE nick LIKE '".$uz."' AND mail LIKE '".$mail."'";
  3. ?>
Suule
Mhm, zmienilem na
  1. <?php
  2. $zapytanie = &#092;"SELECT nick, mail FROM uzytkownicy WHERE nick LIKE '\".$uz.\"' OR mail LIKE '\".$mail.\"'\"
  3. ?>

Poniewaz powinno byc OR - moj blad... ale mimo wszystko blad wyskakuje mi tylko i wylacznie gdy wpisze nick i mail ktore istnieja juz dla innego uzytkownika, ale nie dziala zapytanie gdy wpisze tylko nick powtarzajacy sie a mial nowy, lub na odwrot.
Eagle
Co do formularza to musisz najpierw sprawdzać czy parametry są ustawione.
O ile się nie mylę to addslashes zwraca pusty string, ale zmienna jest ustawiona.

Zapytanie wygląda na dobre. Przetestuj je w phpmyadminiei zobacz co on zwraca.
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.