Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] problem z logowaniem i bazą danych
Forum PHP.pl > Forum > Przedszkole
mtskilla
  1. <?php
  2. include "conn.inc.php";
  3. ?>
  4.  
  5.  
  6.  
  7. <?php print '<'.'?xml version="1.0" encoding="iso-8859-2"?'.'>'; ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  9. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10.  
  11. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  12. <head>
  13. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  14. <title>php</title>
  15. <link href="style.css" type="text/css" rel="stylesheet" />
  16. </head>
  17. <body>
  18.  
  19.  
  20. <?php
  21.  
  22. if (isset($_POST['submit']) && $_POST['submit'] == "Zarejestruj") {
  23. if ($_POST['username'] != "" &&
  24. $_POST['password'] != "" &&
  25. $_POST['first_name'] != "" &&
  26. $_POST['last_name'] != "" ) {
  27.  
  28.  
  29. $query = "SELECT username FROM user_info".
  30. "WHERE username = '" . $_POST['username'] . "';";
  31.  
  32. $result = mysql_query($query)
  33. or die (mysql_error());
  34.  
  35. if (mysql_num_rows($result) != 0) {
  36.  
  37. ?>
  38.  
  39. Nazwa uzytkownika
  40. <?php echo $_POST['username']; ?> jest już używana. Proszę wybrac inna!
  41.  
  42. <form acrion="index.php" method="post">
  43. Nazwa kierownika: <input type="text" name="username" /><br />
  44. Haslo: <input type="password" name="password" value="<?php echo $_POST['password']; ?>" /><br />
  45. Imię: <input type="text" name="first_name" value="<?php echo $_POST['first_name']; ?>" /><br />  
  46. Nazwisko: <input type="text" name="last_name" value="<?php echo $_POST['last_name']; ?>" /><br /> 
  47. <input type="submit" name="submit" value="Zarejestruj" />  
  48. <input type="reset" value="Wyczysc" />
  49. </form>
  50.  
  51. <?php
  52. } else {
  53. $query= "INSERT INTO user_info (username, password, first_name, last_name)".
  54. "VALUES (
  55. '".$_POST['username']."', 
  56. (PASSWORD('".$_POST['password']."')),
  57. '".$_POST['first_name']."',
  58. '".$_POST['last_name']."')";
  59.  
  60.  
  61. $result = mysql_query($query)
  62. or die (mysql_error());
  63.  $_SESSION['user_logged'] = $_POST['username'];
  64.  $_SESSION['user_password'] = $_POST['password'];
  65. ?>
  66.  
  67.  <?php echo $_POST['first_name']."".$_POST['last_name']; ?> Zostal pomyslnie dodany jako kierownik.
  68.  
  69. <?php 
  70. header("Refresh: 5; URL=index.php");
  71. echo "Kierownik dodany." . " Za moment nastąpi przeniesienie na stronę glowną.<br />";
  72. die();
  73. }
  74. }else {
  75. ?>
  76.  
  77.  
  78. Należy wypelnic wszystkie pola!
  79.  
  80. <form acrion="admin.php" method="post">
  81. Nazwa kierownika: <input type="text" name="user" value="<?php echo $_POST['username']; ?>" /> <br />
  82. Haslo: <input type="password" name="password" value="<?php echo $_POST['password']; ?>" /> <br />
  83. Imię: <input type="text" name="first_name" value="<?php echo $_POST['first_name']; ?>" />  <br />  
  84. Nazwisko: <input type="text" name="last_name" value="<?php echo $_POST['last_name']; ?>" /> <br /> 
  85. <input type="submit" name="submit" value="Zarejestruj" />  
  86. <input type="reset" value="Wyczysc" />
  87. </form>
  88.  
  89. <?php
  90. }
  91. } else {
  92. ?>
  93.  
  94. Należy podac login, hasla, imienia oraz nazwiska kierownika.
  95.  
  96.  
  97. <form acrion="admin.php" method="post">
  98. Nazwa kierownika: <input type="text" name="username" /><br />
  99. Haslo: <input type="password" name="password" /><br />
  100. Imię: <input type="text" name="first_name" /><br />  
  101. Nazwisko: <input type="text" name="last_name" /><br /> 
  102. <input type="submit" name="submit" value="Zarejestruj" />  
  103. <input type="reset" value="Wyczysc" />
  104. </form>
  105.  
  106. <?php
  107. }
  108. ?>
  109.  
  110. </body>
  111. </html>

