Loading:

Książka Zend Framework 3. Poradnik Programisty.

Jak zrobić rejestrację użytkowników w PHP MySQL JavaScript i Ajax
Kod pliku register.php odpowiedzialnego za łączność z serwerem

Dalsza część: 1 2 3 4 5
Napisz Artykuł

Listing



<?php
session_start();
function lacz_bd()
{  
  $db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');    
    if (! $db)
      return false;
   $db->autocommit(TRUE);
   return $db;
}



if(!empty($_GET['activ'])){
$login = addslashes($_GET['activ']);
$db = lacz_bd();
$zapytanie = "update uzytkownicy set act='1' where login='$login'";
$wynik = $db->query($zapytanie);
echo 'OK';
}




if($_SESSION['captcha']!=$_POST['token']){
echo '1';
exit();
}



$login = addslashes($_POST['login']);
$haslo = addslashes($_POST['haslo']);
$mail = addslashes($_POST['mail']);
$token = addslashes($_POST['token']);


if(!empty($login)&&!empty($haslo)&&!empty($mail)&&!empty($token)){
$db = lacz_bd();

$zapytanie = "select login from uzytkownicy WHERE login='$login'";
$wynik = $db->query($zapytanie);
$ile_znalezionych = $wynik->num_rows;
        if($ile_znalezionych>0){ echo '2';
        exit();
        }
$zapytanie = "insert uzytkownicy (id, login, haslo,mail,act) values ('', '$login', sha1('$haslo'), '$mail', '0')";
$wynik = $db->query($zapytanie);
if($wynik){
                $stopka = '<br /><br />-----------------------------------------------<br /><br />';
                $from = 'twoja@domena.net';
                $admin_mail = 'twoja@domena.net';
                $tomail = $mail;
                $topic = 'Aktywacja konta';
                $tresc = 'Dane do logowania w serwisie : <br /><br /> Login: '.$login.'<br /> Haslo: '.$haslo.'<br /><br /> Aby aktywowac konto kliknij: <a href="http://www.twojaDomena.pl/register.php?activ='.$login.'">Aktywacja kliknij</a>';
               
                mail($tomail,$topic,$tresc."\n\n\n".$stopka, "From: $admin_mail\r\n"
        ."Reply-To: $from\r\nMIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-2\r\n ");       

}else{ echo 'error';}
}       

?>




Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=1703

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
Baza SQL dla tej rejestracji:
  • Zobacz kod dodany do tego wpisu
    • CREATE TABLE `uzytkownicy` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `login` VARCHAR( 100 ) NOT NULL , `haslo` VARCHAR( 255 ) NOT NULL , `mail` VARCHAR( 150 ) NOT NULL , `act` INT NOT NULL ) ENGINE = MYISAM ;
autor: Igor | 45 | 2009-01-09 16:57:23


Jak przeprowadzić logowanie użytkownika jeśli korzystam z tego skryptu rejestracji?
autor: Krzysiu555 | 134 | 2009-03-18 21:31:32


http://funkcje.net/view/2/8/1733/index.html
autor: Igor | 135 | 2009-03-19 00:08:09


świetna sprawa ... mam takie pytanie, jak zrobić do tego skryptu i do tej bazy opcję przypomnienie hasła? można prosić o takie rozwiązanie? pozdrawiam
autor: shiba | 159 | 2009-04-13 19:04:19


Witam a u mnie coś nie chce działać dostaję informację że rejestracja zakończona ale nie dostaje na e-mail informacji ani w bazie nie pojawia się nowy rekord. W pliku register.php podałem usera, hasło i nazwę bazy oraz podałem własny e-mail w miejscu "twoja@domena.net" Nie wime czy to ważne ale zapytanie SQL nie chciało mi się wykonać dopiero po usunięciu ENGINE = MYISAM dodała się tabela . Z góry dziękuję za wskazówki i pomoc Pozdrawiam !
autor: Mariusz | 160 | 2009-04-15 15:10:54


