Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Błąd php., Cannot redeclare error_s() (previously declared in
assasin
post 22.04.2010, 14:22:43
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Witam, wywala mi w skrypcie rejestracji taki błąd:
Fatal error: Cannot redeclare error_s() (previously declared in
W tym kodzie:
Cytat
function error_s($text) {
echo("<p style=\"color:yellow;font-family:verdana;\">".$text);
echo("<br /><br /><a style=\"color:orange;\" href=\"".$_SERVER["SCRIPT_NAME"]."\">Wróć...</a></p>");
}


Coś z funkcją error_s() ale co..
Go to the top of the page
+Quote Post
batman
post 22.04.2010, 14:59:11
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Tutaj
Cytat
previously declared in
pokazało Ci numer wiersza, w którym funkcja o takiej samej nazwie została zadeklarowana.
Jeśli przez pomyłkę dodałeś dwie funkcje o takiej samej nazwie, albo zastosuj przestrzenie nazw albo zmień nazwę jednej.
Istnieje też taka możliwość, że gdzieś w kodzie masz dwa razy dołączony ten sam plik przy pomocy include/require. Jeśli tak, to zmień to na inclide_once/require_once.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
assasin
post 22.04.2010, 18:22:12
Post #3





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Hmm, tylko na innym hostingu ta sama strona działa poprawnie...
Go to the top of the page
+Quote Post
nospor
post 23.04.2010, 10:18:50
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nazwa funkcji wskazuje, ze wywolujesz ją w przypadku bledu. Moze wiec na tym innym hostingu bledu nie ma, wiec i funkcja nie jest wywolywana/deklarowana wiec i nie dochodzi ci do bledu ktory tu pokazales smile.gif

Jak to mowi Kubuś Puchatek: "Mysl, mysl, mysl...." winksmiley.jpg

Podsumowując: jest tak jak mowi batman. Nie moze byc dwoch deklaracji funkcji o takiej samej nazwie, a u ciebie jest. Byc moze odbywa sie to u ciebie poprzez kilkukrotne include tego samego pliku z deklaracją funkcji


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
assasin
post 23.04.2010, 20:37:10
Post #5





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Tak wygląda kod:
  1. function error_s($text) {
  2. echo("<p style=\"color:yellow;font-family:verdana;\">".$text);
  3. echo("<br /><br /><a style=\"color:orange;\" href=\"".$_SERVER["SCRIPT_NAME"]."\">Wróć...</a></p>");
  4. }
  5.  
  6. $page = '
  7. <form method="post" action="' . $_SERVER["SCRIPT_NAME"] . '">
  8. <p style="text-align:center;">
  9. <strong>' . $title2 . ' - ' . $title . '</strong>
  10. <br /><br /><br />
  11. Login:
  12. <br /><input name="username" type="text" maxlength="14" /><br />
  13. Hasło:
  14. <br /><input name="password" type="password" maxlength="12" /><br />
  15. Email:
  16. <br /><input name="email" type="text" maxlength="50" />
  17. <br /><input name="tbc" type="checkbox" checked="checked" /> TBC<br /><br /><br />
  18. <button type="submit">Rejestruj</button>
  19. </p>
  20. </form>
  21. ';
  22.  
  23. $user_chars = "#[^a-zA-Z0-9_\-]#";
  24. $email_chars = "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";
  25.  
  26. $con = @mysql_connect($ip, $user, $pass);
  27. if (!$con) {
  28. error_s("Nie można połączyć się z bazą: ".mysql_error());
  29. }
  30.  
  31. if (! empty($_POST)) {
  32. // dodajemy zmienną, która mówi, czy formularz został prawidłowo wypełniony
  33. // na początku przyjmujemy, że tak
  34. $isValid = true;
  35. if (( empty($_POST["username"])) || ( empty($_POST["password"])) || ( empty($_POST["email"])) || ( empty($_POST["tbc"]))) {
  36. error_s("You did not enter all the required information.");
  37. // jeśli jednak któreś pole jest puste, to formularz nie został prawidłowo wypełniony
  38. $isValid = false;
  39. } else {
  40. $username = strtoupper($_POST["username"]);
  41. $password = strtoupper($_POST["password"]);
  42. $email = strtoupper($_POST["email"]);
  43. $blocked = "1";
  44. $active = "0";
  45. $t = md5(uniqid(time())); //generujemy 32-bitowy token
  46. if (strlen($username) < 5) {
  47. error_s("Login jest za krótki.");
  48. // formularz nie został dobrze wypełniony również wtedy, gdy nazwa użytkownika jest zbyt krótka
  49. $isValid = false;
  50. } elseif (strlen($username) > 14) {
  51. error_s("Login jest za długi.");
  52.  
  53. // lub zbyt długa
  54. $isValid = false;
  55.  
  56. }
  57.  
  58. if (strlen($password) < 5) {
  59. error_s("Hasło jest za krótkie.");
  60. $isValid = false;
  61.  
  62. } elseif (strlen($password) > 14) {
  63. error_s("Hasło jest za długie.");
  64. $isValid = false;
  65.  
  66. }
  67. if (strlen($email) < 5) {
  68. error_s("Email jest za krótki.");
  69. $isValid = false;
  70.  
  71. } elseif (strlen($email) > 50) {
  72. error_s("Email jest za długi.");
  73. $isValid = false;
  74. }
  75.  
  76. if (preg_match($user_chars, $username)) {
  77. error_s("Nazwa użytkownika zawiera niedozwolone znaki.");
  78. $isValid = false;
  79.  
  80. } elseif (preg_match($user_chars, $password)) {
  81. error_s("Hasło zawiera niedozwolone znaki.");
  82. $isValid = false;
  83.  
  84. }
  85. if (!preg_match($email_chars, $email)) {
  86. error_s("Email ma zły format..");
  87. $isValid = false;
  88.  
  89.  
  90. }
  91. if ($_POST['tbc'] != "on") {
  92. $tbc = "0";
  93. } else {
  94. $tbc = "1";
  95. }
  96. $username = mysql_real_escape_string($username);
  97. $password = mysql_real_escape_string($password);
  98. $email = mysql_real_escape_string($email);
  99. $qry = @mysql_query("select username from ".mysql_real_escape_string($r_db).".account where username = '".$username."'", $con);
  100. if (!$qry) {
  101. error_s("Error querying database: ".mysql_error());
  102. $isValid = false;
  103.  
  104.  
  105. } elseif ($existing_username = mysql_fetch_assoc($qry)) {
  106. foreach ($existing_username as $key=>$value) {
  107. $existing_username = $value;
  108. }
  109. }
  110. $existing_username = strtoupper($existing_username);
  111. if ($existing_username == strtoupper($_POST['username'])) {
  112. error_s("Ta nazwa użytkownika (login) jest już zajęta..");
  113. $isValid = false;
  114. }
  115. unset($qry);
  116. $qry = @mysql_query("select email from ".mysql_real_escape_string($r_db).".account where email = '".$email."'", $con);
  117. }
  118. if (!$qry) {
  119. error_s("Error querying database: ".mysql_error());
  120. $isValid = false;
  121. }
  122. if ($existing_email = mysql_fetch_assoc($qry)) {
  123. foreach ($existing_email as $key=>$value) {
  124. $existing_email = $value;
  125. }
  126.  
  127. }
  128. if ($existing_email == $_POST['email']) {
  129. error_s("Ten adres email jest już zajęty.");
  130. $isValid = false;
  131.  
  132. }
  133. if ($isValid) {
  134. $sha_pass_hash = sha1(strtoupper($username).":".strtoupper($password));
  135. $register_sql = "insert into ".mysql_real_escape_string($r_db).".account (username, sha_pass_hash, email, expansion, locked, token) values (upper('".$username."'),'".$sha_pass_hash."','".$email."','".$tbc."','".$blocked."','".$t."')";
  136. $qry = @mysql_query($register_sql, $con);
  137.  
  138. $nadawca = "From: The Ocolus <gall@compzone.org>rn"; //ustawiamy nadawcę listu
  139. $temat = "Aktywuj swoje konto !"; //ustawiamy temat listu
  140. mail($email, $temat, "Dziekujemy $username za zalozenie konta w naszym serwisie. Zeby aktywowac Twoje nowo utworzone konto kliknij w ponizszy link <a href="http://www.theocolus.pl/activate.php?t=$t&n=$username" target="_blank">http://www.theocolus.pl/activate.php?t=&#0...=$username</a> Wiadomosc ta zostala wyslana do Ciebie przez osobnika, ktory posiadal IP: $REMOTE_ADDR", $nadawca); //wysyłamy list na podany przez użytkownika adres e-mail znajdujący się w zmiennej $email
  141. $wynikmail = "Dziękujemy za założenie konta w naszym serwisie ! Na podany przed chwilą przez Ciebie adres e-mail została wysłana wiadomość, którą należy odebrać i aktywować swoje konto klikając w link aktywacyjny znajdujący się w wiadomości"; //jeżeli się to uda wyświetlamy stosowną informację
  142.  
  143.  
  144. if (!$qry) {
  145. error_s("Error creating account: ".mysql_error());
  146. $isValid = false;
  147. }
  148. echo("Konto zostało utworzone pomyślnie... <br /> <br /> $wynikmail <br /> <a href=\"".$_SERVER["SCRIPT_NAME"]."\">Wróć...</a></p>");
  149. } else {
  150. echo $page;
  151. }
  152.  
  153. } else {
  154. echo($page);
  155. }

Co zmienićbiggrin.gif?
Go to the top of the page
+Quote Post
batman
post 24.04.2010, 06:37:41
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Przeszukaj wszystkie pliki projektu pod kątem funcition error_s. Jeśli znajdziesz więcej niż jedno wystąpienie, to znalazłeś rozwiązanie problemu. Jeśli okaże się, że tylko raz takie coś występuje w projekcie, to sprawdź, czy podany plik nie jest dołączany kilka razy poprzez include lub require.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
assasin
post 24.04.2010, 08:38:40
Post #7





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 13.11.2008

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


Dziękuje za pomoc, plik register.php był w 2 folderach wystarczyło usunąć jeden i rejestracja odżyła..
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: 18.07.2025 - 05:48