Problem polega na tym, ze zamiast dzialac wywala mi błąd Something is wrong in your syntax obok '= 'asdasd'' w linii 1. w bazie mam tabele user_info. HELP
Cienki1980
Użyj BBCODE jak wklejasz kod.

Co do błędu coś chyba jest nie tak w zapytaniu:
  1. <?php
  2. $query = "SELECT username FROM user_info".
  3. "WHERE username = '" . $_POST['username'] . "';";
  4. ?>

Ja bym napisał to zapytanie tak:
  1. <?php
  2. $query = "SELECT username FROM user_info WHERE username = '" . $_POST['username'] . "'";
  3. ?>
mtskilla
Dzieki wielkie. Jestes wielki thumbsupsmileyanim.gif

mam jeszcze jeden problem. mianowicie nie wiem jak pobrac dane z bazy do ktorej dodoalem rekord uzytkownika skryptem wyzej podanym.

  1. <?php echo $_SESSION['user_loged']; ?>
tak nie działa ... angrysmiley.gif
Cienki1980
A w tym pliku gdzie robisz echo masz na początku session_start() questionmark.gif
mtskilla
Mam
Cienki1980
To pokaż może cały ten plik, a nie tylko fragment gdzie wyświetlasz dane z $_SESSION[]
mtskilla
  1. <?php
  2. ?>
  3.  
  4.  
  5. <?php print '<'.'?xml version="1.0" encoding="iso-8859-2"?'.'>'; ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  7. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  9. <head>
  10. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  11. <title>php</title>
  12. <link href="style.css" type="text/css" rel="stylesheet" />
  13. </head>
  14. <body>
  15.  
  16.  
  17. <table style="border: solid white 1px; background-color: black" align="center" width="800" height="700">
  18. <thead>
  19. <tr>
  20. <td colspan="2"  align="center" height="100" width="800">
  21.  
  22. <h2> LOGO </h2>
  23.  
  24. </td>
  25. </tr>
  26. </thead>
  27. <tbody>
  28. <tr>
  29. <td colspan="2" align="center" height="20" width="800">
  30. <font class="log">
  31.  
  32.  
  33. <span class="logsz"> Strona główna</span> • Repertuar • Ceny biletów •
  34. <a href="log.php" targer="_parents">Panel administracyjny</a>
  35.  
  36.  
  37. </font>
  38.  
  39. </td>
  40. </tr>
  41.  
  42.  
  43. <tr>
  44. <td height="560" width="650">
  45. Witaj
  46.  
  47. <?php echo $_SESSION['user_logged']; ?> 
  48.  
  49.  
  50. </td>
  51. <td valign="top" height="550" width="150">
  52.  
  53. <br />
  54. <?php include "kal.php";?>
  55.  
  56.  
  57. </tbody>
  58. </table>
  59.  
  60.  
  61. </td>
  62. </tr>
  63.  
  64. <tr>
  65. <td colspan="2" height="20" width="800">
  66.  
  67. <span class="log">
  68. 2007
  69. </span>
  70.  
  71. </td>
  72. </tr>
  73.  
  74. <tbody>
  75. </table>
  76.  
  77. </body>
  78. </html>
