Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesje+wyswietlanie odpowiedzi
Forum PHP.pl > Forum > PHP
marcio
czesc to znowu ja mam dwa problemy sproboje je dobrze opisac bo to moj glowny problem biggrin.gif a wiec zrobilem shout'a lecz jest on oparty na logowaniu na sesjach i nie wiem czy dobrze to robie teraz podam kod logowania ale tylko kod php
Kod
<?php
$login = htmlspecialchars($_POST['login']);
$haslo = htmlspecialchars($_POST['haslo']);
if($login !="" && $haslo !="") {

$db=mysql_connect('localhost', 'root', 'oskar15@',)
$baza=mysql_select_db('miniczat', $db)
if(!is_resource($db)) {

echo('Polaczenie z baza nie mozliwe');
   }
}
$zapytanie = ("select * from shout where login='".$login."' and haslo='".sha1($haslo)."'");
$zrob = mysql_query($zapytanie, $db) or die ('Polaczenie nie powiodlo sie');

if(mysql_num_rows($zrob) > 0) {

     echo ('Zalogowano');
     $_SESSION['user']=$login;
}

else echo('Logowanie nie powiodlo sie');
if($_SESSION['user']) {

     mysql_close($db);
     header("Location: user.php");
}

else {

     mysql_close($db);
     header("Location:nieuser.php");
}
ob_end_flush();
?>

i gdy uzytkownik przechodzi na strone user.php sprawdzam czy sesja zostala wsyalana o tak:
Kod
if(!isset($_SESSION['user']))
header("Location:nieuser.php")
else
{
include('funkcjewyswietlajace.php');
tytul('Witam');
}

hmm jesli macie jakies propozycje itp to prosze pisac ja chetnie poprawie kod wiem ze jest slabo napisany ale dopiero sie ucze i potem mam jeszcze jedna rzecz gdy uzytkownik sie zaloguje i przejdzie na strone user.php to powinny sie pokazac ostatnie 6 wpisow lecz problem polega na tym ze nom nie wiem jak wam to wytlumaczyc,wiec chodzi o to ze robie zapytanie do bazy ktore wyciaga wszystkie dane z wszystkich kolumn z tabeli shout i tabela jest tak ulozona

_____
login|
msg|
data|
____|

wiec gdy wyswietla sie wiadomosci to chce zeby sie tak pokazywaly

Dodal:user
Dnia:dzien
i tutaj tresc tego co napisal strona user.php tak wyglada

Kod
?php ob_start(); ?>
<html>
<head><meta http-equiv="content-type" charset="utf-8" /></head>
<body>
<?php
if(!isset($_SESSION['user']))
header("Location:nieuser.php")
else
{
include('funkcjewyswietlajace.php');
tytul('Witam');
}
?>
<table border="2" width="200" align="center" bgcolor="#CCCCCC" />
<tr><td align="center"><?php echo("Zalogowanyjako:".$_SESSION['user'].); ?></td></tr>
<tr><td align="center"><textarea name="msg" rows="5"</textarea></td></tr>
<tr><td align="center"><input type="submit" value="wyslij" /></td></tr>
<tr><td align="left"><a href="wyloguj.php">wyloguj sie</a></td></tr>
<?php
include('bbcode.php');
echo pokazshout();
stopka();
ob_end_flush();
?>
</table>
</body>
</html>

a bbcode i funkcja pokazshout sa takie

Kod
<?php
function bbcode($zmien)
{
$zmien = htmlspecialchars($zmien);
$zmien = preg_replace("#\[url=(.*?)?(.*?)\](.*?)\[/url\]#si", "<A HREF='\\2' TARGET='top'>\\3</A>", $zmien);
$zmien = str_replace(":D","<img src='obrazki/biggrin.gif' />", $zmien);
$zmien = str_replace(":)","<img src='obrazki/smile.gif' />", $zmien);
$zmien = str_replace(":(","<img src='obrazki/confused.gif' />", $zmien);
$zmien = str_replace(";p","<img src='obrazki/tongue.gif' />", $zmien);
$zmien = str_replace(":]","<img src='obrazki/cool.gif' />", $zmien);
$zmien = str_replace("[:","<img src='obrazki/bigrazz.gif' />", $zmien);
$zmien = str_replace("()","<img src='obrazki/wink.gif' />", $zmien);
$zmien = preg_replace("#\[i](.*?)[/i]#si", "<i>\\1</i>" $zmien);
$zmien = preg_replace("#\[b](.*?)[/b]#si", "<b>\\1</b>" $zmien);
$zmien = preg_replace("#\[ins](.*?)[/ins]#si", "<ins>\\1</ins>", $zmien);
$zmien = preg_replace("#\[small](.*?)[/small]#si", "<small>\\1</small>", $zmien);
$zmien = preg_replace("#\[big](.*?)[/big]#si", "<big>\\1</big>", $zmien);
return $zmien;
}
function pokazshout()
{
$data = date('j/n/Y H:i:s;');
$login = $_POST['login'];
$msg = strip_tags($msg);
if(!get_magic_quotes_gpc()) {

$msg = addslashes($msg);
}
$msg = bbcode($_POST['msg']));
$db = mysql_connect('localhost', 'root', 'oskar15@');
$baza = mysql_select_db('miniczat', $db);
if(!is_resource($db)) {

echo('Polaczenie nie powiodlo sie');
}

