Hilfe zu einer Login abfrage!

Shinichi_Kudo
Hi,
ich fange gerade mit php an und will eine Login abfrage machen!

ich weiß nicht, wie er die abfrage machen soll^^" ich habe das schon mit if & else gemacht hier mal mein Code!

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:

<html>
<head>
<title> .::Lohin halt::. </title>
</head>
<body>

<table cellpadding=4 cellspacing=1 width=400>
<tr>
<td>
<form method="post" class="cse" action="danke.php">
<b>* Name:</b></td>
<td>
<input name="Name" type="text" class="cse3"></td>
</tr>
<tr>
<td>
<b>* Passwort:</b></td>
<td>
<input name="eMail" type="text" class="cse3"></td>
</tr>
<tr>
<td>
</td>
<td align=right>
<input type="reset" name="Reset" value="Löschen" class="cse3"> &nbsp; <input type="submit" name="Absenden" value="Login!" class="cse3"> </td>
</tr>
</form>
</table>
<?
  if($username == 'username' and $passwort == 'passwort')
  {
  echo 'Zugriff erlaubt!';
  }
  
  else
  {
  echo 'Zugriff verweigert!';
  }
?>
</form>
</body>
</html>



büdde helft mia!
eichi
login.htm =

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<html>
<head>
<title> .::Lohin halt::. </title>
</head>
<body>

<table cellpadding=4 cellspacing=1 width=400>
<tr>
<td>
<form method="post" class="cse" action="login.php">
<b>* Name:</b></td>
<td>
<input name="name" type="text" class="cse3"></td>
</tr>
<tr>
<td>
<b>* Passwort:</b></td>
<td>
<input name="pass" type="text" class="cse3"></td>
</tr>
<tr>
<td>
</td>
<td align=right>
<input type="reset" name="Reset" value="Löschen" class="cse3"> &nbsp; <input type="submit" name="Absenden" value="Login!" class="cse3"> </td>
</tr>
</form>
</table>
</form>
</body>
</html>


login.php =

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php

  require("save.php");

  if(($_POST["name"] = "") || ($_POST["pass"] = "")){
    echo "Fehler ! - Ein ben&ouml;tigtes Feld wurde nicht ausgef&uuml;t.";
  }else{
     if(($_POST["name"] == $name_sv) && ($_POST["pass"] == $pass_sv)){
       echo "Login erfolgreich !";
     }else{
       echo "Login fehlgeschlagen - falsche Daten !";
     }
  }
?>


save.php =

php:
1:
2:
3:
4:
5:
6:
<?php
  //Name
  $name_sv "Schinchi";
  //Passwort
  $pass_sv "123456";
?>


is ungetestet da mein apache gra net will ...
Shinichi_Kudo
hmm, funzt gerade irgendwie nicht!

da steht immer das die daten falsch sind! ich habe die beiden jetzt shcon in test & test umbenannt o.O



//LINK:

klick misch großes Grinsen
eichi
mhh,

such doch mal selber nach dem fehler is ne gute übung Zunge raus (hab jetzt keine lust Augenzwinkern )
brendy
Wen du den Fehler gefunden hast, poste ihn bittö hier rein, internessiert
mich großes Grinsen .
Shinichi_Kudo
ich habe danach schon gesucht und nix gefunden unglücklich
invis!ble
so ich weiß jetzt nicht ob es die Optimalste Lösung is weil so würde ich das nicht machen aber der fehler waren die () um die Bedingunen der If Abfrage in der Login.php

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php

  require("save.php");

  if($_POST["name"] == "" || $_POST["pass"] == ""){
    echo "Fehler ! - Ein ben&ouml;tigtes Feld wurde nicht ausgef&uuml;t.";
  }else{
     if($_POST["name"] == $name_sv && $_POST["pass"] == $pass_sv){
       echo "Login erfolgreich !";
     }else{
       echo "Login fehlgeschlagen - falsche Daten !";
     }
  }
?>


