-
Postów
133 -
Dołączył
-
Ostatnia wizyta
O Bellum
- Urodziny 06.05.1987
Informacje o forum
-
Wersja
IP.Board 3.1.4
-
Forum
www.gryf144.com/forum
Kontakt
-
Gadu Gadu
6340244
Informacje o profilu
-
Miejscowość
ta Pewność?
Osiągnięcia Bellum
-
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.
-
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.......?
-
ROZWIĄZANY: [PHP]Logowanie wielopoziomowe
Bellum odpowiedział(a) na Bellum temat w Web & Hosting & Grafika
Już sobie poradziłem i działa tak jak sobie tego życzyłem Tak wiem o eregi . Temat można zamknąć. -
ROZWIĄZANY: [PHP]Logowanie wielopoziomowe
Bellum odpowiedział(a) na Bellum temat w Web & Hosting & Grafika
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(); } } ?> -
ROZWIĄZANY: [PHP]Logowanie wielopoziomowe
Bellum odpowiedział(a) na Bellum temat w Web & Hosting & Grafika
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(); } } ?> -
ROZWIĄZANY: [PHP]Logowanie wielopoziomowe
Bellum odpowiedział(a) na Bellum temat w Web & Hosting & Grafika
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ę? -
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(); } } } ?>
-
Hehe bo zmieniłem je na if, wszystkie if(is_numeric( $zmienna )) mają teraz if zamiast elseif, gdyż z elseif nie działa.
-
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'); } ?>
-
[PHP]Przekazywanie zmiennej id między stronami
Bellum odpowiedział(a) na Bellum temat w Web & Hosting & Grafika
Oczywiście formularz metoda POST. -
[PHP]Przekazywanie zmiennej id między stronami
Bellum opublikował(a) temat w Web & Hosting & Grafika
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? -
U mnie niestety nie, drugi elseif jakby nie istniał a kod sprawdzałem ze 100x, gdy zastosuję 3x if, to działa perfekcyjnie.
-
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?
-
$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
-
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...