YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Login-Script Problem » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 2.734 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Login-Script Problem
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Gespenst
unregistriert
 Login-Script Problem Antworten Zitieren Editieren Melden       UP

Hallo, hab mir ein Login Script gebaut. Leider gibt es in ein par Datein Fehler.
Datei: functions.php
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:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
<?php

function login(user,passwort){
  $connect mysql_connect($global["dbhost"],$global["dbuser"],$global["dbpass"]);
  $userini mysql_query('SELECT * FROM users WHERE user LIKE "'.$user.'"');
  if(mysql_num_rows($userini) == 0) return("flase"); else {
    $row mysql_fetch_array($userini);
    if($row->passwort == $passwort){
      if($row->gespert == "true") return("flase"); else {
        $timestamp time();
    session_start();
        $SESSION["logon"] = array();
        $SESSION["logon"]["logon"] = "true";
        $SESSION["logon"]["id"] = $row->id;
        $SESSION["logon"]["user"] = $user; 
        $SESSION["logon"]["mail"] = $row->mail;
        $SESSION["logon"]["passwort"] = $passwort;
        $SESSION["logon"]["data"] = date("d.m.Y",$timestamp);
        $SESSION["logon"]["time"] = date("H:i",$timestamp);
        $SESSION["logon"]["telefon"] = $row->telefon;
        $SESSION["logon"]["fax"] = $row->fax;
        $SESSION["logon"]["strasse"] = $row->strasse;
        $SESSION["logon"]["plz"] = $row->plz;
        $SESSION["logon"]["ort"] = $row->ort;
        return("true");
      }
    }
  }
}