denke das Funktioniert so habs nicht getestet!
brendy
Funzt einwandfrei. Wie kann man jetzt mehrere User reinpacken
und wie kann man es einstellen, das es auf einer andren Seite dann sofort
weiterleitet verwirrt
invis!ble
mehrere User funktionieren so nicht man muss das dann anders machen wenn du willst dann kann ich dir das dann noch hier rein schreiben (würde das dann mit mysql machen aber wenn du das nicht zur verfügung hast dann gehen auch Text datein...)

und das direkte weiterleiten kannst du anstatt dem echo ...
mit :

php:
1:
header("LOCATION: http://sonstwas.de");



machen
brendy
Zitat:
Original von invis!ble
mehrere User funktionieren so nicht man muss das dann anders machen wenn du willst dann kann ich dir das dann noch hier rein schreiben (würde das dann mit mysql machen aber wenn du das nicht zur verfügung hast dann gehen auch Text datein...)

und das direkte weiterleiten kannst du anstatt dem echo ...
mit :

php:
1:
header("LOCATION: http://sonstwas.de");



machen


Danke, wäre nett, wen das So ein Log-In wäre für das Forum von Woltlab smile . Wo der das ausser SQL Abfragt.
invis!ble
du meinst du willst die User einloggen lassen können, die in deinem Forum regestriert sind ?

ich schreib dann den Code hier rein

edit :: So hier der code...
die login.html wie gehabt nur die login.php ändert sich:


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:

<?php


  $sql_host "localhost"// host
  $sql_user "sonstwas"// username
  $sql_pwd "sonstwas"// datenbank pwd
  $sql_db "sonstwas"// datenbankname
  $n "1"// nummer des Forums

  mysql_connect($sql_host$sql_user$sql_pwd);
  mysql_select_db($sql_db);


  $l_name $_POST['name'];
  $l_pwd $_POST['pass'];

  $query "SELECT `username`, `password` FROM `bb".$n."_users` WHERE `username` = '$l_name'";
  $id mysql_query($query);
  if (mysql_num_rows($id) == 0){
    echo "Dieser User existiert nicht!";
    exit();
  }
 while ($login mysql_fetch_object($id)){

  if($l_name == "" || $l_pwd == ""){
    echo "Fehler ! - Ein ben&ouml;tigtes Feld wurde nicht ausgef&uuml;t.";
  }else{
     if($l_name == $login->username && md5($l_pwd) == $login->password){
       echo "Login erfolgreich !";
     }else{
       echo "Login fehlgeschlagen - falsche Daten !";
     }
  }
 }



?>


die MYSQL daten ändern is klar geh
habs wieder nur im editor zusammengeschustert wenns nicht funzt dann gib bescheid
KriX
please delete...
sorry
eichi
also ein hübsches design schadet nie, und so gewöhnst du dir garnicht erst lapidares coding an ... aber ansonsten ganz net Augenzwinkern

grüße
invis!ble
war das an mich gerichtet?
is was mit dem code?

oda meinste mich garnicht^^?
KriX
nö, war nurn fehler meinerseits

// wenn man ein seperates Userlogin machen will,
braucht man doch einfach nur den Datensatz mit dem eingegebenen Usernamen in der DB suchen und dann mit dem Passwort vergleichen oder ist das irgendwie unsicher?
invis!ble
nein das ist nicht unsicher!
schau dir das script an was ich als letzes gepostet hab da wird das ganz genau so gemacht!
GanY
Ist das nicht unsicher das Passwort in die Datei zu schreiben ?
Dann brauch man doch nur mal nen Download Manager nehmen und die komplette Datei runterladen und man hat das PW, oder nicht ?
invis!ble
Zitat:
Original von GanY
Ist das nicht unsicher das Passwort in die Datei zu schreiben ?
Dann brauch man doch nur mal nen Download Manager nehmen und die komplette Datei runterladen und man hat das PW, oder nicht ?


falsch, man kann keine PHP datein vom Server downloaden. (ausser ueber FTP)