Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Stały autor tematu pobierany z logowania
Forum PHP.pl > Forum > PHP
benzulli
Witam

Mam mały problem, nie mogę dojść do tego jak napisać kto był autorem danego newsa, chodzi o to, aby ta zmienna "login", po wylogowaniu także pokazywała się na stronie głównej jako autor.
Na przykład: piszę newsa z konta benzulli i na stronie głównej pojawia się news, którego autorem był benzulli (autor jest widoczny nawet po moim wylogowaniu, przez każdego), czy np. pisze ktoś o nicku test123 no i na stronie głównej autorem drugiego newsa jest test123. Proszę o pomoc, oto pliki:

zaloguj.php
  1. <?php
  2. ini_set('default_charset', 'UTF-8');
  3. include("polacz.php");
  4. if(isset($_SESSION['zalogowany']))
  5. {
  6. header('Location: dodaj.php');
  7. }
  8. else
  9. {
  10. if(isset($_POST['wyslij']))
  11. {
  12. if(mysql_num_rows(mysql_query("SELECT login, haslo FROM news_acc WHERE login = '".$_POST['login']."' && haslo = '".$_POST['haslo']."' ")) > 0)
  13. {
  14. $_SESSION['zalogowany'] = true;
  15. $_SESSION['login'] = $_POST['login'];
  16. $_SESSION['haslo'] = $_POST['haslo'];
  17. header('Location: dodaj.php');
  18. }
  19. else
  20. {
  21. echo "Złe hasło, proszę spróbować ponownie";
  22. }
  23. }
  24. else
  25. {
  26. echo "Nie ma takiego użytkownika";
  27. }
  28. }
  29. if(isset($_POST['wyloguj']))
  30. {
  31. echo "Zostałeś wylogowany";
  32. header('Location: index.php');
  33. }
  34. ?>


dodaj.php
  1. <?php
  2. ?>
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  6. <?php
  7. ini_set('default_charset', 'UTF-8');
  8. include("polacz.php");
  9. if(isset($_SESSION['zalogowany']))
  10. {
  11. echo $_SESSION['login'];
  12. ?>
  13. <form action="" method="post">
  14. tytuł: <input type="text" name="tytul">
  15. <br/>treść <textarea name="tresc" rows="20" cols="50"></textarea>
  16. <br/><input type="submit" value="Dodaj"></form>
  17. <?php
  18. if($_SERVER['REQUEST_METHOD'] == 'POST')
  19. {
  20. $query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_POST['autor']."','".$_POST['tresc']."')");
  21. }
  22. ?>
  23. <form action="" method="post"><input type="submit" name="wyloguj" value="Wyloguj"></form>
  24. <?php
  25. }
  26. else {
  27. echo "Dostęp tylko dla administracji.";
  28. }
  29. ?>
  30. </head>
  31. </html>
  32. <?php
  33. ?>


fragment php w index.php

  1. <?php
  2. ini_set('default_charset', 'UTF-8');
  3. include("polacz.php");
  4. $query = mysql_query("select * from news order by id desc limit 0,5");
  5. while($rekord = mysql_fetch_array($query)) {
  6. if (substr($rekord[4], 0, 150)<$rekord[4]) {
  7. $kr = 'czytaj dalej >>>';
  8. }
  9. else {
  10. $kr = '';
  11. }
  12. $naz .= '<div class="news"><div class="bgn_left"><b>'.$rekord[1].'</b><font size="1"><br><b>autor:</b> '.$autor.'</font></div><div class="bgn_right">'.$rekord[2].'<p></div></div><div class="tekst">'.substr($rekord[4], 0, 150).'<a class="link" href="news.php?id='.$rekord[0].'"> <br /><b>'.$kr.'</b></a></p></div>';
  13.  
  14. }
  15. echo '<ul>'.$naz.'</ul>';
  16.  
  17. ?>


I przykładowo pod zmienną $autor chciałbym, aby wyświetlał się autor newsa.
Kshyhoo
$autor = $_SESSION['login'] w dodaj.php questionmark.gif
benzulli
Próbowałem tak wcześniej i nie działało - zostawiam teraz tak, jak mi powiedziałeś, czyli w dodaj.php jest autor, adres strony bezchemii.info/porlat (no i teraz tak samo nie działa, tak jak wcześniej).

  1. <?php
  2. ini_set('default_charset', 'UTF-8');
  3. include("polacz.php");
  4. $autor = $_SESSION['login'];
  5. if(isset($_SESSION['zalogowany']))
  6. {
  7. echo $_SESSION['login'];
  8. ?>
Kshyhoo
1. Logujesz usera.
2. Wrzucasz jego login do sesji.
3. Pobierasz z sesji login w dodaj.php (jako autora).
Co tu można skomplikować?
benzulli
Przepisałem od nowa cały skrypt i działa, dzięki smile.gif
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.