![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałem pozmieniać trochę skrypt i naieszałem. Mysql wyrzuca jakieś niezrozumiałe dla mnie komunikaty. Problem tkwi na pewno w nazwach baz ale niestety nie mogę go zlokalizować. Załaczam kody plików, ma nadzieję że znajdzie się ktoś kto wychwyci mój błąd.
Plik forum.php [php:1:23ca5ba6cc]<?php $host = "localhost"; $user = "root"; $pass = "krasnal"; $db = "forum_baza"; require("szablon.php"); require("funkcje.php"); theader(); mysql_connect($host, $user, $pass) or die("Nie mogę nawiązać połączenia z bazą!"); mysql_select_db($db) or die("Nie mogę wybrać tej bazy danych!"); Statystyka($wiadomosci, $userzy); if(!isset($id)){ $id = 0; } if($m == "add_user"){ $userzy++; } tpanel($id, $wiadomosci, $userzy); if($m == "form"){ tformularz(PobierzTytul($id), $id); }elseif($m == "register"){ trejestracja(); }else{ switch($m){ case "msg": PobierzWiadomosc($id, $tytul, $tresc, $autor, $data); Przetworz($tresc); twiadomosc($tytul, $tresc, $autor, date("d.m.y H:i", $data)); break; case "add": $uid = Autoryzuj($HTTP_POST_VARS['autor'], $HTTP_POST_VARS['haslo']); if($uid > 0){ DodajWiadomosc($HTTP_POST_VARS['tytul'], $HTTP_POST_VARS['tresc'], $id, $uid); }else{ echo "Musisz się zarejestrować, aby móc dodawać wiadomo¶ci<br>"; } $id = 0; break; case "add_user": DodajUsera($HTTP_POST_VARS['login'], $HTTP_POST_VARS['haslo']); break; } PokazListe($id); } mysql_close(); tfooter(); ?>[/php:1:23ca5ba6cc] Plik funkcje.php [php:1:23ca5ba6cc]<?php function DodajUsera($login, $haslo){ $r = mysql_query("SELECT user_id FROM users WHERE user_name='$login'"); if(!$rows = mysql_fetch_row($r)){ mysql_query("INSERT INTO users (user_name, user_pass) VALUES('$login', '".md5($haslo)."')"); if($error = mysql_error()){ die("MySQL error: $error<br>"); } }else{ echo "Na forum jest już użytkownik o takim loginie. Wybierz inny.<br>"; } } function Autoryzuj($login, $haslo){ $r = mysql_query("SELECT user_id FROM users WHERE user_name='$login' AND user_pass = MD5('$haslo')"); if($rows = mysql_fetch_row($r)){ if($rows[0] != 0){ return $rows[0]; } } return 0; } function DodajWiadomosc($tytul, &$tresc, $rodzic, $autor){ mysql_query("INSERT INTO messages( msg_title, msg_text, msg_date, msg_parent, msg_author ) VALUES( '$tytul', '$tresc', '".time()."', '$rodzic', '$autor' ) "); if($error = mysql_error()){ die("MySQL error: $error<br>"); } } function PobierzWiadomosc($id, &$tytul, &$tresc, &$autor, &$data){ $r = mysql_query("SELECT m.msg_title, m.msg_text, m.msg_date, u.user_name FROM messages m, users u WHERE u.user_id = m.msg_author AND m.msg_id='$id'"); if($rows = mysql_fetch_row($r)){ $tytul = $rows[0]; $tresc = $rows[1]; $data = $rows[2]; $autor = $rows[3]; return 1; } return 0; } function Przetworz(&$tekst){ $tekst = preg_replace('#(.*?)#si', '<b>1</b>', $tekst); $tekst = preg_replace('#(.*?)#si', '<i>1</i>', $tekst); $tekst = preg_replace('#(.*?)#si', '<u>1</u>', $tekst); $tekst = preg_replace('#[http](.*?)[/http]#si', '<a href="http://1">1</a>', $tekst); $tekst = preg_replace('#[mail](.*?)[/mail]#si', '<a href="mailto:1">1</a>', $tekst); $tekst = nl2br(strip_tags($tekst, '<a><b><i><u><font><div><hr><span><code> <center><h1><h2><h3><h4><h5><h6><h7><form><textarea>')); } function Statystyka(&$wiadomosci, &$userzy){ $r = mysql_query("SELECT COUNT(msg_id) AS total FROM messages"); if($rows = mysql_fetch_row($r)){ $wiadomosci = $rows[0]; } $r = mysql_query("SELECT COUNT(user_id) AS total FROM users"); if($rows = mysql_fetch_row($r)){ $userzy = $rows[0]; } return 0; } function PobierzTytul($id){ $r = mysql_query("SELECT msg_title FROM messages WHERE msg_id='$id'"); if($rows = mysql_fetch_row($r)){ return $rows[0]; } return 0; } function PokazListe($id){ tstart_lista(); $r = mysql_query("SELECT m.msg_id, m.msg_title, m.msg_date, u.user_name FROM messages m, users u WHERE (u.user_id = m.msg_author) AND (m.msg_parent='$id') ORDER BY m.msg_date DESC"); if($error = mysql_error()){ die("MySQL error: $error<br>"); } while($rows = mysql_fetch_row($r)){ telement($rows[0], $rows[1], date("d.m.Y H:i", $rows[2]), $rows[3]); PokazListe($rows[0]); } tend_lista(); } ?>[/php:1:23ca5ba6cc] Plik nowypost.php [php:1:23ca5ba6cc]<?php <HTML> <HEAD> <META HTTP-EQUIV="Content type" CONTENT="text/html"; charset=iso-8859-2"> <TITLE>Dopisanie postu</TITLE> </HEAD> <BODY> <H2>Tablica dyskusyjna</H2> <A HREF="wszystko.php">Wszystkie posty</A>______ <A HREF="nowypost.php">Dodaj nowy post</A> <? mysql_connect ("localhost", "root", "") or die ("Nie można nawiązać połaczenia z bazą danych"); mysql_select_db ("bazapostow") or die ("Nie można nawiązać połaczenia z bazą postów"); if ($co == 'wyślij') { $ty = addslashes(htmlentities ($tytul)); $os = addslashes(htmlentities ($osoba)); $tr = addslashes(n12br(htmlentities ($tresc))); if ($ty && $os && $tr) { $query = ("INSERT INTO tablicapostow (osoba, tytul, tresc, "."data, ref) VALUES ('$os', '$ty', '$tr', now(), '$ref');"); mysql_query ($query); print 'wpis został dokonany.<A HREF="wszystko.php">Powrót na stronę główna</A>'; exit; } } elseif ($ref>0) { $wynik = mysql_query ("SELECT osoba, tytul, tresc, data ". "FROM tablicapostow WHERE nr=$ref;"); if ($rekord = mysql_fetch_array ($wynik)) { $tresc = $rekord[2]; $tytul= $rekord[1]; $tresc = str_replace ("<br>", "", $tresc); $tresc = str_replace ("n", "n: ", $tresc); $tresc = ": ".$tresc; if (!(ereg ("^Re: ", $tytul))) { $tytul = "Re: ".$tytul; } print "<H3>Odpowiedz na post: $rekord[1]</H3><P>Wysłany przez "; print "</B>$rekord[0]</B>, <B>$rekord[3]</B></P>$rekord[2]<BR><HR>"; } } print "<H3>poślij post:</H3>"; print "<FORM METHOD=POST><INPUT TYPE="hidden" NAME="co" VALUE=""; print "wyslij"><INPUT TYPE="hidden" NAME="ref" VALUE="$ref">"; print "<B>Osoba:</B><BR><INPUT TYPE="text" NAME="osoba" "; print "<INPUT TYPE="text" NAME="tytul" VALUE="$tytul" " ; print "SIZE=60><BR><B>treść:</B><BR><TEXTAREA NAME="tresc" "; print "ROWS=10 COLS=60>$tresc</TEXTAREA><BR>n"; print "<INPUT TYPE="submit" VALUE="Wyślij">"; print "</FORM>"; ?> </BODY> </HTML> ?>[/php:1:23ca5ba6cc] Plik szablon.php [php:1:23ca5ba6cc]<?php function theader(){ echo ' <html> <head> <title>Forum</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <meta http-equiv="content-Language" content="pl"> </head> <body> <h1>Forum</h1> '; } function tfooter(){ echo ' </body> </html> '; } function twiadomosc($tytul, &$tresc, $autor, $data){ echo ' <table width=100% border=1> <tr> <td><h1>'.$tytul.'</h1> napisana przez ['.$autor.'] wysłana '.$data.'</td> </tr> <tr> <td>'.$tresc.'</td> </tr> </table> Odpowiedzi:<br> '; } function tpanel($id, $wiadomosci, $userow){ echo ' <b><center>.::<a href="forum.php">Index</a>::. .::<a href="forum.php?m=form&id='.$id.'">Dodaj wiadomo¶ć</a>::. .::<a href="forum.php?m=register">Zarejestruj się</a>::. .::ٱcznie Wiadomo¶ci ['.$wiadomosci.']; ٱcznie Użytkowników ['.$userow.']::.</center></b><br> '; } function tstart_lista(){ echo '<ul>'; } function tend_lista(){ echo '</ul>'; } function telement($id, $tytul, $data, $autor){ echo ' <li><a href="forum.php?id='.$id.'&m=msg">'.$tytul.' w dniu '.$data.' przez [<b>'.$autor.'</b>]</a> '; } function tformularz($tytul_tematu, $id){ if($id == 0){ $tytul_tematu = ""; $tresc = "Nowy temat"; }else{ $tytul_tematu = 'OdpoowiedĽ na '.$tytul_tematu; $tresc = "Odpowiedz na $tytul_tematu"; } echo ' <table border=1 width=100%> <tr> <td colspan=2 align=center><b>'.$tresc.'</b></td> </tr> <form method="post" action="forum.php?id='.$id.'&m=add"> <tr> <td width=40%>Tytuł wiadomo¶ci:</td> <td width=60%><input type="text" name="tytul" value="'.$tytul_tematu.'"></td> </tr> <tr> <td width=40%>Autor:</td> <td width=60%><input type="text" name="autor"></td> </tr> <tr> <td width=40%>Hasło:</td> <td width=60%><input type="password" name="haslo"></td> </tr> <tr> <td width=40%>Tre¶ć:<br> tekst - pogrubienie<br>tekst - kursywa<br>tekst - podkre¶lenie<br>[http]url[/http] - link.<br>[mail]adres[/mail] - adres e-mail.<br>HTML dozwolony</td> <td width=60%><textarea name="tresc" rows=9 cols=60></textarea></td> </tr> <tr> <td colspan=2><input type="submit" value="Dodaj"></td> </tr> </form> </table> '; } function trejestracja(){ echo ' <table border=1 width=100%> <tr> <td colspan=2>Rejestracja na forum</td> </tr> <form method="post" action="forum.php?&m=add_user"> <tr> <td width=40%>Login:</td> <td width=60%><input type="text" name="login"></td> </tr> <tr> <td width=40%>Hasło:</td> <td width=60%><input type="password" name="haslo"></td> </tr> <tr> <td colspan=2><input type="submit" value="Dodaj"></td> </tr> </form> </table> '; } ?>[/php:1:23ca5ba6cc] I ostatni plik ![]() [php:1:23ca5ba6cc]<?php <HTML> <HEAD> <META HTTP-EQUIV="Content type" CONTENT="text/html"; charset=iso-8859-2"> <TITLE>Dopisanie postu</TITLE> </HEAD> <BODY> <H2>Tablica dyskusyjna</H2> <? function wypisz tablice ($nr) { global $fref; global $fdata; global $fosoba; global $ftytul; print "<UL>; for ($i=count($fref) ; $i>=1; $i--) { if ($fref[$i] == $nr) { print "<LI><A HREF="wszystko.php?nr=$i">$ftytul[$i]</A>, ". "<I>$fosoba[$i], $fdata[$i]</I>"; wypisztablice ($i); } } print "</UL>"; } mysql_connect ("localhost", "root", "") or die ("Nie można nawiązać połaczenia z bazą danych"); mysql_select_db ("bazapostow") or die ("Nie można nawiązać połaczenia z bazą postów"); if ($nr>0) { $wynik = mysql_query ("SELECT osoba, tytul, tresc, data ". "FROM tablicapostow WHERE nr=$nr;"); if ($rekord = mysql_fetch_array ($wynik)) { $tresc = $rekord[2]; $tytul = $rekord[1]; print "<H3>$rekord[1]</H3>; print "<P>Wysłany przez </B>$rekord[0]</B>, <B>$rekord[3]</B>:"; print "</P><P>$rekord[2]</P><HR>"; print "A HREF ="nowywpis.php?ref=$nr">Wyślij odpowiedź<A><HR>"; } else { $nr=0; } }else { $nr=0; } $wynik = mysql_query ("SELECT nr, osoba, tytul, data ref ". "FROM tablicapostow;"); while ($rekord = mysql_fetch_array ($wynik)) { $fref[$rekord[0]] = $rekord[4]; $fdata[$rekord[0]] = $rekord[3]; $ftytul[$rekord[0]] = $rekord[2]; $fosoba[$rekord[0]] = $rekord[1]; } wypisztablice ($nr); ?> </BODY> </HTML> ?>[/php:1:23ca5ba6cc] Sorry za znaczniki html'owe. ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Wazniejsze jest to, jakie błędy zwraca ci baza, czy cokolwiek innego. Uważasz, że jeśli tobie nie chce się znaleźć miejsca, gdzie jest błąd to ktoś inny będzie szukał igły w stogu siana?
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
baza zwraca mi cos takiego :
Warning: MySQL Connection Failed: Access denied for user: 'root@localhost' (Using password: YES) in c:apachehtdocsforum1forum.php on line 13 Nie mogę nawišzać połšczenia z bazš! i coś takiego dla innego pliku Parse error: parse error, expecting `'('' in c:apachehtdocsforum1wszystko.php on line 10 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
function wypisz tablice ($nr)
Powinno być: function wypisz_tablice($nr) Funkcja nie może miec nazwy wielowyrazowej. A co do błędu bazy, to najprawdopodobniej złe hasło. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 25.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nic z tego, ten sam bład tylko w linii 15 tym razem a nie w 10
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
W 13, zamknij "
w global podajesz wiele zmiennych po , -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 1 Dołączył: 17.07.2003 Skąd: Kazanów Ostrzeżenie: (0%) ![]() ![]() |
Kod <META HTTP-EQUIV="Content type" CONTENT="text/html"; charset=iso-8859-2">
zamień na: Kod <META HTTP-EQUIV="Content type" CONTENT="text/html; charset=iso-8859-2">
to był moim zdaniem zasadniczy błąd a tak poza tym to w global podaje się raz global i potem po przecinku wymienia się zmienne a nie za każdym razem pisze się global [tak mi się zdaje że nie wolno - a przynajmniej jest zawsze troszkę mniej kodu ![]() [to były błędy odnośnie pliku wszystko.php] |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 10.03.2004 Skąd: K-ce Ostrzeżenie: (50%) ![]() ![]() |
host , user lub hasło są nie poprawne
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:01 |