Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][klasy][mysql] Problem z rejestracją nowych użytkowników :/
Smoker
post 2.02.2009, 15:24:36
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


Witam wszystkich programistów smile.gif Jestem początkujący w dziedzinach programowania i chciałbym się was poradzić. W ramach nauki robię sobie stronkę opartą na php i myql i trochę wstyd ale utknąłem już na początku smile.gif Zacząłem od pisania skryptu który zaloguje mnie na stronę i to ładnie działa jednak mam problem przy skrypcie realizującym rejestrację nowych użytkowników. Wszystkie dane są przekazywane za pomocą metody POST a skrypt zachowe się tak jakby nie otrzymywał do tej zmiennej żadnych danych i wykonuje polecenie if(!isSet($_POST['user']) || !isSet...etc) powodujące powrót do strony formularza rejestracyjnego zamiast rejestracji. Próbowałem już chyba wszystkiego i nie wiem o co mu chodzi i co mogłem tam żle napisać :/ Poniżej zamieszczam kody 2 plików: rejestracja.php(z formularzem rejestracyjnym) i nowy_user.php(z poleceniami rejestracyjnymi) Byłbym bardzo wdzięczny gdyby któremuś z was udałoby się znaleźć co tu może być źle.

rejestracja.php
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  
    <title>Race - rejestracja</title>
  
    <link rel="stylesheet" href="style.css" type="text/css">
      
  <script language="JavaScript" type="text/javascript">
  <!-- Linia ukrywająca kod przed przeglądarkami nie obsługującymi JavaScriptu
  function sprawdz(){
      var f = document.forms.rejestracja;
      
      if(f.user.length < 3){
          alert('Nick musi mieć minimum 3 znaki!');
          return;
      }
      if(f.user.length > 16){
          alert('Nick nie może być dłuższy niż 16 znaków!');
          return;
      }
      if(f.haslo.length < 4){
          alert('Hasło musi mieć minimum 4 znaki!');
          return;
      }
      if(f.haslo.length > 16){
          alert('Hasło nie może być dłuższe niż 16 znaków!');
          return;
      }
      if(f.haslo.value != f.haslo2.value){
          alert('Podane hasła nie są identyczne!');
          return;
      }
      if(f.user.value == "" || f.haslo.value == "" || f.haslo2.value == "" || f.email.value == ""){
          alert('Wypełnij wszystkie wymagane pola!');
          return;
      }
  f.submit();
  }
  // koniec kodu JavaScriptu
  </script>
  </head>
  <body>
  <center>
  Wpisz swoje dane.<br>
   Dane oznaczone gwiazdką(*) są wymagane.<br>
  <form name="rejestracja" action="nowy_user.php" method="post">
  <table>
      <tr><td>Nick*</td><td><input name="user" type="text"></td></tr>
      <tr><td>Hasło*</td><td><input name="haslo" type="password"></td></tr>
      <tr><td>Powtórz hasło*</td><td><input name="haslo2" type="password"></td></tr>
      <tr><td>Email*</td><td><input name="email" type="text"></td></tr>
      <tr><td>Imię</td><td><input name="imie" type="text"></td></tr>
      <tr><td>Miasto</td><td><input name="miasto" type="text"></td></tr>
      <tr><td>Gg</td><td><input name="gg" type="text"></td></tr>
      <tr><td colspan="2" align="right"><input type="button" value="Zarejestruj" name="zarejestruj" onClick="sprawdz();"></td></tr>
  </table>
  </form>
  </center>
  </body>
  </html>


nowy_user.php
Ten plik sie tu nie zmieścił bo jest za duży smile.gif ale można go zobaczyć tutaj: nowy_user.php

Z góry dzięki za odpowiedź

Ten post edytował Smoker 2.02.2009, 15:39:33


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
jareeny
post 2.02.2009, 15:34:18
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


z niecierpliwością czekamy na drugi plik


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
Smoker
post 2.02.2009, 15:35:38
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


Cytat(jareeny @ 2.02.2009, 15:34:18 ) *
z niecierpliwością czekamy na drugi plik

Już jest ^^ smile.gif


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
jareeny
post 2.02.2009, 15:50:36
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


  1. <?php
  2. if($user == "" || $haslo == "" || $email == ""){
  3.          return EMPTY_FIELDS;
  4.      }
  5. ?>


na

  1. <?php
  2. if(empty($user) || empty($haslo) || empty($email)) {
  3. return EMPTY_FIELDS;
  4. }
  5. ?>


Choć to nie jest błąd, który powoduje złe działanie skryptu.

A ogólnie to proponuje wywalić wszystkie małpy przed funkcjami i sprawdzić czy nie ma błędów z bazą...

BTW. Co Ty przypisujesz tym stałym? ;o

Ten post edytował jareeny 2.02.2009, 15:51:42


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
Smoker
post 2.02.2009, 16:01:10
Post #5





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


z małpami już próbowałem ale z połączeniem nie ma żadnych problemów a tamto zamieniłem i z funkcją empty nawet ładniej wygląda smile.gif


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
jareeny
post 2.02.2009, 16:13:43
Post #6





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


Przepuść wszystkie POSTY przez var_dump i sprawdź czy w ogóle dane idą do nich


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
Smoker
post 2.02.2009, 16:35:17
Post #7





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


przepuściłem i wszytsko w jaknajlepszym porządku smile.gif do każdej zmiennej $_POST przypisał odpowiednie dane

Kod
$_POST['user'] = string(4) "user"
$_POST['haslo'] = string(5) "haslo"
$_POST['email'] = string(5) "email"
$_POST['imie'] = string(4) "imie"
$_POST['miasto'] = string(6) "miasto"
$_POST['gg'] = string(2) "gg"


Ten post edytował Smoker 2.02.2009, 17:01:39


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post
jareeny
post 2.02.2009, 16:41:23
Post #8





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


  1. <?php
  2. $query = "INSERT INTO users SET user=$user, haslo=$haslo, email=$email, imie=$imie, miasto=$miasto, gg=$gg, dataRejestracji='CURDATE()' ";
  3. ?>


Każdą zmienną daj w "" (apostrofy/cudzysłowy)


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
Smoker
post 2.02.2009, 16:46:21
Post #9





Grupa: Zarejestrowani
Postów: 101
Pomógł: 5
Dołączył: 15.10.2008
Skąd: Wrocław

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


tez nic tongue.gif probowałem też usunąc poprostu kod odpowiadający za przekierowanie do strony rejestracji(chociaz powinien zadziałać tylko jeśli nie ma nic w zmiennych $_POST) bo zamiast rejestrować wraca na tą stronę:

Kod
else if(!isSet($_SESSION['user']) || !isSet($_SESSION['haslo']) || !isSet($_SESSION['email'])){
      include('rejestracja.php');
      }


ale dalej nic bo wykonuje skrypt na samym końcu wstawiający komunikat że jest błąd a powinien odczytać definicję OK która pozwala na dodanie nowych rekordów w bazie danych

HAHAHA jaki lol ze mnie sciana.gif sciana.gif sciana.gif dobra juz wiem co mam zle haha.gif i juz dziala teraz zauwazylem piszac ten post tongue.gif w kodzie wszedzie zamiast $_SESSION powinno byc $_POST :

Kod
else if(!isSet($_POST['user']) || !isSet($_POST['haslo']) || !isSet($_POST['email'])){
      include('rejestracja.php');
      }


Noi dziala haha.gif Ale dzieki JAREENY za chęć pomocy! I jakby nie patrzec to mi pomogles tongue.gif bo gdyby nie ty to temat by sie nie rozwinal i bym tego nie zauwazyl smile.gif Jeszcze raz dzieki ide pisac dalej tongue.gif

Ten post edytował Smoker 2.02.2009, 23:35:34


--------------------
http://streetonline.pl/?gback=1 - Kliknij i daj się podwieźć
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 20.09.2024 - 09:16