Witam ,
Mam problemik :
Otóż mam logowanie oparte na php i plikach tekstowych (oraz sesji)
i po przekierowaniu wyświetlana jest zmienna
Jesteś zalogowany jako : Macck
($_SESSION['zalogowany'] )
Mam też system newsów oparty na MySql i trzeba podać treść newsa i autora.
Ja chciałbym żeby autor się sam podawał ze zmiennej 'zalogowany'
ale nie mam pojęcia jak to zrobić
// lacze sie z baza
require('db_connect.php');
// jesli wybrano jakis konkretny news
if(intval($_GET['newsid']))
{
// powrot do wszystkich newsow (nazwa news.php jest oczywiscie dla przykladu)
echo '<p><a href="news.php">Najnowsze newsy</a></p>';
// pobieram newsa
$sql="SELECT DATE_FORMAT(dodano, '%e-%m-%Y %H:%i') AS utworzono, autor, tresc FROM newsy WHERE id='".intval($_GET['newsid'])."'";
$query=mysql_query($sql);
if($result=mysql_fetch_assoc($query))
{
// zawartosc newsa
echo '<p>'.nl2br($result['tresc']).'</p>';
// autor
echo '<p><i>'.$result['autor'].' ('.$result['utworzono'].')</i></p>';
// oddzielam od komentarzy
echo '<hr>Komentarze:<br>';
// dopisuje komentarz do bazy
if($_POST)
{
if((trim($_POST['autor'])) && (trim($_POST['tekst'])))
{
if(mysql_query("INSERT INTO komentarze VALUES('', '".intval($_GET['newsid'])."',
NOW(), '".trim(htmlspecialchars($_POST['autor']))."', '".trim(htmlspecialchars($_POST['tekst']))."')"))
echo 'Dodałem komentarz';
else echo 'Nie mogłem dodać komentarza';
}
else echo 'Nie dopisałem komentarza - podaj swoje imię i wpisz jakiś komentarz!';
echo '<br>';
}
// pobieram komentarze do newsa od najstarszego do najnowszego
$sql="SELECT DATE_FORMAT(dodano, '%e-%m-%Y %H:%i') AS utworzono, autor, tresc FROM komentarze WHERE id='".intval($_GET['newsid'])."'";
$query=mysql_query($sql);
while($result=mysql_fetch_assoc($query))
{
print('<p>'.nl2br($result['tresc']).' ('.$result['autor'].'/'.$result['utworzono'].')</p>');
}
// formularz do dodawania komentarza
?>
<hr>
<form name="komentarz" method="post" action="news.php?newsid=
<? echo intval($_GET['newsid']); ?>">
Dodaj komentarz:<br>
<textarea name="tekst" rows="5" cols="40"></textarea><br>
Autor:<br>
<input type="text" name="autor"><br>
<input type="reset" value="wyczyść"> <input type="submit" value="wyslij">
</form>
<?
}
}
// wszystkie newsy
else
{
// pobieram newsy w kolejnosci od najnowszego do najstarszego
// przy pomocy zlaczenia z drugiej tabeli wyciagam ilosc komentarzy dla każdego newsa
$sql="SELECT newsy.id, DATE_FORMAT(newsy.dodano, '%e-%m-%Y %H:%i') AS utworzono,
newsy.autor, newsy.tresc, COUNT(lp) AS il_kom
FROM newsy
LEFT JOIN komentarze ON (komentarze.id=newsy.id)
GROUP BY newsy.id ORDER BY newsy.dodano DESC";
{
// zawartosc newsa
// autor
echo '<p><i>'.$result['autor'].' ('.$result['utworzono'].')</i></p>'; // ilosc komentarzy i link do nich
echo '<p><a href="news.php?newsid='.$result['id'].'">Komentarze: ('.$result['il_kom'].')</a></p>'; // oddzielam od pozostalych
}
}?>
<br>
<?
// lacze sie z baza danych
require('db_connect.php');
// spradzam czy wyslano formularz
if($_POST)
{
// sprawdzam czy wypelniono wymagane pola
if((trim($_POST['autor'])) && (trim($_POST['tekst']))) {
// dodaje newsa do bazy
else echo 'Nie mogłem dodać newsa'; }
else echo 'Nie podałeś autora lub treści newsa'; }
?>
<hr>
<form name="news" method="post" action="aserethaskr912masalejasl827dka2.php">
Treść newsa:<br>
<textarea name="tekst" rows="5" cols="40"></textarea><br>
Autor:<br>
<input type="text" name="autor"><br>
<input type="reset" value="wyczyść"> <input type="submit" value="wyslij">
</form>
Tak wygląda dodawanie newsów (i odczytwyanie) do bazy.
Teraz , gdzie tu upchnąć moją zmienną tak aby się sam nick podstawiał?