|
You last visited: Today at 08:56
Advertisement
Hilfe Login.php
Discussion on Hilfe Login.php within the Web Development forum part of the Coders Den category.
05/07/2013, 15:55
|
#1
|
elite*gold: 287
Join Date: Dec 2012
Posts: 430
Received Thanks: 57
|
Hilfe Login.php
Hallo. Kann mir da einer vllt. helfen ?
index.php:
Quote:
<!DOCTYPE HTML>
<html>
<head>
<title>goFeeling - Login</title>
<meta name='keywords' content=''>
<meta name='description' content=''>
</head>
<body>
<div id='loginform'>
<form action='login.php' method='post'>
<p>Benutzername: <input type='text' name='user'></p>
<p>Passwort: <input type='password' name='pass'></p>
<input type='submit' name='login' value='Login'> <input type='reset' name='reset' value='Reset'>
</form>
</div>
</body>
</html>
|
Login.php:
Quote:
<?php
$benutzer = $_POST['user'];
$benutzer = $_POST['pass'];
$loginbutton = $_POST['login'];
if ($loginbutton)
{
if ($benutzer AND $passwort)
{
//connect to db
$connect = mysql_connect("localhost","Geheim","Geheim");
mysql_select_db("Geheim");
$query = mysql_query("SELECT * FROM accounts WHERE benutzer='$benutzer'");
$num = mysql_num_rows($query);
if ($num==0)
{
WHILE ($row = mysql_fetch_assoc($query))
{
$dbbbenutzer= $row['benutzer'];
$dbpasswort= $row ['passwort'];
}
if ($dbbenutzer==$benutzer AND $dbpasswort==$paswort)
{
echo "Login erfolgreich!";
}
else
echo "Ihre Daten wurden nicht gefunden";
}
else
echo "Der angegebende Benutzer existiert nicht!";
}
else
echo "Bitte fuellen sie alle Felder aus!;
}
?>
|
Immer wenn ich mich dann einloggen will (trollgsm.de.gp) kommt diese Meldung: Parse error : syntax error, unexpected $ end, erwartet T_VARIABLE oder T_DOLLAR_OPEN_CURLY_BRACES oder T_CURLY_OPEN in / data/multiserv/users/1107589/projects/2474948/www/login.php on line 47
Ihh weiß aber nicht was da falsch sein soll. Weil ?> muss doch zum Schluss.
|
|
|
05/07/2013, 15:58
|
#2
|
elite*gold: 0
Join Date: Jul 2009
Posts: 3,357
Received Thanks: 705
|
else
echo "Bitte fuellen sie alle Felder aus!;
}
Hast du nach dem else eine "{" vergessen. Dennoch finde ich dort mehrere Fehler, berichtige das mal. Dann zur abfrage ob der Button geklickt wurde, dort benutzt man $_isset...
Und dann gibts da mehrere fehlende "{"...
|
|
|
05/07/2013, 16:05
|
#3
|
elite*gold: 287
Join Date: Dec 2012
Posts: 430
Received Thanks: 57
|
Quote:
Originally Posted by RaulDeluxe
else
echo "Bitte fuellen sie alle Felder aus!;
}
Hast du nach dem else eine "{" vergessen. Dennoch finde ich dort mehrere Fehler, berichtige das mal. Dann zur abfrage ob der Button geklickt wurde, dort benutzt man $_isset...
Und dann gibts da mehrere fehlende "{"...
|
Ok. Danke. Aber wenn ich denn das { hin schreibe, zeigt der auf der Webseite das es ein Fehler. Wenn du zeit hast, könntest du das denn richtig machen? Wäre echt nett
|
|
|
05/07/2013, 16:13
|
#4
|
elite*gold: 74
Join Date: Oct 2008
Posts: 619
Received Thanks: 288
|
Und bitte, code einfach sauberer 
Wenn du bei einer if Abfrage Klammern benutzt, nutze die doch bitte auch bei else.
Wenn du allerdings ohne die Klammern coden willst, lass sie auch bei if weg.
Beachte dabei aber, dass so bald du 2 Zeilen in die Aufführung nach einer erfüllten Bedingung haben möchtest, dass du die Klammern nutzen musst.
Dann hattest du oben statt $passwort = $_POST['pass']; nur $benutzer= $_POST['pass'];
Somit kann $passwort nie etwas enthalten geschweige denn sie existiert.
Auch solltest du das while klein schreiben 
Sollte ein Benutzer in der Datenbank gefunden werden, was auch eig. nur ein einzieges Ergebnis geben sollte, wird $num auf 1 gesetzt, wenn du mit 0 abfragst ( if($num==1)) springt er in den Teil wenn der Benutzer nicht existiert, was er ja nur machen soll wenn er existiert.
Also auch ein Paar Logikfehler ausbessern und das nächste Mal keine Wiederholung des ganzen machen
PHP Code:
<?php $benutzer = $_POST['user']; $passwort = $_POST['pass']; $loginbutton = $_POST['login'];
if(isset($loginbutton) && !empty($loginbutton)) { if(isset($benutzer) && !empty($benutzer) && isset($passwort) && !empty($passwort)) { //connect to db $connect = mysql_connect("localhost","Geheim","Geheim"); mysql_select_db("Geheim"); $query = mysql_query("SELECT * FROM accounts WHERE benutzer='$benutzer'"); $num = mysql_num_rows($query); if($num==1) { while($row = mysql_fetch_assoc($query)) { $dbbbenutzer = $row['benutzer']; $dbpasswort = $row ['passwort']; } if ($dbbenutzer == $benutzer && $dbpasswort == $paswort) { echo "Login erfolgreich!"; } else { echo "Ihre Daten wurden nicht gefunden"; } } else { echo "Der angegebende Benutzer existiert nicht!"; } } else { echo "Bitte fuellen sie alle Felder aus!"; } } ?>
|
|
|
05/07/2013, 16:20
|
#5
|
elite*gold: 287
Join Date: Dec 2012
Posts: 430
Received Thanks: 57
|
Quote:
Originally Posted by Cr4nkSt4r
PHP Code:
<?php
$benutzer = $_POST['user'];
$benutzer = $_POST['pass'];
$loginbutton = $_POST['login'];
if(isset($loginbutton) && !empty($loginbutton))
{
if(isset($benutzer) && !empty($benutzer) && isset($passwort) && !empty($passwort))
{
//connect to db
$connect = mysql_connect("localhost","Geheim","Geheim");
mysql_select_db("Geheim");
$query = mysql_query("SELECT * FROM accounts WHERE benutzer='$benutzer'");
$num = mysql_num_rows($query);
if($num==1)
{
WHILE($row = mysql_fetch_assoc($query))
{
$dbbbenutzer = $row['benutzer'];
$dbpasswort = $row ['passwort'];
}
if ($dbbenutzer == $benutzer && $dbpasswort == $paswort)
{
echo "Login erfolgreich!";
}
else
echo "Ihre Daten wurden nicht gefunden";
}
else
echo "Der angegebende Benutzer existiert nicht!";
}
else
echo "Bitte fuellen sie alle Felder aus!";
}
?>
Das Teil zeigt richtig formatierten Code echt assig an o0...
Und bitte, code einfach sauberer 
Wenn du bei einer if Abfrage Klammern benutzt, nutze die doch bitte auch bei else.
Wenn du allerdings ohne die Klammern coden willst, lass sie auch bei if weg.
Beachte dabei aber, dass so bald du 2 Zeilen in die Aufführung nach einer erfüllten Bedingung haben möchtest, dass du die Klammern nutzen musst.
PHP Code:
<?php
$benutzer = $_POST['user'];
$benutzer = $_POST['pass'];
$loginbutton = $_POST['login'];
if(isset($loginbutton) && !empty($loginbutton))
{
if(isset($benutzer) && !empty($benutzer) && isset($passwort) && !empty($passwort))
{
//connect to db
$connect = mysql_connect("localhost","Geheim","Geheim");
mysql_select_db("Geheim");
$query = mysql_query("SELECT * FROM accounts WHERE benutzer='$benutzer'");
$num = mysql_num_rows($query);
if($num==1)
{
WHILE($row = mysql_fetch_assoc($query))
{
$dbbbenutzer = $row['benutzer'];
$dbpasswort = $row ['passwort'];
}
if ($dbbenutzer == $benutzer && $dbpasswort == $paswort)
{
echo "Login erfolgreich!";
}
else
{
echo "Ihre Daten wurden nicht gefunden";
}
}
else
{
echo "Der angegebende Benutzer existiert nicht!";
}
}
else
{
echo "Bitte fuellen sie alle Felder aus!";
}
}
?>
|
Okay, danke.
Nächstes Problem.. Immer wenn ich mich einloggen möchte kommen dann jetzt: Bitte fuellen sie alle Felder aus!
Ich habe es doch... Habe auch schon DB mit reingemacht & so. Auch schon Account erstellt. Doch das kommt immer. Ich mache das über Kilu, geht das da nicht?
Nächstes Problem.. Immer wenn ich mich einloggen möchte kommen dann jetzt: Bitte fuellen sie alle Felder aus!
Ich habe es doch... Habe auch schon DB mit reingemacht & so. Auch schon Account erstellt. Doch das kommt immer. Ich mache das über Kilu, geht das da nicht?
|
|
|
05/08/2013, 12:04
|
#6
|
elite*gold: 0
Join Date: Jan 2009
Posts: 18,580
Received Thanks: 3,864
|
Technical Support -> Web Development
#moved
|
|
|
05/08/2013, 12:50
|
#7
|
elite*gold: 0
Join Date: Jan 2013
Posts: 358
Received Thanks: 105
|
PHP Code:
$benutzer = $_POST['user']; $benutzer = $_POST['pass']; $loginbutton = $_POST['login'];
Code:
// Und weg ist die account database
'DROP DATABASE accounts
Wer denkt denn bitte mal an die Sicherheit ? wenn du das so machst hat jeder
und damit mein ich jeder Vollzugirff auf deine datenbank...
wenn du dann noch ne news außgabe hast wird ein XSS angriff daraus
und dann wirds wirklich hardcore
versuch ma lieber
PHP Code:
$benutzer = mysql_escape_string($_POST['user']); $benutzer = mysql_escape_string($_POST['pass']); $loginbutton = mysql_escape_string($_POST['login']);
jedoch was "$loginbutton" soll weiß ich auch ned.. xD
|
|
|
05/08/2013, 13:47
|
#8
|
elite*gold: 74
Join Date: Oct 2008
Posts: 619
Received Thanks: 288
|
Quote:
Originally Posted by [RABBiT]
Okay, danke.
Nächstes Problem.. Immer wenn ich mich einloggen möchte kommen dann jetzt: Bitte fuellen sie alle Felder aus!
Ich habe es doch... Habe auch schon DB mit reingemacht & so. Auch schon Account erstellt. Doch das kommt immer. Ich mache das über Kilu, geht das da nicht?
|
Vor deiner Antwort habe ich meinen Post noch entsprechend bearbeitet, da steht auch, warum welche Meldungen kommen. 
Einfach noch einmal den Post von mir lesen ^^
@Fehlgeschlagen
In dem Code kann man noch vieles besser machen, in erster Linie ging es ja erst einmal darum dass der Code funktioniert.
Im zweiten Schritt kann man ihn dann sicher machen, ich weis ja nicht ob dies nicht eh schon angesetzt war oder nicht.
Was der $loginbutton soll, ganz einfach, damit fragt er ab ob das Formular überhaupt abgeschickt wurde und der Post nicht so gemacht wurde.
Klar, wer weis was gesendet wird sendet den entsprechenden Parameter eben mit, aber auch da gibt es wieder Wege die dies komplizierter machen können für andere Leute, aber darauf brauchen wir hier ja erst einmal nicht eingehen
|
|
|
05/08/2013, 14:29
|
#9
|
elite*gold: 287
Join Date: Dec 2012
Posts: 430
Received Thanks: 57
|
Ich danke euch. Habe jetzt alles gemacht was ihr gesagt habt. So... Jetzt ist das nächste Problem.. :
Quote:
|
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /data/multiserv/users/1107589/projects/2474948/www/login.php on line 16
|
Auf Line 16 ist dieser Code :
Quote:
|
$num = mysql_num_rows($query);
|
|
|
|
05/08/2013, 15:37
|
#10
|
elite*gold: 74
Join Date: Oct 2008
Posts: 619
Received Thanks: 288
|
Den Fehler bekommst du da mysql_query den Rückgabewert false liefert da es einen Fehler mit dem $qry geben wird.
Probier mal:
PHP Code:
$query = mysql_query("SELECT * FROM `accounts` WHERE `benutzer` = '".$benutzer."'");
|
|
|
05/08/2013, 15:48
|
#11
|
elite*gold: 287
Join Date: Dec 2012
Posts: 430
Received Thanks: 57
|
Quote:
Originally Posted by Cr4nkSt4r
Den Fehler bekommst du da mysql_query den Rückgabewert false liefert da es einen Fehler mit dem $qry geben wird.
Probier mal:
PHP Code:
$query = mysql_query("SELECT * FROM `accounts` WHERE `benutzer` = '".$benutzer."'");
|
Danke. Jetzt zeigt es aber wieder an : "Bitte fuellen sie alle Felder aus! "
|
|
|
05/08/2013, 22:07
|
#12
|
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
|
Code:
if ($dbbenutzer == $benutzer && $dbpasswort == $paswort)
Typo bei $passwort
//EDIT:
Hab mir mal den Eingangspost etwas genauer durchgelesen und falls das Errorlogging nicht komplett abgeschaltet ist müsste er eigentlich diverse Indizies Warnung schmeissen wegen der fehlenden Request überprüfung z.B. soetwas wie
Code:
if(isset($_POST)){
$foo = $_POST['bar'];
.....
}
|
|
|
05/13/2013, 09:46
|
#13
|
elite*gold: 74
Join Date: Oct 2008
Posts: 619
Received Thanks: 288
|
Du kannst doch ganz einfach gucken warum er dir ausgibt dass alle Felder ausgefüllt werden müssen:
PHP Code:
if(isset($loginbutton) && !empty($loginbutton))
{
if(isset($benutzer) && !empty($benutzer) && isset($passwort) && !empty($passwort))
{
}
else
{
echo "Bitte fuellen sie alle Felder aus!";
}
}
kannst dann in dem else Zweig der ja immer ausgegeben wird test weise die Variablen ausgeben lassen welche in der if-Abfrage überprüft werden und dann vll. auch noch alle $_POST-Parameter:
PHP Code:
if(isset($loginbutton) && !empty($loginbutton))
{
if(isset($benutzer) && !empty($benutzer) && isset($passwort) && !empty($passwort))
{
}
else
{
//echo "Bitte fuellen sie alle Felder aus!";
echo 'Benutzer:'.$benuter.'<br />';
echo 'Passwort:'.$passwort.'<br />';
echo 'Loginbutton:'.$loginbutton.'<br />';
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
}
|
|
|
 |
Similar Threads
|
[Hilfe] - Login
12/19/2012 - .NET Languages - 3 Replies
Hallo zusammen,
Ich bräuchte hilfe und zwar bei mein Login..ich möchte ein Login in mein programm einbauen indem ich Halt 2 textboxen hab Mit BN und PW und ich leute so über ein anderes programm einfügen kann, damit die sich dann mit ihren gewünschten Daten einloggen können. Ich möchte nicht das jeder dieses programm verwendet. Vllt. kann man das auch so machen, dass man es so einstellen kann das der jenige sich nur auf sein pc anmelden kann oder man kann es einstellen das begrentzt nur 5...
|
login Down Hilfe
07/02/2011 - Metin2 Private Server - 1 Replies
Hey leute bei unserem root Server ist login Down -.-
Wie mache ich den wider an ? ohne reboot
|
[Hilfe]Login Fix
01/22/2011 - Metin2 Private Server - 3 Replies
Also ich habe alles nachdem den sein Tutuorial gemacht :
http://www.elitepvpers.com/forum/metin2-pserver-gu ides-strategies/797201-how-auth-server-fix-loginbu g-infos-wie-alles-funktioniert.html
aber an der Stelle wo steht "Esc Enter Enter"
Wenn ich ESC drücken passiert gar nichts , warum?
(Englische Tastatur)
Ein Bild :
http://img5.imagebanana.com/img/9cw38hur/thumb/Ne ueBitmap.png
|
Login-Hilfe
03/09/2008 - General Coding - 2 Replies
Hi leute, und zwar wollte ich mal fragen ob es eine art loginhilfe gibt?
z.B. gab es früher mal so einen srostarter der immer gewartet hat, bis 2 plätze frei sind(serverlist) und dann auf okey drückte.
gibt es so ähnliche oder neue hilfen um sich bequemer einzulogen?
Danke im vorraus
|
All times are GMT +1. The time now is 08:57.
|
|