Wyświetlanie Rangi
ELOS
09.09.2011
Witam robię taki jeden bajer do mojej stronki i teraz mam problem otóż chce zrobić żeby nam wyświetlało nasza range np użytkownik bądź administrator niby mam dobrze ale mi nie działa.
<?php
session_start();
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="sklep.png">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Cs-Bezlitosni" />
<meta name="keywords" content="Cs-Bezlitosni" />
<meta name="author" content="[AvP] ELOS" />
<title>Cs-Bezlitosni - Panele</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<div id="wrapper">
<div id="header1">
<span style="position: absolute; top: 20px; left: 10px; color: #FFFFFF;">Witamy w Panelu Unbanera oraz Senior Admina</span><br><br><br>
<div id="header">
</div>
<div id="pasek">
</div>
<?php
if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
{
$ranga = $_SESSION['ranga'];
$nick = $_SESSION['login'];
echo "<div id='nick'>Twoj login to: $nick Twoja ranga to: $ranga</div>";
}
else
{
echo '<span style="color:red;text-align:center;"><center>Nie jestes zalogowany</center></span><br>';
}
?>
</div>
</div>
<div id="menu">
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<?php
// informacje na temat bazy
$host = 'localhost';
$user = '...........';
$password = '.........';
$dbName = .........';
// polaczenie i wybór bazy danych
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
$db = mysql_select_db($dbName, $polacz) or die(mysql_error());
/* zapytanie do konkretnej tabeli */
$wynik = mysql_query("SELECT * FROM news")
or die('Błąd zapytania');
/*
wyświetlamy wyniki, sprawdzamy,
czy zapytanie zwróciło wartość większą od 0
*/
if(mysql_num_rows($wynik) > 0) {
/* jeżeli wynik jest pozytywny, to wyświetlamy dane */
while($r = mysql_fetch_assoc($wynik)) {
echo '<table style="border: 3mm ridge yellow" bgcolor="red" cellpadding="10">';
echo "<tr>";
echo "<td>".$r['tytul']."</td></tr></table>";
echo '<table style="border: 3mm ridge red" bgcolor="yellow" cellpadding="10">';
echo "<tr><td>".$r['news']."</td>";
echo "</tr>";
echo "</table>";
}
}
?>
</div>
Leihto
09.09.2011
Przy logowaniu zapisujesz w cookies jaką range ma dana osoba?
Wg mnie jest to zły pomysł
Gdy osoba będzie miała zapisane w cookies że ma admina, a ty mu go odbierzesz, to dalej będzie mógł wejść do panelu administracyjnego..
Zapisz w bazie nr rangi (np. 1, 2 itp) a później przy logowaniu sprawdź za pomocą php czy ta osoba ma admina czy nie:
Wg mnie jest to zły pomysł
Gdy osoba będzie miała zapisane w cookies że ma admina, a ty mu go odbierzesz, to dalej będzie mógł wejść do panelu administracyjnego..
Zapisz w bazie nr rangi (np. 1, 2 itp) a później przy logowaniu sprawdź za pomocą php czy ta osoba ma admina czy nie:
// Wyciągasz dane z bazy
$ranga = $row['uprawnienia'];
if($ranga == 1) // W założeniu że 1 to administrator
{
// Treść strony
}
else
{
// Jeśli gość nie jest adminem
}
Ja polecam właśnie tak
ELOS
09.09.2011
Nie rozumiem za bardzo a nie da się po prostu wczytać bezpośrednio jaką koleś ma range ?
0 - uzytkownik
1 - senior admin
2 - administrator
Jak byś mógł skontaktuj się ze mną na gg 10221853 lub w tym temacie wytłumacz bardziej.
Zrobiłem coś takiego.
Moje login.php
0 - uzytkownik
1 - senior admin
2 - administrator
Jak byś mógł skontaktuj się ze mną na gg 10221853 lub w tym temacie wytłumacz bardziej.
Zrobiłem coś takiego.
<?php
// informacje na temat bazy
$host = 'localhost';
$user = 'xxxxxxx;
$password = 'xxxxxx';
$dbName = 'xxxxxxl';
// polaczenie i wybór bazy danych
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
$db = mysql_select_db($dbName, $polacz) or die(mysql_error());
$wynik = mysql_query("SELECT * FROM user")
or die('Błąd zapytania');
$ranga = $row['uprawnienia'];
if($ranga == 2)
{
echo "Twoja ranga to: Administrator";
}
else
{
echo "Twoja ranga to: Uzytkownik";
}
?>
I cały czas wyskakuje mi że jestem użytkownikiem mimo ze mam ranga == 2Moje login.php
<?php
session_start();
if (isset($_POST['konto']) and isset($_POST['password']) )
{
require('conn.php');
$konto=mysql_real_escape_string(trim($_POST['konto']));
$password=mysql_real_escape_string(trim($_POST['password']));
if ($konto!="" and $password!="")
{
$password = sha1($password);
$zapytanie="SELECT id FROM user WHERE login='$konto' and password ='$password'";
$zapytanie2="SELECT ranga FROM user WHERE login='$konto' and password ='$password'";
$temp=mysql_query($zapytanie) or die("Wystąpił błąd");
$temp2=mysql_query($zapytanie2) or die("Wystąpił błąd");
$ile=mysql_num_rows($temp);
$temp=mysql_fetch_array($temp);
$id=$temp['id'];
$ranga=$temp2['ranga'];
if ($ile==1)
{
$_SESSION['user_id']=$id;
$_SESSION['login']=$konto;
$_SESSION['uprawnienia']=$ranga;
echo('Zostales zalogowany. ');
}
else echo ('Podales zle dane. Kliknij wstecz aby sprobowac ponownie.');
}
}
else{
?>
<html>
<body>
<form action="login.php" method="post">
<strong>Nazwa konta:</strong><input name="konto" type="text" value="" /><br>
<strong>Haslo:</strong><input name="password" type="password" value="" /><br>
<input type="submit" value="Zaloguj" />
</form>
</body>
</html>
<?php
}?>
Leihto
09.09.2011
Logowanie:
Ja robiłem tak
W twoim kodzie brakuje mi session_start, ob_start oraz $user było nie zamknięte (brakowało ')
Więc twój kod powinien wyglądać tak:
Użytkownik Blak Rajder edytował ten post 09.09.2011 23:02
Spoiler
Ja robiłem tak
W twoim kodzie brakuje mi session_start, ob_start oraz $user było nie zamknięte (brakowało ')
Więc twój kod powinien wyglądać tak:
<?php
/* Te nagłówki muszą być przed doctype!! */
session_start();
ob_start();
$host = 'localhost';
$user = 'xxxxxxx';
$password = 'xxxxxx';
$dbName = 'xxxxxxl';
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
$db = mysql_select_db($dbName, $polacz) or die(mysql_error());
$row = mysql_query("SELECT * FROM `user`")
or die('Błąd zapytania');
$ranga = $row['uprawnienia'];
if($ranga == 2)
{
echo "Twoja ranga to: Administrator";
}
else
{
echo "Twoja ranga to: Uzytkownik";
}
mysql_close($polacz);
?>
Użytkownik Blak Rajder edytował ten post 09.09.2011 23:02
ELOS
10.09.2011
Wyskakuje mi taki błąd mimo że dobrze wpisuje login.
linijka 52-53
Warning: mysql_query() [function.mysql-query]: Access denied for user 'kamil220'@'localhost' (using password: NIE) in /home/kamil220/domains/cs-bezlitosni.eu/public_html/panels/login.php on line 52Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/kamil220/domains/cs-bezlitosni.eu/public_html/panels/login.php on line 52 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/kamil220/domains/cs-bezlitosni.eu/public_html/panels/login.php on line 53 Podany login lub haslo jest b��dne
linijka 52-53
$loguj = mysql_query ("SELECT `login`, `haslo` FROM `users` WHERE `login` = '$login' AND `haslo` = '$haslo'");
if(mysql_num_rows($loguj) == 0)
Leihto
10.09.2011
Hihihi
W moim kodzie nie ma łączenia się do bazy
Dlatego nie działało
Przepraszam, mój błąd 
<?php
session_start();
ob_start();
?>
<! DOCTYPE >
<html>
<head>
<title>Bla bla bla</title>
</head>
<body>
<?php
$host = 'localhost';
$user = 'xxxxxxx';
$password = 'xxxxxx';
$dbName = 'xxxxxxl';
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
mysql_select_db($dbName) or die(mysql_error());
if(isset($_SESSION['zalogowany']))
{
echo 'Jesteś już zalogowany!'.$_SESSION['zalogowany'];
}
else
{
if(empty($_POST["login"]) && empty($_POST["haslo"]))
{
echo '
<form method="post" action="?a=login" enctype="multipart/form-data">
<b>Login:</b><br>
<input type="text" name="login"><br>
<b>Hasło:</b><br>
<input type="password" name="haslo"><br>
<input type="submit" value="Zaloguj"><br><br>
</form>';
}
else
{
if (isset($_POST['login']) && isset($_POST['haslo']))
{
$login = trim($_POST['login']);
$haslo = md5($_POST['haslo']);
$loguj = mysql_query ("SELECT `login`, `haslo` FROM `users` WHERE `login` = '$login' AND `haslo` = '$haslo'");
if(mysql_num_rows($loguj) == 0)
{
echo'<p> Podany login lub haslo jest błędne</p>';
$blad2++;
}
else
{
if(!$blad2)
{
$_SESSION['zalogowany'] = $_POST['login'];
header('location: index.php');
exit;
}
}
}
}
}
mysql_close($polacz);
?>
</body>
</html>
ELOS
10.09.2011
Teraz tu mam błąd
if(mysql_num_rows($loguj) == 0)
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/kamil220/domains/cs-bezlitosni.eu/public_html/panels/login.php on line 43 Podany login lub haslo jest błędne
Gh0st
10.09.2011
Tabela w bazie danych istnieje ? i czy nazwy "kolumn" są takie same , Mówiąc kolumn mam namyśli Hasło / login
Może masz Password / login
Sprawdz.
Użytkownik Gh0st edytował ten post 10.09.2011 18:49
Może masz Password / login
Sprawdz.
Użytkownik Gh0st edytował ten post 10.09.2011 18:49
ELOS
10.09.2011
Zrobiłem już błedu nie ma ale teraz cały czas pokazuje mi że złe hasło lub login.
Użytkownik ELOS edytował ten post 10.09.2011 19:20
<?php
session_start();
ob_start();
?>
<! DOCTYPE >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="sklep.png">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Cs-Bezlitosni" />
<meta name="keywords" content="Cs-Bezlitosni" />
<meta name="author" content="[AvP] ELOS" />
<title>Cs-Bezlitosni - Panele</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
$host = 'localhost';
$user = 'xxxxx';
$password = 'xxxxxx';
$dbName = 'xxxxxx';
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
mysql_select_db($dbName) or die(mysql_error());
if(isset($_SESSION['zalogowany']))
{
echo 'Jesteś już zalogowany!'.$_SESSION['zalogowany'];
}
else
{
if(empty($_POST["login"]) && empty($_POST["haslo"]))
{
echo '
<form method="post" action="?a=login" enctype="multipart/form-data">
<b>Login:</b><br>
<input type="text" name="login"><br>
<b>Hasło:</b><br>
<input type="password" name="haslo"><br>
<input type="submit" value="Zaloguj"><br><br>
</form>';
}
else
{
if (isset($_POST['login']) && isset($_POST['haslo']))
{
$login = trim($_POST['login']);
$haslo = md5($_POST['haslo']);
$loguj = mysql_query ("SELECT `login`, `password` FROM `user` WHERE `login` = '$login' AND `password` = '$haslo'");
if(mysql_num_rows($loguj) == 0)
{
echo'<p> Podany login lub haslo jest błędne</p>';
$blad2++;
}
else
{
if(!$blad2)
{
$_SESSION['zalogowany'] = $_POST['login'];
header('location: index.php');
exit;
}
}
}
}
}
mysql_close($polacz);
?>
</body>
</html>
Użytkownik ELOS edytował ten post 10.09.2011 19:20
Leihto
10.09.2011
Jak podczas rejerstracji kodujesz hasło? sha1 czy md5? W tym skrypcie jest ustawione na md5
ELOS
10.09.2011
dobra zrobiłem z sha1 i działa ale zaś mi teraz piszę tu że nie jestem zalogowany.
<?php
session_start();
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="sklep.png">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Cs-Bezlitosni" />
<meta name="keywords" content="Cs-Bezlitosni" />
<meta name="author" content="[AvP] ELOS" />
<title>Cs-Bezlitosni - Panele</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<div id="wrapper">
<div id="header1">
<span style="position: absolute; top: 20px; left: 10px; color: #FFFFFF;">Witamy w Panelu Unbanera oraz Senior Admina</span><br><br><br>
<div id="header">
</div>
<div id="pasek">
</div>
<?php
if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
{
$nick = $_SESSION['login'];
echo "<div id='nick'>Twoj login to: $nick</div>";
?>
<div id="dodaj">
<span style="position: absolute; top: 20px; left: 10px; color: #FFFFFF;">
<form action="dodaj_start.php" method="post">
Nick Kupca:<br />
<input type="text" name="Kupiec" /><br />
Nick Sprzedawcy:<br />
<?php
if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
{
$nickk = $_SESSION['login'];
echo "<input type='text' name='Sprzedawca' readonly='readonly' value='$nickk'/><br />";
}
?>
<nobr>
Ile wydal kupiec:<br />
<input type="text" name="Wydal" value="0.00 zl"/><br />
Co Kupil:<br />
<input type="text" name="Kupil" /><br />
Email Kupca (jezeli nie podano napisz Brak):<br />
<input type="text" name="Email" value="Brak" /><br />
Kod Zwrotny/Tytul Przelewu:<br />
<input type="text" name="Kod" /><br />
Na jakim serwerze zakupiono:<br />
<input type="radio" name="Serwer" value="CoD Normal Exp" />CoD Normal Exp<br>
<input type="radio" name="Serwer" value="CoD Low Exp" />CoD Low Exp<br>
<input type="radio" name="Serwer" value="Zombie Xp" />ZombieXp<br>
<input type="radio" name="Serwer" value="4FUN + BF2" />4FUN + BF2<br><br>
<input type="submit" value="Wyslij Potwierdzenie" /><br>
<strong>Wpisywanie falszywych danych skonczy sie ukaraniem fakera.</strong>
</form>
</span>
</div>
</nobr>
<?php
}
else
{
echo '<span style="color:red;text-align:center;"><center>Nie jestes zalogowany</center></span><br>';
}
?>
<div id="menu">
</div>
</div>
Leihto
10.09.2011
Zamien:
<?php if (isset($_SESSION['user_id']) and isset($_SESSION['login']))na:
if ($_SESSION['zalogowany'])
ELOS
10.09.2011
Dobra to już działa ale teraz kolejny błąd mieliśmy dojść z tym
Chce aby pokazywało nam co innego gdy mamy ranga == 2
Wykombinowałem coś takiego
<?php
/* Te nagłówki muszą być przed doctype!! */
$host = 'localhost';
$user = 'xxxxxxl';
$password = 'xxxxx';
$dbName = 'xxxxx';
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
$db = mysql_select_db($dbName, $polacz) or die(mysql_error());
$row = mysql_query("SELECT * FROM `user`")
or die('Błąd zapytania');
$ranga = $row['uprawnienia'];
if($ranga == 2)
{
echo "Twoja ranga to: Administrator";
}
else
{
echo "Twoja ranga to: Uzytkownik";
}
mysql_close($polacz);
?>
Chce aby pokazywało nam co innego gdy mamy ranga == 2
Wykombinowałem coś takiego
<?php
/* Te nagłówki muszą być przed doctype!! */
$host = 'localhost';
$user = 'xxxxxxxl';
$password = 'xxxxxxx';
$dbName = 'xxxxxxl';
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
$db = mysql_select_db($dbName, $polacz) or die(mysql_error());
$row = mysql_query("SELECT `ranga` FROM `user` WHERE `login` = '$nick'")
or die('Błąd zapytania');
$ranga = $row['uprawnienia'];
$nick = $_SESSION['zalogowany'];
if($ranga == 2)
{
echo "Twoja ranga to: Administrator";
}
else
{
echo "Twoja ranga to: Uzytkownik";
}
mysql_close($polacz);
?>
No ale pokazuje mi że jestem użytkownikiem mimo że mam ranga == 2
Leihto
10.09.2011
Nie nie nie nie..
Jak może Ci wyciągnąć rangę, jak w $row masz 'uprawnienia'?
Jak może Ci wyciągnąć rangę, jak w $row masz 'uprawnienia'?
<?php
/* Te nagłówki muszą być przed doctype!! */
$host = 'localhost';
$user = 'xxxxxxxl';
$password = 'xxxxxxx';
$dbName = 'xxxxxxl';
$nick = $_SESSION['zalogowany'];
$polacz = mysql_connect($host, $user, $password) or die(mysql_error());
$db = mysql_select_db($dbName, $polacz) or die(mysql_error());
$row = mysql_query("SELECT `ranga` FROM `user` WHERE `login` = '$nick'")
or die('Błąd zapytania');
$ranga = $row['ranga'];
if($ranga == 2)
{
echo "Twoja ranga to: Administrator";
}
else
{
echo "Twoja ranga to: Uzytkownik";
}
mysql_close($polacz);
?>
Gh0st
10.09.2011
Blak Rajder, a nie czasami :
@sory, nie zobaczyłem
Użytkownik Gh0st edytował ten post 10.09.2011 21:49
@sory, nie zobaczyłem
SELECT `ranga`
Użytkownik Gh0st edytował ten post 10.09.2011 21:49
ELOS
11.09.2011
Nadal to samo zamiast administrator piszę użytkownik.
Może to trzeba zmienić format tabeli czy coś takiego bo aktualnie mam
Zdaje mi się albo gdzieś w zapytaniu jest błąd bo zmieniłem trochę warunki i też mi nie działa
Może to trzeba zmienić format tabeli czy coś takiego bo aktualnie mam
letin2_general_ci
Zdaje mi się albo gdzieś w zapytaniu jest błąd bo zmieniłem trochę warunki i też mi nie działa
Gh0st
11.09.2011
Tutaj : http://www.wklej.org/id/592518/
Powinno zadziałać. Sory że nie tutaj ale dziwnie kopiuje mi do znaczników Code potem wyświetla w code np :
xxxx itp ...
Użytkownik Gh0st edytował ten post 11.09.2011 09:12
Powinno zadziałać. Sory że nie tutaj ale dziwnie kopiuje mi do znaczników Code potem wyświetla w code np :
xxxx itp ...
Użytkownik Gh0st edytował ten post 11.09.2011 09:12




