Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak zdefiniowac zmienne
endriut
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.05.2007

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


taki oto skrypt :

  1. <?php
  2.  $location_ = "localhost";
  3.  $username_ = "xxx";
  4.  $password_ = "xxx";
  5.  $database_ = "xxx";
  6.  //------//--------//-------//--------//----------//-----------
  7.  $polaczenie = mysql_connect("$location_","$username_","$password_");
  8.  if (!$polaczenie){die ("<br>Nie można było się polaczyc z baza danych!<br>");}
  9.  else{mysql_select_db($database_,$polaczenie) or die ("Nie dalo rady otworzyc bazy :(");}
  10.  //------//-------//--------//--------//------------//-----------
  11.  
  12.  
  13. if ($_GET['potw'] != "" && $_GET['l'] != "" ) {//tu jest aktywacja konta:
  14. //---->>>KROK 3<<<--------
  15. //tu dla potwierdzenia rejestracji:
  16.  $zapytanie = "SELECT * FROM eit4_users WHERE username = '".$_GET['l']."'";
  17.  $wynik = mysql_query ($zapytanie) or die ("Zapytanie zakończone niepowodzeniem :(<br>");
  18.  
  19.  if ($user = mysql_fetch_array($wynik, MYSQL_ASSOC)) {//gdy user podany w url istnieje:
  20.  
  21. if ($user['status'] == "Nieaktywny"){//i gdy nie zostal aktywowany:
  22.  
  23.  if (encrypt($user['password']) == $_GET['potw']) {//i gdy haslo sie zgadaza:
  24.  
  25. $insert = "UPDATE eit4_users SET status = 'Użytkownik' WHERE username = '".$_GET['l']."'";//to go uaktywniamy
  26.  
  27. if (!mysql_query($insert)) {
  28.  
  29.  msgbox("Błąd", "Nieoczekiwany błąd. aktywować konta<br>.", " ", "", "");
  30.  
  31. } else {
  32.  msgbox("OK", "Konto zostało aktywowane :)", " ", "", "");
  33. }
  34.  
  35.  } else {//tu gdy jest user ale haslo sie nei zgadza
  36.  
  37. msgbox("Błąd", "Coś poszło nie tak, nieprawidłowe dane aktywacyjne.", " ", "", "");
  38.  }
  39.  
  40. } else {//tu gdy aktywuje aktywne konto (np 2gi raz kliknol w link):
  41.  msgbox("Błąd", "Konto użytkownika było już aktywowane.", " ", "", "");
  42. }
  43.  
  44.  } else {//gdy user w URLu nie istnieje:
  45. msgbox("Błąd", "Coś poszło nie tak, użytkownik o nazwie ".$_GET['l']." nie został zaerjestrowany.", " ", "", "");
  46.  }
  47.  
  48.  
  49.  
  50. } else {//gdy poprostu otwarcie strony to pokazujemy formularz:
  51.  if ($_POST['rejestruj'] != "rejestruj"){
  52.  //---->>>KROK 1<<<--------
  53. include 'formularz_rejestracji.inc';
  54.  
  55.  }else {//tu rejestracja, tzn wywolanie strony za pomoca formularza:
  56.  //---->>>KROK 2<<<--------
  57.  //i sprawdzanie czy poprawnie wypelnil pola:
  58. if ($_POST['login'] == "") {
  59. //spr czy podal login:
  60.  msgbox("Błąd", "Nie podałeś loginu.", "powrot", "", "");
  61. } else if ($_POST['email'] == "" || strpos($_POST['email'], "@") === false ) {
  62. //spr czy podal majl i czy majl zawiera malpke:
  63.  msgbox("Błąd", "Nie podałeś (lub podałeś błędny) adresu e-mail.", "powrot", "", "");
  64. } else if ($_POST['haslo1'] == "") {
  65. //spr czy podal haslo:
  66.  msgbox("Błąd", "Hasło nie może być puste.", "powrot", "", "");
  67. } else if ($_POST['haslo1'] != $_POST['haslo2']) {
  68. //spr czy hasla podane sa takie same:
  69.  msgbox("Błąd", "Błędnie powtórzyłeś hasło.", "powrot", "", "");
  70. } else {
  71. //gdy ok to przetwarzamy dane:
  72.  $login = htmlspecialchars($_POST['login']);//usuwamy html
  73.  $email = htmlspecialchars($_POST['email']);//z jego danych
  74.  $haslo = $_POST['haslo1'];//nie wiem czy z emajla trzeba bylo
  75.  $komunikator = htmlspecialchars($_POST['komunikator']);//ale na wszelki wypadek;)
  76.  
  77.  //teraz najpierw spr czy czasem juz nie bylo takiego majla w bazie:
  78.  $zapytanie = "SELECT * FROM eit4_users WHERE email = '$email'";
  79.  $wynik = mysql_query ($zapytanie) or die ("<br />Zapytanie zakończone niepowodzeniem<br>(1)");
  80.  while ($line = mysql_fetch_array($wynik, MYSQL_ASSOC)){
  81. $wyniki_email[] = $line;
  82.  }
  83.  mysql_free_result($wynik);
  84.  
  85.  //spr czy czasem juz nie bylo takiego usera:
  86.  $zapytanie = "SELECT * FROM eit4_users WHERE username = '$login'";
  87.  $wynik = mysql_query ($zapytanie) or die ("<br />Zapytanie zakończone niepowodzeniem<br>(1)");
  88.  while ($line = mysql_fetch_array($wynik, MYSQL_ASSOC)){
  89. $wyniki_login[] = $line;
  90.  }
  91.  mysql_free_result($wynik);
  92.  
  93.  //spr czy czasem juz nie bylo takiego komunikatora:
  94.  $zapytanie = "SELECT * FROM eit4_users WHERE komunikator = '$komunikator'";
  95.  $wynik = mysql_query ($zapytanie) or die ("<br />Zapytanie zakończone niepowodzeniem<br>(1)");
  96.  while ($line = mysql_fetch_array($wynik, MYSQL_ASSOC)){
  97. $wyniki_komunikator[] = $line;
  98.  }
  99.  mysql_free_result($wynik);
  100.  
  101.  //tam tylko bylo pobieranie danych z bazy, teraz sprawdzamy i reagujemy:
  102.  if (count($wyniki_login)>0) {
  103. msgbox("Błąd", "Niestety użtykownik o podanej nazwie już jest zarejestrowany, musisz podać inną nazwę.", "powrot", "", "");
  104.  } else if (count($wyniki_email)>0) {
  105. msgbox("Błąd", "Niestety jest już użytkownik o podanym adresie e-mail.", "powrot", "", "");
  106.  } else if (count($wyniki_komunikator)>0) {
  107. msgbox("Błąd", "Niestety jest już zarejestrowany użytkownik używający takiego id/numeru komunikatora jak podany przez Ciebie.", "powrot", "", "");
  108.  } else {
  109. //gdy wszystko ok dodajemy usera do bazy:
  110. $insert = "INSERT INTO eit4_users (username, password, status, email, komunikator, data_zalozenia) VALUES ('$login', '".encrypt($haslo)."', 'Nieaktywny', '$email', '$komunikator', '".time()."')";
  111. if (!mysql_query($insert)) {
  112.  msgbox("Błąd", "Niestety wystąpił nieznany błąd, nie powiodło się dodanie użytkownika do bazy.<br>".mysql_error(), "powrot", "", "");
  113.  exit();
  114. }
  115.  
  116. //i wysylamy mu majla:
  117. $tresc = "REJESTRACJA NA WWW.EIT4.ABC.PLnn";
  118. $tresc .= "To jest email aktywujący twoje konto na stronie <a href="http://www.eit4.abc.pln";" target="_blank">http://www.eit4.abc.pln";</a>
  119. $tresc .= "Jeżeli nie dokonywałeś takiej rejestracji to znaczy, że możesz spokojnie go usunąć.nn";
  120. $tresc .= "Twoje dane:n";
  121. $tresc .= "--------------------n";
  122. $tresc .= "login: $login n";
  123. $tresc .= "hasło: $haslo n";
  124. $tresc .= "--------------------nn";
  125. $tresc .= "Aby aktywowac twoje konto kliknij w ten link: <a href="http://www.pogodanet.pl".$_SERVER" target="_blank">http://www.pogodanet.pl".$_SERVER</a>['PHP_SELF']."?dzial=rejestracja&l=$login&potw=".encrypt(encrypt($haslo))." ";
  126. $tresc .= "nnnNie aktywowanie konta spowoduje jego usunięcie w ciągu kilku dni.";
  127. if (mail($email, "Aktywacja konta na www.eit4.abc.pl", $tresc)) {
  128.  msgbox("OK", "Pierwsza część rejestracji zakończona.<br>Teraz sprawdź pocztę i kliknij w link w mejlu aktywacyjnym by dokończyć rejestrację.", " ", "", "");
  129. } else {
  130.  msgbox("Błąd", "Niestety wystąpiły problemy z wysłaniem e-maila aktywacyjnego.<br>Spróbuj ponowić aktywację później lub napisz o tym incydencie na adres gruszek@polsl.gliwice.pl.", "powrot", "", "");
  131. }
  132.  }
  133. }
  134.  }
  135. }
  136.  
  137.  
  138. function encrypt($string) {
  139.  $crypted = crypt(md5($string), md5($string));
  140.  return $crypted;
  141. }
  142. function msgbox($tytul, $tresc, $przyciski, $user, $haslo)
  143. {
  144.  echo "<div style="text-align: center; width: 100%; margin: 0 auto"><br /><br />";
  145.  echo "<table style="margin: auto auto auto auto; width: 370px; border-color:#A3BC3D; border-style: solid; border-width: 1px;" cellspacing="0"><tr><td style="background-color: #A3BC3D; color: #FFFFFF; "><strong>$tytul</strong></td></tr><tr>";
  146.  echo "<td style="border-style: none; text-align:center; padding-left:8px; padding-right:8px;">";
  147.  echo "<br/><br /><strong>$tresc</strong><br /><br />";
  148.  if ($przyciski == "powrot")
  149.  {
  150. echo "<INPUT type="submit" value="Popraw" onClick="java script:history.back();" onKeyPress="java script:history.back();">";
  151.  }
  152.  else if ($przyciski == "ok")
  153.  {
  154. echo "<form ACTION="".$_SERVER['PHP_SELF']."?dzial=linki" method="post" style="display: inline;">";
  155. echo "<input type="hidden" name="user" value="$user" />";
  156. echo "<input type="hidden" name="haslo" value="$haslo" />";
  157. echo "<INPUT type="submit" value="OK" style="width:70px"></form>";
  158.  }
  159.  else
  160.  {
  161. echo ($przyciski);
  162.  }
  163.  echo "<br /> </td>";
  164.  echo "</tr></table></div>";
  165. }
  166. ?>



nie dziala :/ blad w 13 lini :
if ($_GET['potw'] != "" && $_GET['l'] != "" )




jak zdefiniwac zmienna GET




i jaka bazę do tego ? musze sie tego nauczyc a na jakims przykladzie najlepiej.... nie chcem gotowcow tylko wskazowki..... dzieki za pomoc
Go to the top of the page
+Quote Post

Posty w temacie
- endriut   jak zdefiniowac zmienne   16.05.2007, 10:42:19
- - Tibod   Napisz może komunikat tego błędu...   16.05.2007, 10:55:14
- - krowal   Zmienna $_GET to tablica danych przesyłanych ...   16.05.2007, 11:36:51
- - MiFlo   na pewno warning ? a nie NOTICE ?   16.05.2007, 16:08:15
- - krowal   Może i Notice   17.05.2007, 07:20:35


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 Aktualny czas: 19.08.2025 - 13:14