function update(){
  if($SESSION["logon"]["logon"] == "true"){
    $connect mysql_connect($global["dbhost"],$global["dbuser"],$global["dbpass"]);
    $update mysql_query('UPDATE users Set
    user="'.$SESSION["logon"]["user"].'"
    mail="'.$SESSION["logon"]["mail"].'"
    passwort="'.$SESSION["logon"]["passwort"].'"
    telefon="'.$SESSION["logon"]["telefon"].'"
    fax="'.$SESSION["logon"]["fax"].'"
    strasse="'.$SESSION["logon"]["strasse"].'"
    plz="'.$SESSION["logon"]["plz"].'"
    ort="'.$SESSION["logon"]["ort"].'"
    WHERE id="'.$SESSION["logon"]["id"].'"');
    return("true");  
  } else return("flase");  
mysql_close($connect);
}

function passwort(user){
  srand(microtime()*1000000);
  $newpasswort rand(1,1000000);
  $connect mysql_connect($global["dbhost"],$global["dbuser"],$global["dbpass"]);
  $userini mysql_query('SELECT * FROM users WHERE user LIKE "'.$user.'"');
  if(mysql_num_rows($userini) == 0) return("flase"); else {
    $mail mail($row->mail"Passwort vergessen",
    "Guten Tag,\n\nIhr neues Passwort lautet: ".$newpasswort."\n\nVielen Dank!",
    "From: ".$global["email"]."");
     mysql_close($connect);
  }
}

function register(name,mail,passwort,telefon,fax,plz,ort){
  $connect mysql_connect($global["dbhost"],$global["dbuser"],$global["dbpass"]);
  $registermysql_query("INSERT INTO users (name,mail,passwort,telefon,fax,plz,ort)
  VALUES ('".$name."','".$mail."',".$passwort."', '".$telefon."',".$fax."', '".$plz.",".$ort."'");
  login($name,$passwort);
  mysql_close($connect);
}

?>

Fehler: Parse error: syntax error, unexpected ',', expecting '&' or T_VARIABLE in C:\xampp\htdocs\login\functions.php on line 3

Datei: register.php

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:
45:
46:
47:
48:
49:
50:
51:
<?php

include("global.php");
include("functions.php");

if($_POST["action"] == "reg"){

  $stop="flase"$error="";
  if($_POST["name"] == ""){ $error.="Bitte das Feld Name ausfühlen."$stop="true"; }
  if($_POST["mail"] == ""){ $error.="Bitte das Feld E-Mail ausfühlen."$stop="true"; }
  if($_POST["passwort"] == ""){ $error.="Bitte das Feld Passwort ausfühlen."$stop="true"; }
  if($_POST["telefon"] == ""){ $error.="Bitte das Feld Telefon ausfühlen."$stop="true"; }
  if($_POST["fax"] == ""){ $error.="Bitte das Feld Faxnummer ausfühlen."$stop="true"; }
  if($_POST["plz"] == ""){ $error.="Bitte das Feld PLZ ausfühlen."$stop="true"; }
  if($_POST["ort"] == ""){ $error.="Bitte das Feld Ort ausfühlen."$stop="true"; }
  if($stop=="flase"){
    register($_POST["name"],$_POST["mail"],$_POST["passwort"],$_POST["telefon"],$_POST["fax"],$_POST["plz"],$_POST["ort"]);
    header("Location:register.php?action=erfolgreich");
    exit();
  }

if($_POST["action"] == "erfolgreich"){

?>

Die Registrierrung wurde erfolreich abgelossen! Sie wurden nun automatisch eingelogt.

<?php

} if($_POST["action"] == ""){

?>

Vielen Dank das Sie sich bei unserem Service kostenlos anmelden wollen.<br />
Damit Sie die Registrierrrung abschließen können ist es wichtig, dass Sie alle Felder<br />
ausfüllen. Sollten Sie Probleme bei der Registrierrung haben, setzen Sie sich bitte mit<br />
dem Webmaster dieser Homepage in Verbindung!<br /><br />

<?php echo $error; echo"<br /><br />"?>

<form name="register"><table border="1"><tr><td>Benutzername:</td>
<td><input name="name" type="text"></td></tr>
<tr><td>E-Mail:</td><td><input name="mail"></td></tr>
<tr><td>Passwort:</td><td><input name="passwort"></td></tr>
<tr><td>Telefon:</td><td><input name="telefon"></td></tr>
<tr><td>Faxnummer:</td><td><input name="fax"></td></tr>
<tr><td>PLZ und Ort:</td><td><input name="plz"><input name="ort"></td></tr></table></form>

<?php

} exit(); ?>


Danke im Vorraus!

Gespenst (Änfänger)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Gespenst: 18.04.07 16:12.

18.04.07 16:08
Rogerhuber Rogerhuber ist männlich
Mitglied


images/avatars/avatar-4728.jpg

Dabei seit: 02.02.04
Beiträge: 258

 RE: Login-Script Problem Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Gespenst
Fehler: Parse error: syntax error, unexpected ',', expecting '&' or T_VARIABLE in C:\xampp\htdocs\login\functions.php on line 3



Du solltest bei der funktion wohl Variablen nutzen und keine Konstanten..

function login($username, $passwort)
(Gilt auch bei den anderen funktionen)

$global dürfte auch nicht verfügbar sein, allerdings stellt sich hier die Frage ob du wirklich bei jedem funktionsaufruf ein mysql_connect durchführen musst und nicht schon eine Verbindung offen hast.

Übrigens, dein alter Freund addslashes fehlt.

Ach ja, es hies "FALSE" und ich glaub es war $_SESSION und nicht $SESSION.

(PS: Nach einem Query solltest du ein or die(mysql_error()) hinschreiben, den dein Update-Query gibt ziemlich sicher ein Fehler zurück Augenzwinkern )

__________________

19.04.07 08:49 Rogerhuber ist offline E-Mail WWW Finden Als Freund hinzufügen
Moes Moes ist männlich
Mitglied


images/avatars/avatar-3805.gif

Dabei seit: 30.12.05
Beiträge: 161
Herkunft: Wien
Forenversion: 2.3

Antworten Zitieren Editieren Melden       UP

Wie es Rogerhuber schon gesagt hat.

Benutz bei Logins immer addslashes wenn um UserNamen geht. Wenn man sich mit der ID einloggen soll macht man das dann mit intval().

Da ich nochwas in der function "password" vergessen habe. Die Variable/Array $global['email'] wird nicht "definiert". Also wenn du die Variable ausser dieser Funktion gesetzt hast, musst du noch am anfang der funktion hinschreiben.

php:
1:
global $global['email'];


(Ich würde auch noch bei jeder Funktion $_SESSION sowie die Datenbank Arrays eintragen Augenzwinkern )

Gruß

__________________

Tune Up Your Moe

26.04.07 15:12 Moes ist offline E-Mail Finden Als Freund hinzufügen Füge Moes in deine Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » Login-Script Problem