Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Bellum

Użytkownik
  • Postów

    133
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Bellum

  1. Mało tego wchodze do PA i czytam.... Klucz był wprowadzony, czemu go nie ma? Za moment mnie szlag jasny trafi. Napisałem do supportu.
  2. Cześć, wchodzę dziś do swojego client area na ipb, dostaje Wiadomość o resecie haseł, ok, zrobione. Przeglądam sobie konto, dziwne brak, historii zakupu czegokolwiek, jak gdybym nie miał zakupionego IPB, kupowałem go ponad 5 lat temu. Mam klucz, mam konto z którego dokonano zakupu i co? wychodzi na to że nic nie mam.......?
  3. Już sobie poradziłem i działa tak jak sobie tego życzyłem Tak wiem o eregi . Temat można zamknąć.
  4. Poprawiłem wszystkie błędy logiczne ale i tak nie działa: <?php if(isset($_SESSION['user'])) { header('location: index.php'); } else { echo "<div class='h3'><h3>Logowanie</h3></div><div class='text'> <form action='' method='POST'> <table> <tr> <td>Nazwa użytkownika:</td><td><input type='text' name='user' class='input' /></td> </tr> <tr> <td>Hasło:</td><td><input type='password' name='password' class='input' /></td> </tr> <tr> <td colspan=2><input type='submit' name='zaloguj' value='Zaloguj' /></td> </tr> </table> </form> </div><div class='foot'></div>"; require_once'config_db.php'; if(isset($_POST['zaloguj'])) { $user = $_POST['user']; $password = $_POST['password']; #Sprawdzanie pól formularza if(!$_POST['user'] || !$_POST['password']) { echo "Jedno bądź więcej pól w formularzu jest puste..."; exit; } #Sprawdzanie wprowadzonych danych do usunięcia <----- if(!eregi('^[a-zA-z]+', $user)) { echo "Nazwa użytkownika może zawierać wyłącznie małe i duże litery..."; exit; } elseif(!eregi('^[a-zA-z0-9]+', $password)) { echo "Hasło może zawierać wyłącznie małe i duże litery oraz cyfry..."; exit; } #to jest niepotrzebne <--- bo i tak haslo jest md5 ############### ## LOGOWANIE ## ############### $mysqlia = "SELECT * FROM user WHERE user='".$user."'"; $mysqlib = $db->query($mysqlia); $echo = $mysqlib->fetch_object(); $wartosc = "SELECT uprawnienia FROM user WHERE=user='".$user."'"; #<---- Nie wiem jak wartosc wyciagnac if(isset($_POST['user']) && isset($_POST['password'])) { if($user == $echo->user && $password == $echo->password) { if($wartosc == 1) { $_SESSION['prawa']=1; $_SESSION['user']=$echo->user; header("Location: index.php"); } if($wartosc == 2) { $_SESSION['prawa']=2; $_SESSION['user']=$echo->user; header("Location: index.php"); } if($wartosc == 3) { $_SESSION['prawa']=3; $_SESSION['user']=$echo->user; header("Location: index.php"); } } } else { echo "user lub hasło, jest niepoprawne..."; exit; } $db->close(); } } ?>
  5. Coś nie bardzo chce mi działać ja mam innego rodzaju zapytania niż autor kodu w zamieszczonym linku: u mnie wygląda to tak: <?php if(isset($_SESSION['session_user'])) { header('location: index.php'); } else { echo "<div class='h3'><h3>Logowanie</h3></div><div class='text'> <form action='' method='POST'> <table> <tr> <td>Nazwa użytkownika:</td><td><input type='text' name='user' class='input' /></td> </tr> <tr> <td>Hasło:</td><td><input type='passwordwordword' name='passwordwordword' class='input' /></td> </tr> <tr> <td colspan=2><input type='submit' name='zaloguj' value='Zaloguj' /></td> </tr> </table> </form> </div><div class='foot'></div>"; require_once'config_db.php'; if(isset($_POST['zaloguj'])) { $user = $_POST['user']; $passwordwordword = $_POST['passwordwordword']; #Sprawdzanie pól formularza if(!$_POST['user'] || !$_POST['passwordwordword']) { echo "Jedno bądź więcej pól w formularzu jest puste..."; exit; } #Sprawdzanie wprowadzonych danych do usunięcia <----- if(!eregi('^[a-zA-z]+', $user)) { echo "Nazwa użytkownika może zawierać wyłącznie małe i duże litery..."; exit; } elseif(!eregi('^[a-zA-z0-9]+', $passwordwordword)) { echo "Hasło może zawierać wyłącznie małe i duże litery oraz cyfry..."; exit; } #to jest niepotrzebne <--- bo i tak haslo jest md5 ############### ## LOGOWANIE ## ############### $mysqlia = "SELECT * FROM user WHERE user='".$user."'"; $mysqlib = $db->query($mysqlia); $echo = $mysqlib->fetch_object(); $wartosc = $echo->uprawnienia; if(isset($_POST['user']) && isset($_POST['passwordwordword'])) { if($user == $echo->user && $passwordword == $echo->password ) { if($wartosc == 1) { $_SESSION['prawa']='1'; $_SESSION['user']=''.$echo->user.''; header("Location: index.php"); } if($wartosc == 2) { $_SESSION['prawa']='2'; $_SESSION['user']=''.$echo->user.''; header("Location: index.php"); } if($wartosc == 3) { $_SESSION['prawa']='3'; $_SESSION['user']=''.$echo->user.''; header("Location: index.php"); } } } else { echo "user lub hasło, jest niepoprawne..."; exit; } $db->close(); } } ?>
  6. Wiem o co chodzi mniej więcej a że nigdy nie bawiłem się w tak rozbudowany system logowania a jest mi niezbędny, to łażę i szukam. Natrafiłem na coś takiego nie wiem czy jest to poprawne: Logowanie wielopoziomowe, tyle o ile nie mam problemu z wkomponowaniem tego kodu do swojego skryptu, to mam problem ze zmienną $wartosc, która musi pobierać z bazy danych z rekordu uprawnienia czy jest 1, 2 lub 3. W którym miejscu mam odpytywać o to bazę?
  7. Pytanie dotyczy tylko sposobu rozróżniania przy logowaniu użytkownika, administratora, moderatora. Teraz skrypt pozwala logować się jedynie użytkownikom posiadającym uprawnienia 1 czyli załóżmy, że jest to Admin. Użytkownicy posiadają uprawnienia NULL zalogować się nie mogą. Proszę o porady Obecnie plik zaloguj.php wygląda tak: <?php if(isset($_SESSION['session_user'])) { header('location: index.php'); } else { echo "<div class='h3'><h3>Logowanie</h3></div><div class='text'> <form action='' method='POST'> <table> <tr> <td>Nazwa użytkownika:</td><td><input type='text' name='user' class='input' /></td> </tr> <tr> <td>Hasło:</td><td><input type='password' name='password' class='input' /></td> </tr> <tr> <td colspan=2><input type='submit' name='zaloguj' value='Zaloguj' /></td> </tr> </table> </form> </div><div class='foot'></div>"; require_once'config_db.php'; if(isset($_POST['zaloguj'])) { $user = $_POST['user']; $password = $_POST['password']; #Sprawdzanie pól formularza if(!$_POST['user'] || !$_POST['password']) { echo "Jedno bądź więcej pól w formularzu jest puste..."; exit; } #Sprawdzanie wprowadzonych danych do usunięcia <----- if(!eregi('^[a-zA-z]+', $user)) { echo "Nazwa użytkownika może zawierać wyłącznie małe i duże litery..."; exit; } elseif(!eregi('^[a-zA-z0-9]+', $password)) { echo "Hasło może zawierać wyłącznie małe i duże litery oraz cyfry..."; exit; } #to jest niepotrzebne <--- bo i tak haslo jest md5 ############### ## LOGOWANIE ## ############### if(isset($_POST['user']) && isset($_POST['password'])) { $mysqlia = "SELECT * FROM user WHERE user='".$user."' AND password='".md5($password)."' AND uprawnienia=1"; $mysqlib = $db->query($mysqlia); if($echo = $mysqlib->fetch_object()) { $id = $echo->id; $_SESSION['session_id'] = $id; $_SESSION['session_user'] = $user; header('location: index.php'); } else { echo "Login lub hasło, jest niepoprawne..."; exit; } $db->close(); } } } ?>
  8. Hehe bo zmieniłem je na if, wszystkie if(is_numeric( $zmienna )) mają teraz if zamiast elseif, gdyż z elseif nie działa.
  9. Uuu... jak wkleję, to nie będzie chciało się wam tego analizować..., przykro mi za spóźnioną odpowiedź ale nie siedzę i się nie modlę o pomoc a sam biorę się za robotę. Ale proszę <?php if(isset($_SESSION['session_user'])) { $userid = intval( $_GET['userid'] ); $artid = intval( $_GET['artid'] ); $editartid = intval( $_GET['editartid'] ); $edituserid = intval( $_GET['edituserid'] ); if($userid < 1 && $artid < 1 && $editartid < 1 && $edituserid < 1) { echo "<div class='h3'><h3>Lista userów</a></h3></div>"; echo "<form action='' method='POST'>"; echo "<table class='text' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td>Użytkownik</td><td>e-mail</td><td>Data rejestracji</td><td>Usuń</td><td>Edycja</td></tr>"; $mysqlia = "SELECT id, user, email, date FROM user ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&userid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a></td>"; echo "<td>".$echo->email."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='delete[]' value='".$echo->id."' /></td> <td><a href='index.php?sid=ustawienia&edituserid=".$echo->id."' title='".$echo->user."'>Edytuj</a></td></tr>"; } echo "<tr><td colspan='5'><input type='submit' value='Usuń' /></td></tr>"; echo "</table>"; echo "</div><div class='foot'></div>"; ######ART echo "<form action='' method='POST'>"; echo "<div class='h3'><h3>Lista artykułów</a></h3></div>"; echo "<div class='text'><form action='' method='POST'>"; echo "<table width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td>Autor</td><td>Tytuł</td><td>Data dodania</td><td>Usuń</td><td>Edycja</td></tr>"; $mysqlia = "SELECT id, title, autor, date FROM code ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&artid=".$echo->id."' title='".$echo->title."'>".$echo->autor."</a></td>"; echo "<td>".$echo->title."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteart[]' value='".$echo->id."' /></td> <td><a href='index.php?sid=ustawienia&editartid=".$echo->id."' title='".$echo->title."'>Edytuj</a></td></tr></tr>"; } echo "<tr><td colspan='5'><input type='submit' value='Usuń' /></td></tr>"; echo "</table></div><div class='foot'></div>"; # USOWANIE ART $delete_art=$_POST['deleteart']; $ilosc=count($delete_art); for($i=0; $i<$ilosc; $i++) { $question = "DELETE FROM code WHERE id='".$delete_art[$i]."'"; $anserwer = $db->query($question); } if($anserwer) { header('location: index.php?sid=ustawienia'); } # USOWANIE USER $delete_id=$_POST['delete']; $ilosc=count($delete_id); for($i=0; $i<$ilosc; $i++) { $question = "DELETE FROM user WHERE id='".$delete_id[$i]."'"; $anserwer = $db->query($question); } if($anserwer) { header('location: index.php?sid=ustawienia'); } } if(is_numeric( $userid )) { $mysqlia = "SELECT id, user, date, email FROM user WHERE id=(".intval($_GET['userid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<div class='h3'><h3>".$echo->user."</a></h3></div>"; echo "<div class='text'>Użytkownik: ".$echo->user."<br />mail: ".$echo->email."<br />".$human_date = date("Y-m-d H:i:s", $echo->date)."</div>"; echo "</div><div class='foot'></div>"; } } if( is_numeric( $artid )) { $mysqlia = "SELECT id, autor, title, text, date FROM code WHERE id=(".intval($_GET['artid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<div class='h3'><h3>".$echo->title."</h3></div>"."<div class='date'>Autor: ".$echo->autor.", data publikacji: ".$human_date = date("Y-m-d H:i:s", $echo->date)."</div><div class='text'>".nl2br($echo->text)."</div><div class='foot'></div>"; } } ### EDYCJA TEMATU if( is_numeric( $editartid )) { $mysqlia = "SELECT id, title, text FROM code WHERE id=(".intval($_GET['editartid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<div class='h3'><h3>Edycja artykułu</h3></div><div class='text'>"; echo "<form action='user/post_update.php' method='POST'> <table> <tr> <td width='11%'>Tytuł artykułu:</td><td><input type='text' name='title' class='input' value='".$echo->title."'></input></td> </tr> <tr> <td colspan='2'><textarea name='text' class='textarea'>".$echo->text."</textarea></td> </tr> <tr> <input type='hidden' value='".$echo->id."' name='id'/> <td colspan=2><input type='submit' name='aktualizuj' value='Aktualizuj' /></td> </tr> </table> </form>"; echo "</table></div><div class='foot'></div>"; } } ### EDYCJA USERA if( is_numeric( $edituserid )) { $mysqlia = "SELECT id, user, email, uprawnienia FROM user WHERE id=(".intval($_GET['edituserid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<div class='h3'><h3>Edycja użytkownika</h3></div><div class='text'>"; echo "<form action='user/user_update.php' method='POST'> <table> <tr> <td>Pseudonim: </td><td><input type='text' name='user' class='input' value='".$echo->user."'></input></td> </tr> <tr> <td>Stare hasło:</td><td><input type='oldpassword' name='oldpassword' class='input' /></td> </tr> <tr> <td>Nowe hasło:</td><td><input type='password' name='password' class='input' /></td> </tr> <tr> <td>Adres email: </td><td><input type='text' name='email' class='input' value='".$echo->email."' /></td> </tr> <tr> <td>Uprawnienia: </td><td><input type='text' name='uprawnienia' class='input' value='".$echo->uprawnienia."' /></td> </tr> <tr> <input type='hidden' value='".$echo->id."' name='id'/> <td colspan=2><input type='submit' name='aktualizuj' value='Aktualizuj' /></td> </tr> </table> </form>"; echo "</table></div><div class='foot'></div>"; } } } #SESSION else { header('location: index.php'); } ?>
  10. Kolejne z pytań niekończącej się opowieści PHP. Jak przekazać zmienną id z pliku default.php do pliku post_update.php wykonującego np zapytanie - aktualizującego rekord. $mysqlia = "SELECT id, autor, title, text, date FROM code WHERE id=(".intval($_GET['editartid']).")"; $mysqlib = $db->query($mysqlia); Czyli jak w powyższym przykładzie interesuje mnie id z SELECT by plik post_update.php wiedział jaki rekord ma zaktualizować :| @EDIT: Jedna opcja to przekazywanie zmiennej id w polu hiden działa ślicznie czy są jakieś jeszcze inne możliwości?
  11. U mnie niestety nie, drugi elseif jakby nie istniał a kod sprawdzałem ze 100x, gdy zastosuję 3x if, to działa perfekcyjnie.
  12. Jak to jest z kolejnością warunków? Mam dwie zmienne w if, jeżeli są puste czyli false, to wyświetla zawartość if, jeżeli któraś jest, czyli true, to powinien się wykonywać odpowiedni warunek dla odpowiedniej zmiennej a tak nie jest ... pierwszy elseif wykonuje się prawidłowo, drugi zaś jakby nie istniał i nie spełnia swojej roli gdy zmienna $2 jest true, zamiast tego warunek elseif dla zmiennej $1 próbuje wykonać to zapytanie za elseif $2 ... if($1 && $2) {} elseif($1) {} elseif($2) {} @ok chyba poradziłem sobie, zrobiłem 3 ify i działa wyśmienicie ale czy poprawne to jest?
  13. $fid = intval( $_GET['fid'] ); $uid = intval( $_GET['uid'] ); if( ! isset( $fid ) && isset( $uid ) || $fid < 1 && $uid < 1) text <-----TESXT { } elseif( is_numeric( $fid ) ) { text2 } } elseif( is_numeric( $uid ) ) { text3 } } Coś na tym przykładzie :|, jeżeli istnieje zmienna $fid i $uid lub są one mniejsze bądź równe 1, wyświetla klamrach text. Jeżeli którakolwiek ze zmiennych wynosi true, to kieruje zapytanie do odpowiedniego elseif $fid lub $uid i wyświetla albo text2 albo text3 i wyświetla zawartość, to co skleciłem nie działa @EDIT: Działa ale nie reaguje na zmienną $uid nie wczytuje a widzę, że id zostało przekazane do paska adresu i zmiennej $uid
  14. if( ! isset( $fid ) || $fid < 1) { } No jak dodać do tego zapytania $uid jeszcze, by wyświetlał zarówno $fid jak i $uid w jednym ifie...
  15. Dobrze kombinujesz ale chodzi o to by między kropkami były dwie zmienne, wyświetlam tam zarówno zapytanie z bazy dot: listy userów, jak tematów. Tytuł usera jest linkiem i tytuł tematu jest linkiem przy czym pierwszy posiada zmienną $fid a drugi $uid dlatego ten parametr poniżej musi wykonywać akcje dla jednego i drugiego a nie tylko dla $fid ponieważ oba znajdują się w zapytaniu if ale tylko dla jednej zmiennej <?php if(isset($_SESSION['session_user'])) { require_once('config_db.php'); $fid = {int) $_GET['fid']; $uid = {int) $_GET['uid']; if( isset($fid) && !empty($fid) && $fid > 1) {<...........................> } Komentarze w kodzie: if(isset($_SESSION['session_user'])) { require_once('config_db.php'); $fid = {int) $_GET['fid']; $uid = {int) $_GET['uid']; ######################################################################### TEN IF MUSI UWZGLĘDNIAĆ OBIE ZMIENNE ZARÓWNO GDY AKCJA NIE JEST WYKONYWANA DLA $fid i dla $uid jak widać uwzględnia tylko $fid ######################################################################### if( isset($fid) && !empty($fid) && $fid > 1) { ######################################################################### WCZYTUJE NEWS.php ######################################################################### switch ($_GET['said']) { case "news": include'news.php'; break; } ######################################################################### WYŚWIETLA LISTE USERÓW w linku jest zmienna $fuid ######################################################################### echo "<form action='' method='POST'>"; echo "<table class='list' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td class='tdborderl'>Autor</td><td class='tdborderc'>Tytuł</td><td class='tdborderr'>Data dodania</td><td class='tdborderr'>Usuń</td></tr>"; $mysqlia = "SELECT id, title, autor, date FROM code ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&uid=".$echo->uid."' title='".$echo->title."'>".$echo->autor."</a></td>"; echo "<td>".$echo->title."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteus[]' value='".$echo->id."' /></td></tr>"; } echo "<tr><td colspan='4'><input type='submit' value='Usuń' /></td></tr>"; echo "</table><br />"; ######################################################################### WYŚWIETLA LISTE USERÓW w linku jest zmienna $fid ######################################################################### echo "<form action='' method='POST'>"; echo "<table class='list' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td class='tdborderl'>Użytkownik</td><td class='tdborderc'>e-mail</td><td class='tdborderr'>Data rejestracji</td><td class='tdborderr'>Usuń</td></tr>"; $mysqlia = "SELECT id, user, email, date FROM user ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a></td>"; echo "<td>".$echo->email."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteus[]' value='".$echo->id."' /></td></tr>"; } echo "<tr><td colspan='4'><input type='submit' value='Usuń' /></td></tr>"; echo "</table>"; $delete_id=$_POST['deleteus']; $ilosc=count($delete_id); for($i=0; $i<$ilosc; $i++) { $question = "DELETE FROM user WHERE id='".$delete_id[$i]."'"; $anserwer = $db->query($question); } if($anserwer) { header('location: index.php?sid=ustawienia'); } ######################################################################### ######################################################################### } ######################################################################### TERAZ TEN PARAMETR WYKONUJE ZAPYTANIE WYŁĄCZNIE DLA $fid ######################################################################### elseif( is_numeric( $fid ) ) { $mysqlia = "SELECT id, user, date, email FROM user WHERE id=(".intval($_GET['fid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "Użytkownik: ".$echo->user."<br />mail: ".$echo->email."<br />".$human_date = date("Y-m-d H:i:s", $echo->date)."<br /><hr></hr><a href='javascript:history.back();'><< Wstecz</a>"; } } i Chyba wiem jak wytłumaczyć już jak krowie na granicy: Jestem programem : Wyświetlam oba zapytania do bazy danych: Wyświetlam listę userów, Wyświetlam liste tematów: W obu przypadkach zmienna $fid i $uid jest false. Następuje akcja (identyfikacja zmiennej czy został parametr przekazany $fid czy $uid) wykonywanie zapytania do bazy danych dla &fid lub $uid: Wyświetlam odpowiednie dane.
  16. Dla jednego odnośnika zrób zmienną fid (co już masz), a dla drugiego, no nie wiem, uid? A teraz wkomponuj mi to w kod, wczoraj próbowałem robić tak jak potrafię i danych mi nie wczytywało po kliknięciu: $fid = intval( $_GET['fid'] ); if( ! isset( $fid ) || $fid < 1) { Dodawanie każdego takiego parametru mija się z celem poniżej kod: $fid = intval( $_GET['fid'] ); $uid = intval( $_GET['uid'] ); I wkomponowywanie kolejnych kodów, najlepiej jakby robił to jeden parametr ale rozróżniał czy fid czy uid. Pisałem newsa na www trochę zajęło
  17. A jakiś przykład? bo tak trudno jest się mi za to zabrać, dlatego pytam na forum.
  18. Wrrr... $fid = intval( $_GET['fid'] ); if( ! isset( $fid ) || $fid < 1 ) { switch ($_GET['said']) { case "news": include'news.php'; break; } echo "<form action='' method='POST'>"; echo "<table class='list' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td class='tdborderl'>Użytkownik</td><td class='tdborderc'>e-mail</td><td class='tdborderr'>Data rejestracji</td><td class='tdborderr'>Usuń</td></tr>"; $mysqlia = "SELECT id, user, email, date FROM user ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a></td>"; echo "<td>".$echo->email."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteus[]' value='".$echo->id."' /></td></tr>"; } elseif( is_numeric( $fid ) ) { $mysqlia = "SELECT id, user, date, email FROM user WHERE id=(".intval($_GET['fid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "Użytkownik: ".$echo->user."<br />mail: ".$echo->email."<br />".$human_date = date("Y-m-d H:i:s", $echo->date)."<br /><hr></hr><a href='javascript:history.back();'><< Wstecz</a>"; } } Czy muszę tłumaczyć co tu się dzieje? wyświetlam listę użytkowników, każdy nick użytkownika jest odnośnikiem klikam w niego i zostaje wykonana akcja bo parametr fid jest większy bądź równy 1 i wyświetla mi dane użytkownika Czy to jest zrozumiałe? A teraz dodałem sobie SWITCH ale to pikuś mało istotny wczytuję on news.php do pliku ustawienia.php ok cacy mało istotne, ważne jest to że news odpowiada za wyświetlanie tematów a nie userów. <?php echo "<form action='' method='POST'>"; echo "<table class='list' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td class='tdborderl'>Autor</td><td class='tdborderc'>Tytuł</td><td class='tdborderr'>Data dodania</td><td class='tdborderr'>Usuń</td></tr>"; $mysqlia = "SELECT id, title, autor, date FROM code ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&said=news&faid=".$echo->id."' title='".$echo->title."'>".$echo->autor."</a></td>"; echo "<td>".$echo->title."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteus[]' value='".$echo->id."' /></td></tr>"; } echo "<tr><td colspan='4'><input type='submit' value='Usuń' /></td></tr>"; echo "</table><br />"; ?> Powyższy kod: Wyświetla listę tematów super! ale co jeżeli chcę przeglądać dany temat i tak samo jak w przypadku userów do tytułu przypiszę odnośnik? elseif( is_numeric( $fid ) ) { $mysqlia = "SELECT id, user, date, email FROM user WHERE id=(".intval($_GET['fid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "Użytkownik: ".$echo->user."<br />mail: ".$echo->email."<br />".$human_date = date("Y-m-d H:i:s", $echo->date)."<br /><hr></hr><a href='javascript:history.back();'><< Wstecz</a>"; } Powyższy kod: << To zapytanie wykona akcje dla tej aukcji >> czyli userów >> poniższy kod: <a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a> Ale nie może wykonać akcji dla >> poniżej <a href='index.php?sid=ustawienia&said=news&faid=".$echo->id."' title='".$echo->title."'>".$echo->autor."</a> Bo niby jak skoro >> poniżej elseif( is_numeric( $fid ) ) { $mysqlia = "SELECT id, user, date, email FROM user WHERE id=(".intval($_GET['fid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "Użytkownik: ".$echo->user."<br />mail: ".$echo->email."<br />".$human_date = date("Y-m-d H:i:s", $echo->date)."<br /><hr></hr><a href='javascript:history.back();'><< Wstecz</a>"; } WYKONUJE TYLKO ZAPYTANIE DLA USERÓW A NIE DLA TEMATÓW. Nie dodam tam drugiego zapytania dla tematów bo jak by to miało rozróżniać czy id tyczy się tego czy tego skoro zmienna fid jest dla obydwu odnośników.
  19. Tu jest pies pogrzebany, jak to wytłumaczyć by mnie zrozumiano. ustawienia.php $fid = intval( $_GET['fid'] ); if( ! isset( $fid ) || $fid < 1 ) { <a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a> } elseif( is_numeric( $fid ) ) { A tu zaptanie do sql dla powyższego linka } Wiadomo o co biega i jak działa. Dobrze teraz załóżmy dodaj SWITCH $fid = intval( $_GET['fid'] ); if( ! isset( $fid ) || $fid < 1 ) { switch ($_GET['said']) { case "news": include'news.php'; break; } <a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a> } elseif( is_numeric( $fid ) ) { A tu zaptanie do sql dla powyższego linka } SWITCH wczytuje: news.php <?php <a href='index.php?sid=ustawienia&said=news&faid=".$echo->id."' title='".$echo->title."'>".$echo->autor."</a> ?> Dla przykładu oczywiście, no i w nim również znajduję się link zapisujący id np, tematu do zmiennej. Ale jak widać w ustawienia.php, to elseif( is_numeric( $fid ) ) może wykonać zapytanie tylko dla jednego odnośnika. Przecież jeden ma wyświetlić dokładniejsze dane o userach a drugi o tematach. Nie mogę mieć dwóch odnośników do jednej tabeli bo poco mam wyświetlać dane usera dla danych tematu , ma być oddzielne zapytanie dla userów a oddzielne dla tematów problem w tym jak ma fid to rozróżniać?
  20. Witam :)komentarze w kodzie. $fid = intval( $_GET['fid'] ); if( ! isset( $fid ) || $fid < 1 ) { DODATKOWO +SWITCH, WCZYTANA DODATKOWA ZAWARTOŚĆ BEZ PRZEŁADOWANIA STRONY JEDNAK JEŻELI DODATKOWO MA BYĆ WYKONANA AKCJA NP EDYTOWANIA NEWSÓW, TO NIE MOGĘ UŻYĆ PONIŻSZEGO KODU, GDYŻ ON WYKONUJE POLECENIE NP DLA UŻYTKOWNIKÓW A NIE DLA NEWSÓW <a href='index.php?sid=ustawienia&said=news&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a> switch ($_GET['said']) { case "news": include'news.php'; break; } TU TEKST JEŻELI FID NIE JEST WYKONYWANY <a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a> PO KLIKNIĘCIU WYKONUJE AKCJE PONIŻEJ } elseif( is_numeric( $fid ) ) { A TU IST WYKONYWANA INSTRUKCJA, JEŻELI FID JEST! } Co zrobić by elseif( is_numeric( $fid rozróżniał dwa typy odnośników i wykonał prawidłowe zapytanie dla jednego polecenia a drugie dla drugiego po kliknięciu. A tak wygląda cały kod: <?php if(isset($_SESSION['session_user'])) { require_once'config_db.php'; $fid = intval( $_GET['fid'] ); if( ! isset( $fid ) || $fid < 1 ) { switch ($_GET['said']) { case "news": include'news.php'; break; } echo "<form action='' method='POST'>"; echo "<table class='list' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td class='tdborderl'>Użytkownik</td><td class='tdborderc'>e-mail</td><td class='tdborderr'>Data rejestracji</td><td class='tdborderr'>Usuń</td></tr>"; $mysqlia = "SELECT id, user, email, date FROM user ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&fid=".$echo->id."' title='".$echo->user."'>".$echo->user."</a></td>"; echo "<td>".$echo->email."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteus[]' value='".$echo->id."' /></td></tr>"; } echo "<tr><td colspan='4'><input type='submit' value='Usuń' /></td></tr>"; echo "</table>"; $delete_id=$_POST['deleteus']; $ilosc=count($delete_id); for($i=0; $i<$ilosc; $i++) { $question = "DELETE FROM user WHERE id='".$delete_id[$i]."'"; $anserwer = $db->query($question); } if($anserwer) { header('location: index.php?sid=ustawienia'); } } elseif( is_numeric( $fid ) ) { $mysqlia = "SELECT id, user, date, email FROM user WHERE id=(".intval($_GET['fid']).")"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "Użytkownik: ".$echo->user."<br />mail: ".$echo->email."<br />".$human_date = date("Y-m-d H:i:s", $echo->date)."<br /><hr></hr><a href='javascript:history.back();'><< Wstecz</a>"; } } else{echo "BŁĄD";} } else { header('location: index.php'); } ?> @EDIT: A to plik news.php <?php echo "<form action='' method='POST'>"; echo "<table class='list' width='100%' cellpadding='10' cellspacing='0'>"; echo "<tr><td class='tdborderl'>Autor</td><td class='tdborderc'>Tytuł</td><td class='tdborderr'>Data dodania</td><td class='tdborderr'>Usuń</td></tr>"; $mysqlia = "SELECT id, title, autor, date FROM code ORDER BY ID DESC"; $mysqlib = $db->query($mysqlia); while($echo = $mysqlib->fetch_object()) { echo "<tr><td><a href='index.php?sid=ustawienia&said=news&fid=".$echo->id."' title='".$echo->title."'>".$echo->autor."</a></td>"; echo "<td>".$echo->title."</td>"; echo "<td>".$human_date = date("Y-m-d H:i:s", $echo->date)."</td>"; echo "<td><input type='checkbox' name='deleteus[]' value='".$echo->id."' /></td></tr>"; } echo "<tr><td colspan='4'><input type='submit' value='Usuń' /></td></tr>"; echo "</table><br />"; ?> Jak widać również zawiera polecenie przekazania parametru, by fid go wykonał, jednak fid wykonuje to tylko dla userów a nie dla newsów. Co zrobić jak poniżej: Chciałbym, już najprościej mówiąc aby z fid korzystało nawet kilkanaście akcji i aby odróżniał je od siebie i przekazywał do odpowiedniego elseif z wykonaniem zapytania.
  21. Szczerze mówiąc, to wcale mi to nie pomogło, ale dzięki, poza tym udało się rozwiązać ten problem: $human_date = date("Y-m-d H:i:s", $zmienna_daty bądź na sztywno kod Unix); Mam jeszcze jedno pytanie i temat będzie można zamknąć, w jakiej konkretnie tabeli przechowywany jest Regulamin forum? Pozdrawiam
  22. Czytałem o nich, kolejna dżungla po pewnym czasie rozwiążę ten problem, a teraz pytanie z innej bajki w bazie danych w tabeli posts jest post_date, przez jaką funkcję trzeba przepuścić ten wynik, gdyż wyświetla się w sposób taki: 1252258942 raczej mało kto załapie, że to data.
  23. Sprawdzę, to dokładnie jak postawię forum na serwerze, na localhost mam problemy z funkcją $this, Public itp. Kod w którym jest IPB nie jest w wersji jakiej ja używam na stronie. Pozmieniałem trochę w poprzednim parse bbcode <?php //bbcode parse function parsebbcode($text) { $array=array( //Standardowe tagi '[b]' => '<b>', '[/b]' => '</b>', '[i]' => '<i>', '[/i]' => '</i>', '[u]' => '<u>', '[/u]' => '</u>', ' [center]' => '<center>', '[/center] ' => '</center>', '[big]' => '<h1>', '[/big]' => '</h1>', '[nl]' => '<br>', //Wszystkie [] zostaly zmienione na <> '[' => '<', ']' => '>', '"' => '"', ''' => "'" , //Jak zrobic kolor... '<color=(.+?)>' => '<p syle="color: \1px">', '</color>' => '</p>', //Akapit '<indent>' => '<p style="margin: 50px; margin-top: 0px; margin-bottom: 0px;">', '</indent>' => '</p>', //Stopka artykułu '<info>' => '<p style="margin: 50px; margin-top: 0px; margin-bottom: 0px;">', '</info>' => '</p>', //Lista '<list=1>' => '<ul>', '</list>' => '</ul>', '<*>' => '<li>', ); $newtext = str_replace(array_keys($array), array_values($array), $text); return $newtext; } ?> Znaki " oraz ' w artykułach są w kodowaniu ampersand, zauważyłem to w podglądzie źródła i w pliku han_parse_bbcode.php. Nadal nie mogę zrobić tagu, który odpowiada za kolor, czcionkę i wielkość. Pozamieniałem więc wszystkie znaki [] na <> wartością '[' => '<', ']' => '>' i wszystkie '"' => '"', ''' => "'" , dzięki czemu nie ma już widocznego kodowania w artykułach, jednak chciałbym zrobić chociażby ten tag koloru a wtedy z resztą już dalej na przykładzie bym sobie poradził. Znasz Dawi na, to może jakiś sposób?
  24. A w jaki sposób dopisać to do skryptu, który podałem w pierwszym poście? gdyż, to co podałeś nie mówi mi przez co mam przepuścić kod. Czy kod parsujący znajduję się w bazie danych? jeżeli tak to wystarczyło by skonstruować skrypt oparty o zawarte tam parametry, czy się mylę? Oraz pytanie w skrypcie w pierwszym poście zastanawiam się w jaki sposób skonstruować tag, koloru, który jest w cudzysłowach.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.