Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje
Forum PHP.pl > Forum > PHP
patryxV17
Witam. Tworze www w php i mam taki problem . zrobiłem plik maincore.php i w nim są funkcje ktore wywołuje na indexie . I w jednej funkcji rejestracji mam Funkcje W Funkcji (patrz ostatnie linijki kodu ,else ShowForm) I nie moge wywołac tej funkcji bo pisze Fatal error: Call to undefined function: showform() in c:\usr\krasnal\www\lso_fusion\maincore.php on line 49

CODE

function rejestracja()
{
echo "$komunikat<br>";
echo "<form action=rejestracja.php method=post>";
echo "Login: <input type=text name=login><br>";
echo "Hasło: <input type=text name=haslo><br>";
echo "<input type=hidden value='1' name=send>";
echo "<input type=submit value='Zarejestruj mnie'>";
echo "</form>";
if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ //oraz czy uzupełniono wszystkie dane
if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
else{
mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."')"); // zapisywanie rekordu do bazy
echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować.";
}
}
else ShowForm("Nie uzupełniono wszystkich pól!!!");
}
else ShowForm();

}

nexis
Czy w skrócie nie chodzi o coś takiego?

  1. <?php
  2.  
  3. function rejestracja() {
  4.  if (!isset($_POST['submit'])) {
  5.  ?>
  6.  <form action="rejestracja.php" method="post">
  7. <dl>
  8.  <dt>Login:</dt>
  9.  <dd><input type="text" name="login"></dd>
  10.  <dt>Hasło:</dt>
  11.  <dd><input type="password" name="haslo"></dd>
  12.  <dd><input type="submit" name="submit" value="Zarejestruj mnie" /></dd>
  13. </dl>
  14.  </form>
  15.  <?php
  16.  } else {
  17. // Sprawdzenie pól
  18. if(!empty($_POST['login']) || !empty($_POST['haslo'])) {
  19.  exit('Nie uzupełniono wszystkich pól!');
  20. }
  21. // Sprawdzenie nazwy użytkownika
  22. $query = sprintf
  23.  (
  24. "SELECT COUNT(*) FROM `users` WHERE `user_login`='%s'",
  25. mysql_real_escape_string($_POST['login'])
  26.  );
  27. $result = mysql_query($query);
  28. $count = mysql_fetch_row($result);
  29. if (< $count[0]) {
  30.  exit('Użytkownik o podanym loginie już istnieje!');
  31. }
  32. // Rejestracja
  33. $query = sprintf
  34.  (
  35. "INSERT INTO `users` VALUES ('', '%s', '%s')",
  36. mysql_real_escape_string($_POST['login']),
  37. sha1($_POST['haslo'])
  38.  );
  39. if (!mysql_query($query)) {
  40.  exit('Wystąpił błąd podczas rejestracji: ' . mysql_error());
  41. }
  42. echo 'Rejestracja przebiegła pomyślnie. Możesz teraz przejść do
  43.  <a href="index.php">strony głównej</a> i się zalogować.';
  44.  }
  45. }
  46.  
  47. ?>


Moje uwagi:

1. W HTML przy atrybutach używaj " zamiast '
2. Poznaj różnice między &&, a ||
3. Filtruj prawidłowo dane (mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual)
4. Maskuj (<input type="password" />) i koduj (sha1" title="Zobacz w manualu PHP" target="_manual) hasła
patryxV17
Ciagle po wypelnieniu formularza pisze :Nie uzupełniono wszystkich pól!
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.