Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » probleme mit funktion Antworten
probleme mit funktion

bergr
Pixelschubser


Beiträge: 11


Ich habe in eine andere Datei eine Funktion gemacht:
Hier die Datei mit der Funktion:
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:
<?php
function connectdb_start($user, $password) {
    $db=mysql_connect("localhost","bergr","****");
    mysql_select_db("bergr");
    $ergebnis=mysql_query("SELECT * FROM user WHERE user LIKE'$user'");
    $data=mysql_fetch_array($ergebnis);
    if($data[password]==$password) {
        $uid=$data[uid];
        return $uid;
        $visits=$data[visits]+1;
        mysql_query("UPDATE user SET last_visit='time()' visits='$visits' WHERE user=='$user'");
        //online eintragen
        $ergebnis2=mysql_query("SELECT * FROM online WHERE uid='$uid'");
        $num=mysql_num_rows($ergebnis2);
        if($num==0) {
            mysql_query("INSERT INTO online VALUES ('0','$uid','time()')");
        }
        else {
            mysql_query("UPDATE online SET time='time()' WHERE uid='$uid'");
        }
    }
    else {
        die("Falsches Passwort oder noch nicht registriert!");
    }
}
?>


Hier die Datei:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24:
<html>
<head>
<?php
include("function.php");
?>
       <title>Login 2</title>
</head>

<body>
<?php
$user=$HTTP_POST_VARS['user'];
$password=$HTTP_POST_VARS['password'];
connectdb_start($user,$password);
echo"$uid";
?>

<form name=f action="overview.php?uid=<? $uid ?>" method=POST>
<input type=hidden name=user value="<?echo $user ?>">
<input type=submit value="Login2">

Wenn kein Javascript aktiviert ist, bitte hier drücken!
</form>

Ich habe jetzt das Problem, dass ich $uid nicht von der Funktion zurückbekomme. Ich hoffe, mir kann jemand helfen. Danke für die schnelle Hilfe.

Diese Nachricht wurde geändert von: bergr
  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Füg mal unter die Zeile "function connectdb_start($user, $password) {" den Code "global $uid;". Dann müsste es gehen. Sehr schön ist das aber alles nicht.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Wenn du in einer Funktion eine Variable mit return zurückgibst, heißt das nicht, dass es diese Variable dann auch außerhalb der Funktion gibt, sondern diese Variable ist dann das Ergebnis der Funktion. Du musst es also so schreiben:

1:
echo connectdb_start($user,$password);


[edit] @languitar: Hast du missverstanden, bergr gibt $uid per return zurück.[/edit]

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

Diese Nachricht wurde geändert von: Can
  Profil   E-Mail   Editieren   Zitieren

bergr
Pixelschubser


Beiträge: 11


WArum ist das mit global $uid; nicht schön?


  Profil   E-Mail   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Weil es ohnehin schon mit return zurückgibst, also nimm meinen Code oder mach halt noch

1:
$uid=connectdb_start($user,$password);


und dann

1:
echo $uid;


---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Uff, hab das return in dem riesen Chaos da nicht gesehen.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


War mir ja fast klar, dass das "Chaos" jetzt das Mittel ist...

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
 

Antworten
Nach oben