Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem ze skryptem logowania
Forum PHP.pl > Forum > Przedszkole
Gość
witam
mam problem ze skryptem .
Po zalogowaniu niechce mi pzekierowac na strone profilu uzytkownika tylko wyskakuje komunikat niema takiego usera prosze o pomoc.

skrypt index
  1. <?php
  2. // zmienna potrzebna do prawidlowego wczytania includowanych plikow
  3. $add_site = true;
  4. error_reporting(E_ALL ^ E_NOTICE);
  5. ?>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  9. <meta http-equiv="Reply-to" content="kess@snug.pl" />
  10. <meta name="Author" content="Krzysztof Szypulski" />
  11. <head>
  12. <title>Szablon strony WWW z wykorzystaniem PHP</title>
  13. <style type="text/css">
  14. <!--
  15.  
  16. body {
  17. font-family: Verdana, Arial;
  18. font-size: 12px;
  19. }
  20.  
  21. -->
  22. </style>
  23. </head>
  24. <body>
  25. <table border="0" cellpadding="0" cellspacing="0" width="100%">
  26. <tr>
  27. <td width="100%" colspan="3"><?php include "include/naglowek.php"; ?></td>
  28. </tr>
  29. <tr>
  30. <td width="15%" valign="top"><?php include "include/menu_lewe.php"; ?></td>
  31. <td width="70%" valign="top">
  32. <?php
  33. // zmienna $go przekazana metoda GET
  34. $go = $_GET['go'];
  35.  
  36. // sprawdzamy czy zmienna $go nie jest pusta
  37. if(!empty($go)) {
  38. // sprawdzamy czy plik o danej nazwie istnieje
  39. if(is_file("page/$go.php")) include "page/$go.php";
  40. // jezeli plik nie istnieje wyswietla się komunikat
  41. else echo "<br />Nie ma takiej strony :-(";
  42. }
  43. // jezeli zmienna $go jest pusta wyswietla się strona glowna
  44. else include "page/logowanie.php";
  45.  
  46. ?>
  47. </td>
  48. <td width="15%" valign="top"><?php include "include/menu_prawe.php"; ?></td>
  49. </tr>
  50. <tr>
  51. <td width="100%" colspan="3"><?php include "include/stopka.php"; ?></td>
  52. </tr>
  53. </table>
  54. </body>
  55. </html>


i logowanie

  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. require 'config.php';
  4. require_once 'user.class.php';
  5. $login = htmlspecialchars(mysql_real_escape_string($_POST['login']));
  6. $pass = mysql_real_escape_string($_POST['pass']);
  7.  
  8. if ($_POST['send'] == 1) {
  9. if (!$login or empty($login)) {
  10. die ('<center><font color="#FF0000"><p class="error">Wypełnij pole z loginem!</p></font><br><a href="#"><a href="login.php">Powrót</a></center>');
  11. }
  12.  
  13. if (!$pass or empty($pass)) {
  14. die ('<center><font color="#FF0000"><p class="error">Wypełnij pole z hasłem!</p></font><br><a href="#"><a href="login.php">Powrót</a></center>');
  15. }
  16.  
  17. $pass = user::passSalter($pass);
  18.  
  19.  
  20. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login = '$login' AND pass = '$pass'"));
  21.  
  22. if ($userExists[0] == 0) {
  23.  
  24. echo '<center><font color="#FF0000"><p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p></font></center>';
  25. }
  26.  
  27. else {
  28.  
  29. $user = user::getData($login, $pass);
  30. $_SESSION['login'] = $login;
  31. $_SESSION['pass'] = $pass;
  32. echo "zostałeś zalogowany";
  33. header("Location: index.php?go=profil=".$user['login']);
  34.  
  35. }
  36. }
  37.  
  38. else {
  39. }
  40.  
  41. ?>
IProSoft
Bo może takiego nie ma ?
Podaj co wpisujesz w pola input, co masz w bazie mysql + struktura.
Podaczas zapisuwania usera do bazy również użyłeś moetody: user::passSalter ?
Po if ($userExists[0] == 0) { daj
echo mysql_error();
Gość
ale tak to loguje i wszystko jest ok ale jak chce pzekierowac go na strone profile za pomocą

header("Location: index.php?go=profil?login=".$user['login']);
to pzeskakuje na daną strone ale wyswietla sie komunikat ze niema takiego usera tak jakby traciło sesje.
podaje skryp profil

  1. <?php
  2. if(!isset($_SESSION['login']))
  3. {
  4.  
  5. }
  6.  
  7. require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
  8. require_once 'user.class.php';
  9.  
  10. $login = $_GET['login'];
  11.  
  12. /**
  13.   * Sprawdź czy użytkownik o podanym ID istnieje
  14.   */
  15. $userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login = '$login'"));
  16.  
  17. // Użytkownik nie istnieje
  18. if ($userExist[0] == 0) {
  19. die ('<center><font color="#ff0000"><p>Przykro nam, ale uzytkownik o podanym identyfikatorze nie istnieje.</p></font></center>');
  20. }
  21.  
  22. /**
  23.   * Użytkownik istnieje, tak więc pokaż jego profil
  24.   */
  25.  
  26. // Zapisz dane użytkownika o podanym ID, do zmiennej $profile
  27. $profile = user::getDataById ($login);
  28. >?
piotrex41
Na pierwszy rzut oka to masz zły link:
Kod
header("Location: index.php?go=profil&login=".$user['login']);

Zauważ zmianę ? na & przy drugim parametrze.
Gość
no ok
ale nawet jak zrobie pzekierowanie z linku to tez mi niechce wejsc
index.php?go=profil

a moze mam cos nie tak w pzekierowani u podm wam cod moze cos pomuliłem

  1. <?php
  2.  
  3. $go = $_GET['go'];
  4.  
  5.  
  6. if(!empty($go)) {
  7.  
  8. if(is_file("page/$go.html")) include "page/$go.php";
  9.  
  10. else echo "<br />Nie ma takiej strony :-(";
  11. }
  12.  
  13. else include "page/start.html";
  14.  
  15. ?>

po nacisnieciu linku wyswietla sie niema tekirgo usera
a logowanie mam takie
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3.  
  4. require 'config.php';
  5.  
  6. require_once 'user.class.php';
  7. $login = htmlspecialchars(mysql_real_escape_string($_POST['login']));
  8. $pass = mysql_real_escape_string($_POST['pass']);
  9.  
  10. if ($_POST['send'] == 1) {
  11.  
  12. if (!$login or empty($login)) {
  13. die ('<center><font color="#FF0000"><p class="error">Wypełnij pole z loginem!</p></font><br><a href="#"><a href="login.php">Powrót</a></center>');
  14. }
  15.  
  16. if (!$pass or empty($pass)) {
  17. die ('<center><font color="#FF0000"><p class="error">Wypełnij pole z hasłem!</p></font><br><a href="#"><a href="login.php">Powrót</a></center>');
  18. }
  19.  
  20. $pass = user::passSalter($pass);
  21.  
  22.  
  23. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login = '$login' AND pass = '$pass'"));
  24.  
  25. if ($userExists[0] == 0) {
  26.  
  27. echo '<center><font color="#FF0000"><p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p></font></center>';
  28. }
  29.  
  30. else {
  31.  
  32. $user = user::getData($login, $pass);
  33.  
  34.  
  35. $_SESSION['login'] = $login;
  36. $_SESSION['pass'] = $pass;
  37.  
  38. echo' <a href="index.php?go=profil.php?id='.$user['login'].'">profil</a>';
  39. }
  40. }
  41.  
  42. ?>


POMOCY
-ewelina-
witam
potrzebuje pomocy
mam dodane rekordy do bazy danych
1 imie
2 imie
3 imie

i teraz chce to wyświetlic na stronie w takim samym układzie
imie
imie
imie

i mam taki kod
  1. $wynik = mysql_query("SELECT * FROM imie WHERE login='$login'")
  2. or die('Błąd zapytania');
  3.  
  4. if(mysql_num_rows($wynik) > 0) {
  5. while($r = mysql_fetch_object($wynik)) {
  6.  
  7. echo nl2br("$r->imie");
  8. }
  9. }


jak to zrobic niby echo nl2br tak powinno wyświetlac wyświetla ale jak wsadze wszysrko w jeden rekord a jak jest 3 rekordy to jak to zrobić
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.