Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem - sesje
Forum PHP.pl > Forum > Przedszkole
dasko
Cześc, właśnie zacząłem przygodę z php, więc nie krytkujcie mnie za jakieś głupie błądy. CHciałbym dodać funkcjonalność tego skryptu w razie wyłączenia cookies w przeglądarce co mam zrobic?

na wszelki wypadek podam cały skrypt

  1. <?php
  2. // funkcje ogólne
  3.  
  4. function head() {
  5.  echo &#092;"<html>
  6. <head>
  7. <title>dasko homepage</title>
  8. <META HTTP-EQUIV=content-type CONTENT=text/html; charset=iso-8859-2>
  9. <META NAME=author CONTENT=Adam(Dasko)Karczmarz>
  10. <META NAME=desciption CONTENT=dasko, Dasko, homepage, Stalowa Wola, Homepage>
  11. <META NAME=keywords CONTENT=dasko, Dasko, homepage, Stalowa Wola, Homepage>
  12. <link rel=stylesheet href=homepage.css type=text/css>
  13. </head>
  14. <body class=light>&#092;";
  15. }
  16. function koniec() {
  17.  echo &#092;"</body></html>\";
  18. }
  19.  
  20. $db = mysql_connect(&#092;"localhost\", \"dasko_Dasko\", \"XXXXX\");
  21. function connect() {
  22.  if(!$db = mysql_connect(&#092;"localhost\", \"dasko_Dasko\", \"XXXXX\")) {
  23. print(&#092;"nie dało rady połączyć za bazą :(\");
  24.  }
  25.  else {
  26. mysql_select_db(&#092;"dasko_homepage\", $db);
  27.  }
  28. }
  29.  
  30. // funkcje logowania
  31.  
  32. function login_form() {
  33.  echo '<form action=\"panel.php\" method=\"post\">
  34.  <p>Login:<input type=\"text\" name=\"redactor\"><br>
  35.  <p>Hasło:<input type=\"password\" name=\"redactor_password\"><br>
  36.  <input type=\"submit\" name=\"submit\" value=\"Zaloguj się!\">
  37.  </form>';/*100*/
  38. }
  39. function check_password($arg1, $arg2) {
  40.  global $ok;
  41.  if($arg2 == $arg1 && isset($_POST[submit])) {
  42. $ok = TRUE;
  43. echo &#092;"<center>Status: Zalogowany<br><br>Co chcesz zrobic?<br><a href=panel.php?akcja=dodaj>Dodaj Newsa</a> <a href=panel.php?akcja=edytuj>Edytuj Newsa<a> <a href=panel.php?akcja=usun>Usuń Newsa</a><a href=panel.php?akcja=wyloguj>Wyloguj</a>\";
  44. $_SESSION['logged_in'] = 1;
  45.  } 
  46.  else {
  47. $ok = FALSE;
  48. print(&#092;"podałeś złe hasło\");
  49. login_form();
  50. $_SESSION['logged_in'] = 0;  // 50
  51.  }
  52. }
  53.  
  54. //funkcje dodawania newsów
  55.  
  56. function write_news() {
  57.  echo '
  58.  <h2>WPISZ NEWSA!</h2>
  59.  <form action=\"panel.php?akcja=dodaj\" method=\"post\">
  60.  <p>Temat:<br><input type=\"text\" name=\"write_topic\">
  61.  <p>Treść newsa:<br><textarea name=\"write_body\" rows=\"10\" cols=\"40\"></textarea><br>
  62.  <p><input type=\"submit\" name=\"write_submit\" value=\"Wyślij!\"><input type=\"reset\" name=\"reset\" value=\"Resetuj!\">
  63.  </form>';
  64. }
  65.  
  66. // funkcje edycji
  67.  
  68. function display_edit_menu() { // 60
  69.  $sql = &#092;"select * from news\";
  70.  $result = mysql_query($sql);
  71.  $ile = mysql_num_rows($result);
  72.  echo &#092;"<table border=0 width=450><tr><td width=75% align=center>Temat</td><td width=25% align=center>Data</td></tr>\";
  73.  while($row = mysql_fetch_array($result)) {
  74. echo &#092;"<tr><td width=75% align=center><a href=panel.php?mode=edytuj&id=\" . $row['news_id'] . \">\" . $row['topic'] . \"</td><td width=25% align=center>\" . $row['date'] . \"</td></tr>\";
  75.  }
  76.  echo &#092;"</table>\";
  77. }
  78. function edit_form($arg) {
  79.  $sql = &#092;"select * from news where news_id = '$arg'\";
  80.  $result = mysql_query($sql);
  81.  $row = mysql_fetch_array($result);
  82.  echo &#092;"<form action=panel.php?akcja=edytuj method=post>Temat:<input type=text name=topic value=\" . $row['topic'] . \"><br>Treść newsa:<textarea name=body>\" . $row['body'] . \"</textarea><input type=hidden name=id value=\" . $row['news_id'] . \"<input type=submit name=edit_submit></form>\";
  83. }
  84.  
  85. // funkcje usuwania
  86.  
  87. function delete() {
  88.  foreach($_GET As $nid) {
  89. if($nid == &#092;"usun\" || $nid == \"del_submit\") {  // 100
  90.  continue;
  91. }
  92. else {
  93.  $sql = &#092;"delete * from news where news_id='$nid'\";
  94.  $result = mysql_query($sql);
  95.  if($result) {
  96. echo &#092;"<div align=center>Skasowano wybrane newsy. <a href=panel.php>Powrót do menu</a></div>\";
  97.  }
  98.  else {
  99. echo&#092;"<div align=center>Błąd! Nie skasowano wybranych newsów. <a href=panel.php>Powrót do menu</a></div>\";
  100.  }
  101. }
  102.  }
  103. }
  104. head();
  105. connect();
  106. switch($_GET['akcja']) {
  107.  case &#092;"dodaj\":
  108. if($_SESSION['logged_in'] == 1 && !isset($_POST['write_submit'])) {
  109.  write_news();
  110. }
  111. if($_SESSION['logged_in'] == 1 && isset($_POST['write_submit'])) {
  112.  connect();
  113.  $date = date(&#092;"y-m-d H:i:s\");
  114.  $sql = &#092;"insert into news values(NULL, '$date', '$_POST[topic]', '$_POST[body]')\";
  115.  $result = mysql_query($sql);
  116.  if($result) {
  117. echo &#092;"<div align=center>Udało się dodać newsa</div>\";
  118.  }
  119.  else {
  120. echo &#092;"<div align=center>Nie udało się dodać newsa</div>\";
  121.  }
  122. }
  123. if($_SESSION['logged_in'] == 0) {
  124.  echo &#092;"<div align=center>Niezalogowany. <a href=panel.php>Klinkij, aby zalgować</a></div>\";
  125. }
  126. break;
  127.  case &#092;"edytuj\": // 100
  128. if($_SESSION['logged_in'] == 1 && !isset($_GET['id']) && !isset($_POST['edit_submit'])) {
  129.  display_edit_menu();
  130. }
  131. if($_SESSION['logged_in'] == 1 && isset($_GET['id']) && !isset($_POST['edit_submit'])) {
  132.  edit_form($_GET['id']);
  133. }
  134. if($_SESSION['logged_in'] == 1 && isset($_POST['edit_submit'])) {
  135.  $sql = &#092;"update news set topic='$_POST[topic]', body='$_POST[body] where news_id='$_POST[id]'\";
  136.  $result = mysql_query($sql);
  137.  if($result) {
  138. echo &#092;"<div align=center>Udało się zedytować newsa</div>\"; // 150
  139.  }
  140.  else {
  141. echo &#092;"<div align=center>Nie udało sie zedytować newsa</div>\";
  142.  }
  143. }
  144. if($_SESSION['logged_in'] == 0) {
  145.  echo &#092;"<div align=center>Niezalogowany. <a href=panel.php>Klinkij, aby zalgować</a></div>\";
  146. }
  147. break;
  148.  case &#092;"usun\":
  149. if($_SESSION['logged_in'] == 1 && isset($_GET['del_submit'])) {
  150.  delete();
  151. }
  152. if($_SESSION['logged_in'] == 1 && !isset($_GET['del_submit'])) {
  153.  $sql = &#092;"select * from news\";
  154.  $result = mysql_query($sql);
  155.  $ile = mysql_num_rows($result);
  156.  echo &#092;"<table border=0 width=450><tr><td width=5% align=center>...</td><td width=75% align=center>Temat</td><td width=20% align=center>Data</td></tr>\";
  157.  $y = 0;
  158.  while($row = mysql_fetch_array($result)) {
  159. $y++;
  160. echo &#092;"<form action=panel.php?mode=usun method=get><tr><td width=5% align=center><input type=checkbox name=\" . $y . \"></td><td width=75% align=center>\" . $row['topic'] . \"</td><td width=20% align=center>\" . $row['date'] . \"</td></tr>\";
  161.  }
  162.  echo &#092;"<tr><td width=100% align=center><input type=submit name=del_submit></form></td></tr></table>\";
  163. }
  164. if($_SESSION['logged_in'] == 0) {
  165.  echo &#092;"<div align=center>Niezalogowany. <a href=panel.php>Klinkij, aby zalgować</a></div>\";
  166. }
  167. break;
  168.  case &#092;"wyloguj\":
  169. echo &#092;"<div align=center>Wylogowano. <a href=news.php>Powrót do Newsów.</a>\";
  170. break;
  171.  default:
  172. if($_SESSION['logged_in'] == 1) {
  173.  echo &#092;"<center>Status: Zalogowany<br><br>Co chcesz zrobic?<br><a href=panel.php?akcja=dodaj>Dodaj Newsa</a> <a href=panel.php?akcja=edytuj>Edytuj Newsa<a> <a href=panel.php?akcja=usun>Usuń Newsa</a> <a href=panel.php?akcja=wyloguj>Wyloguj</a>\";
  174. }
  175. elseif(isset($_POST[submit])) {
  176.  $sql = &#092;"select * from users where user = '$_POST[redactor]'\";
  177.  $result = mysql_query($sql);
  178.  $row = mysql_fetch_array($result);
  179.  $redactor = $row[&#092;"redactor_name\"];
  180.  check_password($_POST[redactor_password], $row[&#092;"password\"]);
  181. }
  182. else {
  183.  login_form();
  184. }
  185. break;
  186. }
  187. koniec();
  188. ?>


w których miejscach powuinienem cos zrobić? kompletnie nie znam sie na przekazywaniu sesji przez pramatry w url...

doradźcie coś biggrin.gif

z góry dzięki za pomoc,
pozdrawiam....
sf
musisz poczytac - session" title="Zobacz w manualu PHP" target="_manual
hwao
Sesja nie przekazuje sie url ewentulanie moze jej id byc w url ale to tylko wtedy kiedy user nie akceptuje ciasteczek.
dasko
czyli np. linka moge zrobić :

  1. <?php
  2. echo &#092;"<a href=panel.php?\" . SID . \">Link</a>\";
  3. ?>


i wtedy bedzie przekazywane jeśli nie akceptuje ciasteczek? a jak akceptuje, to będzie ukryte?
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.