Cienki1980
Na Twoim miejscu upewniłbym się, czy dane zapisują sie do $_SESSION. Czyli w tym pierwszym kodzie ktory jest na samym początku posta spróbował wyświetlić dane zapisywane zaraz po zapisie.
revyag
@mtskilla popraw tytuł tematu i użyj bbcode w pierwszym poście !
Temat: Tematyka i zasady panujace na forum Przedszkole
mtskilla
Zapisuje sie po pomyslnym dodaniu osoby do bazy danych wyskakuje:

  1. ......
  2. $result = mysql_query($query)
  3. or die (mysql_error());
  4.  $_SESSION['user_logged'] = $_POST['username'];
  5.  $_SESSION['user_password'] = $_POST['password'];
  6. ?>
  7.  
  8. <?php echo $_POST['first_name']."".$_POST['last_name']; ?> Zostal pomyslnie dodany jako kierownik.
  9.  
  10. <?php 
  11. header("Refresh: 5; URL=index.php");
  12. echo "Kierownik dodany." . " Za moment nastąpi przeniesienie na stronę glowną.<br />";
  13.  
  14. .....
Cienki1980
No z kodu wiem kiedy się powinno zapisać... ale pytanie jest czy się zapisuje.

Po prostu wklej w kod po lini 5 ( w tym kodzie ^^ ) takie coś:
  1. <?php
  2. echo "<font color=red>".$_SESSION['user_logged']."<br>";
  3. echo $_SESSION['user_password']."</font>";
  4. ?>


jeżeli nie pojawi Ci się wypisane czerwonym tekstem user i hasło tego usera, znaczy że dane wogóle nie są zapisywane do sesji.
mtskilla
Wyświetla sie nazwa i haslo. Ale dzieki temu nareszcie widze w czym tkwi problem tak naprawde. nie chodzi o plik rejestracji - tak jak myslalem, ale o strone z logowaniem .. tam cos mam namieszane z ta sesją..
strona logowania:

  1. <?php
  2. include "conn.inc.php";  
  3. ?>
  4.  
  5. <?php
  6.  
  7. if (isset($_POST['submit'])) {
  8. $query = "SELECT username, password FROM user_info WHERE username = '".$_POST['username']."' AND password = (PASSWORD('".$_POST['password']."'))";
  9. $result = mysql_query($query)
  10. or die(mysql_error());
  11.  
  12. if (mysql_num_rows($result) == 1) {
  13. $_SESSION['user_logged'] = $_POST['password'];
  14. header ("Refresh:0; URL=".$_POST['redirect']. "");
  15. echo "Zostajesz przekierowany na oryginalną strone, której żądales!<br>";
  16. } else {
  17.  ?>
  18.  
  19.  
  20.  
  21.  
  22. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  23. <body>
  24.  
  25.  
  26.  
  27. Niepoprawny login lub haslo!<br />
  28. <form action="log.php" method="post">
  29. <input type="hidden" name="redirect" value="<?php echo $_POST['redirect'];?>">
  30. Login: <input type="text" name="username"><br />
  31. Haslo: <input type="password" name="password"><br /><br />
  32. <input type="submit" name="submit" value="Zaloguj">
  33. </form>
  34.  
  35.  
  36. </body>
  37. </html>
  38.  
  39.  
  40.  
  41. <?php
  42. }
  43. } else {
  44. if (isset($_GET['redirect'])){
  45. $redirect = $_GET['redirect'];
  46. } else {
  47. $redirect = "kierownik.php";
  48.  
  49. }
  50. ?>
  51.  
  52.  
  53. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  54. <body>
  55.  
  56.  
  57. Zaloguj się. Podając login i haslo.
  58. <form action="log.php" method="post">
  59. <input type="hidden" name="redirect" value="<?php echo $redirect;?>">
  60. Login: <input type="text" name="username"><br />
  61. Haslo: <input type="password" name="password"><br /><br />
  62. <input type="submit" name="submit" value="Zaloguj">
  63. </form>
  64.  
  65.  
  66. <?php
  67. }
  68. ?>
  69.  
  70.  
  71. </body>
  72. </html>


Nie wiem czy taka skladnia jest odpowiednia..
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.