1. Przypomnienie hasła napisze w wolnym czasie. 2. Oznacza ze nie powiodło się zapytanie, zrób tak po $zapytanie z insertem daj print_r($zapytanie); i zobacz co się wyświetli wstaw ten kod na sucho w sql i zobaczysz gdzie masz błąd.
autor: Igor | 161 | 2009-04-15 15:35:03


Już wszystko OK dzięki za szybką odpowiedź !
autor: Mariusz | 163 | 2009-04-15 15:42:42


Witam... ja mam ten sam problem co Mariusz tylko że ja jestem zielony w tych sprawach... zrobiłem te 5 plików, utworzyłem tabele w bazie danych, w pliku register.php podałem usera, hasło i nazwę bazy bo to wszystko jeszcze umiem zrobić... wchodzę w register.html wypełniam formularz wyskakuje wiadomość że rejestracja wykonana e-mail wysłany ale tak naprawdę e-mail nie przychodzi a w tabeli nie ma rekordu... co robię nie tak? co muszę zmienić?
autor: Gawron | 193 | 2009-05-22 14:38:11


to co napisałem wyżej zobacz zapytanie bo to ono sie nie wykonuje: print_r($zapytanie); weś ten wygenerowany kod wklej do phpmyadmin i zobacz czy sie wykona a jak nie podaj jakie błędy pokazuje.
autor: Igor | 194 | 2009-05-22 18:38:41


Przepraszam bardzo mój błąd :) ten kod jest w 100% poprawny to ja źle wpisałem usera w register.php przepraszam za kłopot. Jeszcze raz powtarzam że ten kod jest w 100% poprawny za co bardzo dziękuje :) Pozdrawiam!
autor: Gawron | 195 | 2009-05-22 19:53:26


Bardzo proszę autora, czy mógłby Pan zrobić że za każdym razem gdy kliknie się na zarejestruj to zmieniałby się token? bo tak to wpisze się token raz i za każdym razem jest poprawny chyba że odświeży się stronę.
autor: :) | 204 | 2009-05-24 16:45:35


Tak wtedy musisz dać w pliku php który wykonuje rejestracje odświeżyć sesje z tokenem, poprzez ponowne jego wylosowanie wtedy nie będzie możliwości kilkakrotnie wcisnąć przycisku rejestruj. Aczkolwiek kilkakrotne jego wciśnięcie nie powoduje problemów bo skrypt sprawdza czy ten login już jest i nie tworzy nowego konta.
autor: Igor | 205 | 2009-05-24 17:22:36


Błagam POMÓŻCIE! Jak nazwać ten wpis do bazy sql, bo nazwałem go register i nie działa. Formularz się wyświetla, ale maile nie przychodzą do użytkowników. Liczę na waszą pomoc.
autor: SteveMariano | 207 | 2009-05-25 13:49:13


Dobra już po problemie. Znalazłem tego sql pod nazwą użytkownicy, ale mam problem. Nie rozumiem Igor o co chodzi z tym wklejeniem print_r($zapytanie); do phpmyadmin. Gdzie dokładnie mam to wkleić, bo nie czaję. (korzystam z phpmyadmin na serwerze cba.pl). Proszę o dokładne wyjaśnienie gdzie to wkleić, aby działało poprawnie.
autor: SteveMariano | 211 | 2009-05-25 14:46:26


Nie print_r($zapytanie); dajesz w pliku php zaraz pod linijką wykonującą zapytanie ono wyświetli ci to co przesłano do sql kopiujesz to i wklejasz w phpmyadmin w zakładce SQL i patrzysz czy zapytanie generuje błąd na tej podstawie oceniasz czy bład jest w php czy zapytaniu do bazy. zobacz tez opis funkcji print_r() unas
autor: Igor | 212 | 2009-05-25 14:55:25


W pliku register.php tak? Tylko która to linijka, bo jestem ciemny w php.
autor: SteveMariano | 216 | 2009-05-25 15:22:27


ale wynik tego musisz przez firebug firefoxa zobaczyć bo to ajax, bedzie ta informacja zawarta w zakładce "odpowiedź"
autor: Igor | 217 | 2009-05-25 15:39:29