if(!empty($_POST['msg']) {

$zap = sprintf('Insert into shout(login,msg,data) values ('$login','%s','$data')');
mysql_real_escape_string($msg, $db);
mysql_query($zap, $db) or die ('Polaczenie nie powiodlo sie');
}
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
echo "<script>document.location='http://$host$uri';</script& gt;";

$zap1 = ('select * from shout order by desc limit 6');

$wynik = mysql_query($zap1, $db);

if($wynik) {
while($wyjscie = mysql_fetch_row($wynik));
mysql_close($db);
}
?>


i teraz chodzi mi o to ze robie zapytanie

$zap1 = ('select * from shout order by desc limit 6');
$wynik = mysql_query($zap1, $db);


potem odczytuje jego wynik

if($wynik) {
while($wyjscie = mysql_fetch_row($wynik));
mysql_close($db);
}

i teraz to najwazniejsze jak widzicie nic nie wyswietlam poniewaz jesli chce to zrobic za pomoca tablicy asosacyjnej z indeksami(nom nie pamietam jaksie nazywaja nie tymi numerycznymi) to robie tak mam nadziej ze dobrze:

Kod
if($wynik) {
   while($wyjscie = mysql_fetch_assoc($wynik));
echo('<tr><td>"Dodal: ".$wyjscie['login'].</td></tr>');
echo('<tr><td>"Dnia: ".$wyjscie['data'].</td></tr>');
echo('<tr><td>.$wyjscie['msg'].</td></tr>');
   mysql_close($db);
   }

ale chcialem to zrobic na tablicy z indeksami numerycznymi(zeby sie nauczyc ich uzywac i jakos latwiej mi sie z nich korzysta) lecz nie wiem zabardzo jak ale mysle ze taki powinien wygladac kod

Kod
if($wynik) {
    while($wyjscie = mysql_fetch_row($wynik));
echo('<tr><td>"Dodal: ".$wyjscie[0].</td></tr>');
echo('<tr><td>"Dnia: ".$wyjscie[2].</td></tr>');
echo('<tr><td>.$wyjscie[1].</td></tr>');
    mysql_close($db);
    }



mam nadzieje ze chociaz jeden z przykladow jest dobry ale juz mowie dlaczego robie tak
echo('<tr><td>"Dodal: ".$wyjscie[0].</td></tr>');
bo mysle ze skoro jako pierwsza rzecz do bazy dodaje login i pierwsza kolumna z tabeli shout to login wiec mysle ze index do [0] potem moze sie myle mam nadzieje ze ktos mnie zrozumial jesli nie to sprobuje to opisac inaczej i dzieki za pomoc
devnul
dużo informacji przy których zasnołem po pierwszym listingu kodu. Naucz się najpierw wyrażać to co chcesz napisac bo tutaj wróżek nie ma a tak naprawde to nie mam pojęcia o co Ci chodzi. Widze tylko zlepki kodu których nie chce mi się przeglądac bo ni widze konkretnego powodu ku temu. POza tym robisz setki kardynalnych błędów (nie mówie juz o tym że zupa w kodzie, mieszanie html`a z php itp). Nie oczekuj ze ktoś ci pomoze jesli wpierw sam sobie nie pomozesz
marcio
hmm. widzisz nie chce dostac warna ale mialem duzo problemow z ludzmi jak ty jak ci sie moj kod nie podoba to ok nie jestem geniuszem i php nie ucze sie 2-3 lata tylko nie dawno zaczolem kazdy pisze jak potrafi to sa moje umiejetnosci jesli zasnoles to zycze powodzenia przy czytaniu nasteonych kodow ja tylko poprosilem o pomoc a tak w ogole to napisalem ze uzytkownicy forum moga mnie nie zrozumiec poniewaz mam problemy z tlumaczeniem w jezyku polskim



-------------------------
do PHP są odpowiednie znaczniki BBCode
a nie tylko [code] do wszystkiego
popraw w pierwszym poście
tak żeby chociaż trochę lepiej się czytało
~Cienki1980
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.