warum schreiben wir nicht einfach
Dann ist jeder zufrieden!Code:if($variable=="")
@mods: ich glaube, das hier kann geclosed werden.
Druckbare Version
warum schreiben wir nicht einfach
Dann ist jeder zufrieden!Code:if($variable=="")
@mods: ich glaube, das hier kann geclosed werden.
Jup! Mein Fehler! Ich meinte mit meinem Vergleich nur den Einsatz in obigem Beispiel, bei welchem empty() code bei der deklarierung sparen kann oder aber Fehler vermeidet (bei fehlender deklaration), wenn direkt über POST übergeben werden sollte.
Ich würde gerne auch so ein Login-Script erstellen, habe auch eine Anleitung gefunden, aber bei mir erscheint immer ein MySQL-Error.
Habe ich HIER schonmal gepostet, kann mir da einer helfen? Oder mir einen Script sagen, mit dem es auf Funpic funktioniert? Ich bin relativ sicher dass es an Funpic liegt.
mfg Ind3X
ähm. sollte das bei der page so sein das man sich ohne username und ohne pw einlogen kann? lol.
also hier mal ein login script mit sql und sessions:
login.php
Code:<center>
<form action="./check.php" method="post">
<table border="0">
<tr>
<td>Username:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login" value="login"></td>
</tr>
</table>
</form>
</center>
check.php
Code:<?php
session_start();
if($_POST['login'] && isset($_POST['password']) && $_POST['password']!="" && isset($_POST['username']) && $_POST['username']!="")
{
include'./config.php';
$pass=$_POST['password'];
$pass=md5($pass);
$user= $_POST['username'];
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db) OR die(mysql_error());
$sql = "SELECT ID,rechte,aktiv,user,pass FROM `users` WHERE `user`='$user'";
$result = mysql_query($sql) OR die(mysql_error());
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
$id= $row['ID']."";
$username= $row['user']."";
$password= $row['pass']."";
$rechte= $row['rechte']."";
$aktiv= $row['aktiv']."";
if($pass== $password && $user==$username && $aktiv=="1" && $pass!="" && $user!="")
{
$time=time();
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db) OR die(mysql_error());
$query="UPDATE `users` SET lastlogin = '$time' WHERE `id`='$id'";
mysql_query($query);
mysql_close();
$remote=$_SERVER['REMOTE_ADDR'];
$ip=$remote;
$daten="$username|$password|$ip";
$sid=md5($daten);
$_SESSION['sidses']=$sid;
$_SESSION['uidses']=$id;
$_SESSION['authses']=$rechte;
header("Location: ./index.php?site=home&mode=1&sid=$sid&uid=$id&auth=$rechte");
exit;
}
}
}
}
sleep(2);
header("Location: ./index.php?site=home");
exit;
?>
index.php
Code:<?php
if(isset($_GET['site']))
{
$site=$_GET['site'];
}
else
{
$site="home";
}
if(isset($_GET['auth']))
{
$auth=$_GET['auth'];
}
else
{
$auth="";
}
if(isset($_GET['uid']))
{
$uid=$_GET['uid'];
}
else
{
$uid="";
}
if($sid!="" && $auth!="" && $uid!="")
{
if(isset($_SESSION['sidses']))
{
$sidses=$_SESSION['sidses'];
}
if(isset($_SESSION['authses']))
{
$authses=$_SESSION['authses'];
}
if(isset($_SESSION['uidses']))
{
$uidses=$_SESSION['uidses'];
}
}
if(!isset($sidses))
{
$sidses="";
}
if(!isset($authses))
{
$authses="";
}
if(!isset($uidses))
{
$uidses="";
}
$code="sid=$sid&uid=$uid&auth=$auth";
if($sid== "" or $sid!=$sidses or $auth=="" or $auth!=$authses or $uid=="" or $uid!=$uidses)
{
session_destroy();
}
if($sid== "" or $sid!=$sidses or $auth=="" or $auth!=$authses or $uid=="" or $uid!=$uidses)
{
echo'<span style="color:#C0C0C0">login</span>';
}
else
{
echo'logout | ';
if($auth=="1")
{
echo'Benutzerverwaltung ';
}
}
?>
das alles funzt net so ganz... wegen demaufbau der seiten ... weil in der index.php die richtigen seiten net includiert werden. grad... aber das gundprinzip funzt.
Hm ok, ich habe den Fehler beseitigt, (als Server einfach localhost angegeben anstatt die URL) Aber jetzt kommt ein anderer Error:
usernae und Passwort stimmen zu 100%, daran kann es nicht liegen.Code:Access denied for user 'skriptkiddie_01'@'%' to database 'users'
jmd. ne Idee?
mfg Ind3X
Schau mal, dass du in der SQL-Verwaltung dem User auch die Rechte gibst, dass er die DB auslesen darf.