Dziękuję Igor już wszystko działa jak trzeba:). Mam ostatnie pytanko. Czy to działa tylko w firefoxie i czy jest możliwość, aby w Internet Explorerze też działało, bo w nim nie działa:(. Sorki, że Cię tak męczę.
autor: SteveMariano | 218 | 2009-05-25 15:58:14


Dlatego, że szablon swojej strony zrobiłem w internet explorerze i w firefoxie źle mi się wyświetla zresztą sam zobacz: http://marianoitaliano.cba.pl/mi/divy2.html luknij w firefoxie i internet explorerze.
autor: SteveMariano | 219 | 2009-05-25 16:06:18


1. Strona powinna działać po wszystkimi przeglądarkami. 2. Przy takiej nie kompatybilności z przeglądarkami nie wiem co może w jej przypadku powodować nie działanie w ie rejestracji. 3. Nie dałeś linku do formularza rejestracji
autor: Igor | 220 | 2009-05-25 16:47:12


witam ponownie, chcialem zapytac raz jeszcze o przypomnienie hasla do tego skryptu, jest szansa na jego zrobienie?
autor: shiba | 265 | 2009-06-13 23:38:39


PRZYPOMNIENIE HASŁA Oto treść pliku przypomnienie.php dzięki niemu można przypomnieć hasło które się zapomniało.
  • Zobacz kod dodany do tego wpisu
    • <form method="post">
      <input type="text" name="zapomnialem_hasla" value="podaj e-amil"  />
      <input type="submit" value="Przypomnij hasło"  />
      </form>


      <?php
      function lacz_bd()
      {  
        $db = new mysqli('localhost', 'uzytkownik', 'haslo', 'nazwa_bazy');    
          if (! $db)
            return false;
         $db->autocommit(TRUE);
         return $db;
      }
      if(!empty($_POST['zapomnialem_hasla'])){
      $mail = $_POST['zapomnialem_hasla'];
      $mail = addslashes($mail);
      $newpass = rand(10000, 99999);
      $db = lacz_bd();
      $zapytanie = "select login from uzytkownicy WHERE mail = '$mailchange'";
      $wynik = $db->query($zapytanie);
      $wiersz = $wynik->fetch_assoc();
      $login = $wiersz['login'];
      $zapytanie="update uzytkownicy set haslo=sha1('$newpass') where mail ='$mailchange'";
      $wynik = $db->query($zapytanie);
      if ($wynik){
      $from = 'twoj_mail@wp.pl';
      $admin_mail = 'twoj_mail@wp.pl';
      $tomail = $mail;
      $topic = 'Przypomnienie hasła';
      $tresc = 'Dane do logowania w serwisie zostaly zmienione na nastepujace: <br /><br /> Login: '.$login.'<br /> Haslo: '.$newpass.'<br /><br /> Zapraszamy do zalogowania';
      mail($tomail,$topic,$tresc."\n\n\n".$stopka, "From: $admin_mail\r\n"."Reply-To: $from\r\nMIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-2\r\n ");
      echo '<br /><b>Zmieniono hasło:</b> Na podany adres: '.$mail.' zostało przesłane nowe hasło wraz z Loginem. ';
      }else{
      echo '<br /><b>Błąd: Nie ma konta dla podanego adresu.</b>';
      }
      exit();
      ?>
autor: Igor | 270 | 2009-06-15 21:46:01


Nie mogę sobie poradzić, wyrzuca błąd: Fatal error Class 'mysqli' not found in C:\usr\krasnal\www\Nowe\aa\register.php on line 5 w linii 5 mamy: $db = new mysqli('localhost', 'aa', 'bb', 'cc'); zatem nie mogę się połączyć z bazą (mysqli), jednak korzystając z mysql_pconnect problemów z połączeniem nie ma. Jak zatem zamienić new mysqli na mysql_pconnect/mysql_select_db lub inaczej rozwiązać problem?
autor: oun | 289 | 2009-06-27 22:19:21


To oznacza ze nie masz zainstalowanego modułu mysqli w PHP przetestuj sobie to na serwerze z PHP5 a jak zamienić na mysql_connect masz tu: http://funkcje.net/view/4/28/2375/index.html
autor: Igor | 291 | 2009-06-27 22:21:45


Dziękuję Igor, już włączyłem tą funkcję w PHP i wszystko pięknie...a tyle czasu się z tym męczyłem. Mając podejrzenia że mysqli.dll u mnie brak sprawdziłem skrypt na yoyo.pl i albo coś w międzyczasie pomieszałem albo u nich też mysqli nie diała.
autor: oun | 292 | 2009-06-27 23:10:21


OUN, jak zrobiłeś, że wyrzuciło Ci błąd? Mi nic nie wyświetla... pomóż prosze..
autor: gosia463 | 295 | 2009-06-28 15:38:06


gosia463 instalujesz plugin do firefoxa o nazwie firebug i w jego oknie w odpowiedziach widać ten błąd. Igor a jak zmienić skrypt aby uniemożliwił rejestrację użytkownika z dublującym się adresem e-mail? Problem istotny przy przypomnieniu hasła gdy użytkowników z jednym adresem e-mail jest kilku.
autor: oun | 300 | 2009-06-29 01:50:20


Witam, Jak zrobić listę loginów których user nie może zarejestrować? Najlepiej jakby zablokowane loginy byly przechowywane w jakiejś tabeli w sql.
autor: waldek | 329 | 2009-07-11 18:12:54


Aby wprowadzić weryfikację adresu e-mail, tj sprawdzić czy dokonano na niego już rejestracji dodałem w pliku js: else if(text.responseText=='3'){ registerResult.innerHTML = 'Bł?d: Na podany adres e-mail dokonano już rejestracji'; } oraz w php:
  • Zobacz kod dodany do tego wpisu
    • $zapytanie = "select mail from tabela WHERE mail='$mail'";
      $wynik = $db->query($zapytanie);
      $ile_znalezionych2 = $wynik->num_rows;
              if($ile_znalezionych2>0){ echo '3';
              exit();
              }
autor: oun | 331 | 2009-07-12 12:40:26


Dzięki oun, zainstalowałam sobie, ale nie wiem co dalej. Co mam kliknąć, żeby była ta odpowiedź z błędem?
autor: gosia463 | 332 | 2009-07-12 13:23:55


Już się pokazał błąd. Wstawiłąm do SQL i nie wykonuje się. Igor, pomóż, proszę.
  • Zobacz kod dodany do tego wpisu
    • <br />
      <b>Warning</b>:  mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: (HY000/2003): Can't connect
       to MySQL server on 'mysql.ovh.org' (111) in <b>/home/s/p/y/spyroland/www/register.php</b> on line <b
      >
      5</b><br />
      <br />
      <b>Warning</b>:  mysqli::autocommit() [<a href='mysqli.autocommit'>mysqli.autocommit</a>]: Couldn't fetch
       mysqli in <b>/home/s/p/y/spyroland/www/register.php</b> on line <b>8</b><br />
      <br />
      <b>Warning</b>:  mysqli::query() [<a href='mysqli.query'>mysqli.query</a>]: Couldn't fetch mysqli in
       <b>/home/s/p/y/spyroland/www/register.php</b> on line <b>42</b><br />
      insert uzytkownicy (id, login, haslo,mail,act) values ('', 'Spyron', sha1('bianca1'), 'gosia463@gmail
      .com', '0')<br />
      <b>Warning</b>:  mysqli::query() [<a href='mysqli.query'>mysqli.query</a>]: Couldn't fetch mysqli in
       <b>/home/s/p/y/spyroland/www/register.php</b> on line <b>51</b><br />
      error
autor: gosia463 | 333 | 2009-07-12 14:30:18


Masz błąd połączenia z bazą : Can't connect to MySQL server on mysql.ovh.org czyli nie moge połączyć sie z sewrewerm mysql.ovh.org pewnie podajesz złe dane.
autor: Igor | 334 | 2009-07-12 19:13:17


Igor chciałbym w Twój skrypt rejestracji wstawić opcję wyboru płci i siedzę nad tym już drugi dzień i nic mi z tego nie wychodzi. Co powinienem dodać w plik js aby wybór (value) zgodny był z wskazaniem i prawidłowo zapisywał się w bazie bo póki co to bez względu na to co wskażę w bazie zapisuje jako mężczyzna (pan)? Nie mam pewności w czym tkwi błąd, nie mniej w bazie pojawia się wpis odnośnie płci, tyle że zawsze ten sam (pan) i myślę, że to wina błędnego wpisu w js. Proszę wskaż mój błąd...
  • Zobacz kod dodany do tego wpisu
    • w html:
      <INPUT type="radio" name="plec" value="pan" id="plec">Mężczyzna<br>
      <INPUT type="radio" name="plec" value="pani" id="plec">Kobieta<br>

      w js:
              var plec = document.getElementById("plec").value;


              if(plec==''){
                 registerResult.innerHTML = 'Bł?d: Nie podano <b>Płci</b>';
              }

                                                      "&plec="+plec+

      w php:
      $zapytanie = "insert anonse (id, login, haslo,mail,plec,aktywacja) values ('', '$login', '$haslo', '$mail','$plec', '0')";
autor: oun | 335 | 2009-07-12 19:52:57


Opisałem to tutaj: http://funkcje.net/view/2/11/2118/index.html
w tym przykładzie zmienna wartosc będzie zawierać płeć, przeanalizuj dobrze odwołania do formularza.
autor: Igor | 337 | 2009-07-13 14:57:34


Igor, miałeś rację, że podałam złe dane. Napisałam mysql.ovh.org a powinno być mysql.60free.ovh.org no i jest wszystko dobrze tylko ciągle E-mail z aktywacją konta nie dochodzi... ale w bazie danych pojawia się użytkownik, ktory się rejestrował. Co mam nie tak?
autor: gosia463 | 338 | 2009-07-13 15:30:26


Jeśli nie wysyła ci maila to znaczy że wystąpił błąd podczas dodawania użytkownika, albo e-mail podany podczas rejestracji przez użytkownika był zły, albo wylądował w spamie.
autor: Igor | 339 | 2009-07-13 17:35:01


Dzięki Igor za podpowiedź, jutro nad tym posiedzę. A u Gosi to ja myślę, że występuje inny problem, a mianowicie czy oby mysql.60free.ovh.org nie ma zablokowanej funkcji mail? Polecam sprawdzić na innym serwerze, choćby na yoyo.pl, który to zezwala na wysyłkę 3 czy 5 maili na godzinę.
autor: oun | 341 | 2009-07-13 23:44:04


Bawię się tym od kilku dni i nie mogę wstawić tokena. Wszystkie kody skopiowałem ale zamiast obrazka pokazuje mi się tylko napis token. Co zrobić?
autor: kormateusz | 344 | 2009-07-14 13:38:47


kormateusz ja też tak miałam. Usunęłam po prostu // KOD PLIKU token.php z pliku z tokenem i token działa.
autor: gosia463 | 345 | 2009-07-14 16:48:56


No i problem w tym że dalej nie działa. Próbowałem już różnych kombinacji i nic.
autor: kormateusz | 346 | 2009-07-14 18:48:56


Problem jest chyba całkiem inny bo w ogóle żadnych tokenów mi nie pokazuje. Sprawdziłem kilka innych kodów i dalej jest to samo, zamiast obrazka pokazuje napis "token" albo w ogóle nic nie widać jakby w tym miejscu nic nie miało być.
autor: kormateusz | 347 | 2009-07-15 11:19:08


ja ma tak samo jak kormateusz i tez prubowalem na wszystkie sposoby i nadl taksamo :/
autor: razor | 349 | 2009-07-15 16:01:03


nie ma szans jeśli plik token.php wgrasz i odpalisz bezpośrednio
np. www.mojedomena.pl/token.php i nic nie widzisz to albo nie masz obsługi php, albo nie ma biblioteki GD (wbudowana w php) na serwie
autor: Igor | 351 | 2009-07-15 19:06:20


Da się dodać opcje która zablokuje tworzenie wielu kont na ten sam e-mail ?
autor: PanQ | 357 | 2009-07-16 11:54:32


Tak to robisz tak samo jak sprawdza czy login już istnieje, po prostu przerabiasz na e-mail.
autor: Igor | 361 | 2009-07-16 14:42:25


możesz dokładniej wytłumaczyć bo nie znam sie na php, który kod jest odpowiedzialny za sprawdzanie loginu
autor: PanQ | 363 | 2009-07-16 19:33:12


Witam, nie wiem o co chodzi. Nie zmieniłem nawet danych do logowania do bazy typu localhost itd. Nawet jak dopisuje linijkę print_r($zapytanie); to nie działa. W ogóle nie widać zeby połączyło się z bazą. Nawet nie wyskakuje błąd ze dane do bazy są złe. Podaje linka do strony. http://www.kruchy.pl/logowanie/register.html proszę o pomoc
autor: krystek | 373 | 2009-07-22 12:17:44


Masz złe dane do połączenia z bazą.
autor: Igor | 375 | 2009-07-22 13:16:41


Witam ponownie, Już wiem gdzie miałem błąd ale teraz wyswietla mi się taki błąd w piliku przypomnienie.php ... Parse error: syntax error, unexpected $end in /home/goldapio/domains/kruchy.pl/public_html/logowanie/przypomnienie.php on line 40 nic nie zmieniałem. Skopiowałem tylko kod podany przez Igora i nie działa. Proszę o pomoc
autor: krystek | 378 | 2009-07-22 17:26:27


a kopiujesz osobno html i php? bo php nie ma 40 lini
autor: Igor | 380 | 2009-07-22 21:26:05


Tak, dokładnie. W pliku przypomnienie mam ten podany poniżej natomiast zrobiłem plik przyp1.php w którym wpisałem formularz z akcją do pliku przypomnienie.php Tutaj można zobaczyć błąd www.kruchy.pl/logowanie/przyp1.php
  • Zobacz kod dodany do tego wpisu
    • <?php
      function lacz_bd()
      {  
        $db = new mysqli('localhost', 'xxx', 'xxx', 'xxx');    
          if (! $db)
            return false;
         $db->autocommit(TRUE);
         return $db;
      }
      if(!empty($_POST['zapomnialem_hasla'])){
      $mail = $_POST['zapomnialem_hasla'];
      $mail = addslashes($mail);
      $newpass = rand(10000, 99999);
      $db = lacz_bd();
      $zapytanie = "select login from uzytkownicy WHERE mail = '$mailchange'";
      $wynik = $db->query($zapytanie);
      $wiersz = $wynik->fetch_assoc();
      $login = $wiersz['login'];
      $zapytanie="update uzytkownicy set haslo=sha1('$newpass') where mail ='$mailchange'";
      $wynik = $db->query($zapytanie);
      if ($wynik){
      $from = 'twoj_mail@wp.pl';
      $admin_mail = 'twoj_mail@wp.pl';
      $tomail = $mail;
      $topic = 'Przypomnienie hasła';
      $tresc = 'Dane do logowania w serwisie zostaly zmienione na nastepujace: <br /><br /> Login: '.$login.'<br /> Haslo: '.$newpass.'<br /><br /> Zapraszamy do zalogowania';
      mail($tomail,$topic,$tresc."nnn".$stopka, "From: $admin_mailrn"."Reply-To: $fromrnMIME-Version: 1.0rn"."Content-type: text/html; charset=iso-8859-2rn ");
      echo '<br /><b>Zmieniono hasło:</b> Na podany adres: '.$mail.' zostało przesłane nowe hasło wraz z Loginem. ';
      }else{
      echo '<br /><b>Błąd: Nie ma konta dla podanego adresu.</b>';
      }
      exit();
      ?>
autor: krystek | 381 | 2009-07-23 09:57:15


Zabrakło jednego }
  • Zobacz kod dodany do tego wpisu
    • <?php
      function lacz_bd()
      {  
              $db = new mysqli('localhost', 'xxx', 'xxx', 'xxx');    
                if (! $db)
                  return false;
               $db->autocommit(TRUE);
               return $db;
      }
      if(!empty($_POST['zapomnialem_hasla'])){
               
            $mail = $_POST['zapomnialem_hasla'];
            $mail = addslashes($mail);
            $newpass = rand(10000, 99999);
            $db = lacz_bd();
            $zapytanie = "select login from uzytkownicy WHERE mail = '$mailchange'";
            $wynik = $db->query($zapytanie);
            $wiersz = $wynik->fetch_assoc();
            $login = $wiersz['login'];
            $zapytanie="update uzytkownicy set haslo=sha1('$newpass') where mail ='$mailchange'";
            $wynik = $db->query($zapytanie);
              if ($wynik){
                     
      $from = 'twoj_mail@wp.pl';
      $admin_mail = 'twoj_mail@wp.pl';
      $tomail = $mail;
      $topic = 'Przypomnienie hasła';
      $tresc = 'Dane do logowania w serwisie zostaly zmienione na nastepujace: <br /><br /> Login: '.$login.'<br /> Haslo: '. $newpass.'<br /><br /> Zapraszamy do zalogowania';
      mail($tomail,$topic,$tresc."nnn".$stopka, "From: $admin_mailrn"."Reply-To: $fromrnMIME-Version: 1.0rn"."Content-type:   text/html; charset=iso-8859-2rn ");
      echo '<br /><b>Zmieniono has?o:</b> Na podany adres: '.$mail.' zostało przesłane nowe hasło wraz z Loginem. ';
      }else{
      echo '<br /><b>Błąd: Nie ma konta dla podanego adresu.</b>';
                             
      }
      }
      ?>
       
autor: Igor | 383 | 2009-07-23 12:34:42


Coś dziwnie działa ten skrypt. Powyższe błędy zostały rozwiązane, ale... :) Kilka nowych błędów/niedopracowań: 1. Gdy podaje dowolne maile w formularzu, wiadomość z nowym hasłem dochodzi nawet pod adres którego nie ma w bazie. Jak wpiszesz Swój mail Igor to też dostaniesz wiadomość z mojej stronki o podobno zmienionym haśle (ciekawe) 2. Nawet jeśli mam danego użytkownika o przykładowym mailu kowalski@o2.pl to i tak skrypt nie aktualizuje rekordu w bazie. 3. Treść wiadomości jaką otrzymuje na maila to: (podane w kodzie), natomiast nadawca wiadomości to taki zapis: "Reply-To: -Version: 1.0rnContent-type: text/html ; charset=iso-8859-2rn ". Takie mam kolejne pytania do Ciebie Igor. Rozwiążesz mi te 3 punkty? Ciekawy jest ten skrypt, chciałbym aby działał na 100% :)
autor: krystek | 385 | 2009-07-23 13:59:27


Ten skrypt to nie gotowe rozwiązanie a przykład aby działał profesjonalnie trzeba przejrzeć troche funkcje.net to znaczy poczytać i włożyć w to troche pracy, gotowe instalacje przyjmujemy jako zlecenia.
autor: Igor | 386 | 2009-07-23 19:00:39


A ja mam w dalszym ciągu problem z tym skryptem. Męczę się z nim już od 5 dni. Ale po kolei. Serwer Krasnala w wersji 2.7. Apache i MySQL chodzą. Utworzyłem sobie nową bazę danych o nazwie "baza" a wszystkie pliki wrzuciłem na serwer tak jak jest to napisane w instrukcji. Dodatkowo w pliku register.js zmieniłem ścieżkę do pliku "register.php" na "../register.php". W pliku register.php ustawiłem serwer localhost, usera root, hasło krasnal, a nazawa bazy - baza. Odpalam sobie z poziomu przeglądarki localhost/nowe/register.html rejestruję się, otrzymuję komunikat, że wszystko ok. Mail nie przychodzi, ani nie tworzy się żadna tabela. Utworzyłem więc tabelę ręcznie z instrukcji poniżej. Tabela jest ale żaden użytkownik się nie dodaje. Dodając kodzik print_r($zapytanie) nic nie pokazuje. Jakaś pomoc? Bo już mi ręce opadają.
autor: benny | 394 | 2009-08-01 10:58:07


Jeśli kod: print_r($zapytanie) nic ci nie wyświetla to znaczy, że żadne zapytanie nie zostaje wykonane w bazie MySQL, sprawdź gdzie gubisz treść zapytania, być może masz literówkę w ścieżkach..
autor: Divix | 395 | 2009-08-01 14:28:12


Witam, 1. Jak zrobić aby podczas rejestracji dodalo kiedy zostal zarejestrowany user? 2. Na podstawie wyboru płci - nie dawanie wyboru podczas rejestracji tylko danie domyslnie np. "nie wiadomo". [Pozniej zrobilbym edycje po zalogowaniu]
autor: wojtek | 396 | 2009-08-03 14:36:23


Nie wiem gdzie mam problem. Wyskakuje, że zarejstriwane a mimo to nie mam maila ani w bazie.. Spradziłem tym prin_r i wyszłocoś takiego (#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$zapytanie = "insert uzytkownicy (id, login, haslo,mail,act) values ('', '$login' at line 1)
autor: Rutuki | 409 | 2009-08-13 14:01:58


Igor bądź proszę łaskaw i wyjaśnij po co poniższy warunek i jakie jego zadanie?
autor: oun | 414 | 2009-08-17 00:31:17


To masz do wyświetlenia info ze token jest zły
autor: Igor | 415 | 2009-08-17 01:34:25


Witam. Dopiero zaczynam swoja przygode z tworzeniem stron więc proszę o wyrozumiałość;) Mam kilka pytań. W pierwszym komentarzu podales baze sql, czy trzeba to gdzieś umieścić , a jak tak to gdzie? Kolejne pytanie dotyczy tresci register.php. Na koncu znajdują sie dwukrotnie e-maile 'twoja@domena.net'. Czy należy tutaj podać mój mail, a jeśli tak to gdzie mam podać hasło do niego bo w jaki sposób miałby z niego skorzystać. Pozdrawiam i czekam na odpowiedź
autor: pawel | 422 | 2009-08-19 18:38:57


Będę szczery zanim zabierzesz się za ten kod kup sobie książkę o php i wróć do tematu za 2-3 miesiące bo tu nie mam ci jak pomóc.
autor: Igor | 423 | 2009-08-19 22:25:19


Witam W polu formularza rejestracyjnego register.html po wpisaniu wszystkich danych i potwierdzeniu przyciskiem zarejestruj, nie przeładowuje strony i wyświetla komunikat: Błąd na stronie. Wiersz: 29, Znak 18, Błąd: brak definicji 'Ajax' W czym jest błąd?
autor: Filip | 457 | 2009-08-30 03:37:50


pewnie prototype nie zaciągnołeś
autor: igor | 459 | 2009-08-30 11:39:53


Dzięki Igor za radę. Prototype przesłałem na FTP z niezmienioną nazwą, czyli prototype-1.6.0.3.js, a powinno być prototype.php Problem rozwiązany. Rejestracja użytkownika działa prawidłowo. Mam teraz problem z logowaniem! - wywala taki błąd:
  • Zobacz kod dodany do tego wpisu
    • Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/gpz629/public_html/praca/kredyty/rejestr/logowanie/logowanie.php:6) in /home/gpz629/public_html/praca/kredyty/rejestr/logowanie/logowanie.php on line 15
autor: Filip | 461 | 2009-08-30 12:41:58


Może pomoże wstawienie tego na skrajnych granicach dokumentu, jeszcze przed session_start();. Po roku chyba nikt tego nie widzi, ale nowy gość...
autor: Darchiv | 6359 | 2010-09-28 21:59:43


.....
autor: matusek19 | 12403 | 2011-04-24 23:42:38


Jestem nowy i troche nie wiem o co chodzi ;D ale se poradze
autor: mlodyjntr | 12572 | 2011-09-06 15:09:47


    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors