Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny problem z piekła rodem...
Forum PHP.pl > Forum > Przedszkole
Gość_jospi
Mam problem z moim skryptem. Jest to e-sklep, a problem polega na ty, że kiedy kilka razy z rzędu loguję się i wylogowuję (czasem wystarczy raz) pojawia się biały ekran i kiedy odnawiam obraz, wszystko wraca do normy. index.hml
  1. <?
  2. php ob_start();
  3. ?>
  4. <html>
  5. <head>
  6. <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\">
  7. <title>e-sklep</title>
  8. </head>
  9. <body topmargin=\"0\" leftmargin=\"0\">
  10. <table width=\"100%\">
  11. <tr>
  12. <td width=\"50%\"height =\"40\" align=\"left\" bgcolor=\"#C0C0C0\"><a href=\"http://www.xxx.com\">logo</a>
  13. <?php
  14. session_name ('sid');
  15. if(isset($_COOKIE['imie_c'])) {
  16. echo &#092;"Witaj, {$_COOKIE['imie']} {$_COOKIE['nazwisko']}\";
  17. }
  18. elseif($uid) {
  19. print &#092;"Witaj, $imie $nazwisko\";
  20. }
  21. ?>
  22. </td>
  23. <td width=\"30%%\"height =\"40\" align=\"left\" valign=\"top\" bgcolor=\"#C0C0C0\"><a href=\"rejestracja.php\"><b>Zarejestruj się</b></a>, 
  24. <?php
  25. if($uid || isset($_COOKIE['imie_c'])) {
  26. print (\"<td width=\"20%\" align=\"right\" valign=\"top\" bgcolor=\"#C0C0C0\"><a href=\"logout.php\">Wyloguj</a>
  27. </tr>\");
  28. } else {
  29. print (&#092;"<td width=\"20%\" align=\"right\" valign=\"top\" bgcolor=\"#C0C0C0\"><a href=\"logowanie.php\">Zaloguj się</a>
  30. </tr>&#092;");
  31. }
  32. ?>

Natomiast plik logowania wygląda nastękująco:
  1. <?
  2. ?>
  3. <html>
  4. <head>
  5. <title>Logowanie</title>
  6. </head>
  7. <body>
  8. <?php
  9. if (isset($_POST['submit'])) {
  10. require_once ('laczenie.php');
  11. function escape_data ($data) {
  12. global $dbc;
  13. if (ini_get('magic_quotes_gpc')) {
  14. $data = stripslashes ($data);
  15. }
  16. return mysql_real_escape_string ($data , $dbc);
  17. }
  18. $message = NULL;
  19. if (empty($_POST['mail'])) {
  20. $m = FALSE;
  21. $message .='<p>Zapomnia&sup3;e&para; poda&aelig; nazw&ecirc; administratora!</p>';
  22. } else {
  23. $m = escape_data($_POST['mail']);
  24. }
  25.  
  26. //TUTAJ KOLEJNE WERYFIKACJE WPROWADZONYCH DO FORMULARZA ZMIENNYCH
  27. if ($m && $h) {
  28. $query = &#092;"SELECT uid , imie , nazwisko FROM users WHERE mail = '$m' AND haslo = PASSWORD ('$h')\";
  29. $result = @mysql_query ($query);
  30. $row = mysql_fetch_array ($result , MYSQL_NUM);
  31. if ($row) {
  32. setcookie ('uid' , $row[0]);
  33. setcookie ('imie' , $row[1]);
  34. setcookie ('nazwisko' , $row[2]);
  35. }
  36. if (isset($_COOKIE['uid'])) {
  37. header (&#092;"Location: http://www.jansway.com\");
  38. exit();
  39. } else {
  40. session_name ('sid');
  41. session_register ('uid');
  42. $uid = $row[0];
  43. session_register ('imie');
  44. $imie = $row[1];
  45. session_register ('nazwisko');
  46. $nazwisko = $row[2];
  47. header (&#092;"Location: http://www.xxx.com/\" . SID);
  48. exit();
  49. }
  50. } else {
  51. $message = '<p>Wprowadzony email i/lub hasło są nieprawid&sup3;owe</p>';
  52. }
  53. } else {
  54. $message .= '<p>Spróbuj jeszcze raz</p>';
  55. }
  56. ?>
  57. <form action=\"<?php
  58. echo $_SERVER['PHP_SELF'];
  59. ?>\" method=\"post\">
  60. // TUTAJ RESZTA FORMULARZA

Podaję jeszcze w razie czego logout.php:
  1. <?php
  2. session_name('sid');
  3. if ($uid) {
  4. }
  5. if (isset($_COOKIE['uid'])) {
  6. setcookie ('uid' , '' , time()-300, '/' , '' , 0);
  7. setcookie ('imie' , '' , time()-300, '/' , '' , 0);
  8. setcookie ('nazwisko' , '' , time()-300, '/' , '' , 0);
  9. header (&#092;"Location: http://www.xxx.com\");
  10. exit();
  11. }
  12. else {
  13. header (&#092;"Location: http://www.xxx.com\");
  14. exit();
  15. }
  16. ?>

Co tu nie gra?
vieri_pl
dodaj to do każdego dokumentu:

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">

i powinno być git!

mnie pomogło
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.