Logo - MyWebsolution.de
User gesamt  :  2459854
User online  :  5
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Workshops » Problem bei Loginskript

Seite: <  1 2 3 4 5 6 7  > Posts pro Seite: 5 10 20
Autor Thread
05.01.2007 15:26 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Omg :oops: meine dummheit :).
Es leitet mich aber trotzdem nicht weiter, sondern lädt die site einfach neu. Im code hab ich ja mit header die weiterleitung bestimmt. stimmt das mit dem action bereich dann wieder nicht überein?
Profil ansehen
05.01.2007 17:52 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
eigentliche müsste das mit der Weiterleitung sowieso einen Fehler geben, denn für header() zählt das gleiche wie für session_start(), vorher darf keine Ausgabe erfolgen.

es wird jedoch immer noch

PHP:
<form action="<? echo $_SERVER['PHP_SELF'?>" method="post" name="login" target="_self" id="login">


zu Beginn der Datei ausgegeben. Übrigens sollten Location Angaben immer als absolute URL gemacht werden (http://website/unterseite.php)

Es wird aber keine Fehlermeldung ausgegeben?

Poste nochmal bitte deinen jetzigen Code


Profil ansehen Mail senden
05.01.2007 18:13 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
nope keine fehlermeldung.... hab jetzt die header() in absolute pfade geändert aber das ergebniss ist das gleiche.

also das ist meine login.php. die wird dann wie gesagt in alle seiten am rand eingebunden.
PHP:
<form action="<? echo $_SERVER['PHP_SELF'?>" method="post" name="login" target="" id="login">
<?php
    error_reporting
(E_ALL);

    include 
'conect.php';

    
$connid = @mysql_connect($MYSQL_HOST$MYSQL_USER$MYSQL_PASS) OR die("Error: ".mysql_error());
    
mysql_select_db($MYSQL_DATA) OR die("Error: ".mysql_error());

    
// Loggt einen User ein, ..
    
function doLogin($ID$Autologin=false)
    {
        
// .. indem die aktuelle Session ID in der Datenbank gespeichert wird
        
$sql "UPDATE
                        User
                SET
                        SessionID = '"
.mysql_real_escape_string(session_id())."',
                        Autologin = NULL,
                        IP = '"
.$_SERVER['REMOTE_ADDR']."',
                        Letzte_Aktion = '"
.mysql_real_escape_string(time())."',
                        Letzter_Login = '"
.mysql_real_escape_string(time())."'
                WHERE
                        ID = '"
.$ID."'
                "
;
        
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        
       
// Daten des Users in der Session speichern
        
$sql "SELECT
                        Nickname
                FROM
                        User
                WHERE
                        ID = '"
.$ID."'
               "
;
        
$result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());

        
$row mysql_fetch_assoc($result);
        
$_SESSION['UserID'] = $ID;
        
$_SESSION['Nickname'] = $row['Nickname'];
    }

    if(isset(
$_POST['Send_x'], $_POST['Send_x']) ){
        
// Falls der Nickname und das Passwort übereinstimmen..
        
$sql "SELECT
                        ID
                FROM
                        User
                WHERE
                        Nickname = '"
.mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                        Passwort = '"
.md5(trim($_POST['Passwort']))."'
               "
;
        
$result mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        
// wird die ID des Users geholt und der User damit eingeloggt
        
$row mysql_fetch_assoc($result);
        
// Prüft, ob wirklich genau ein Datensatz gefunden wurde
        
if (mysql_num_rows($result)==1){
             
doLogin($row['ID'], isset($_POST['Autologin']));             
             
header ("Location: http://localhost/test/usercenter.php"); 
        }
        else{
             
header ("Location: http://localhost/test/pw_forgot.php"); 
        }
    }
?>
<table width="206" height="120" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td height="29" colspan="4">&nbsp;</td>
    </tr>
    <tr>
      <td width="8" height="28">&nbsp;</td>
      <td colspan="3"><label>
        <input name="Nickname" type="text"
                        class=blur id=username
                        style="width:125px; height:18px; font-family:Verdana; font-size:11px; color:#515151; border-width:1px; border-style:solid; border-color:#7B7B7B"
                        onFocus="style.background='#E4E4E4';if(value == 'username'){value=''};"
                        onBlur="style.background='#ffffff';if(value== ''){value='username'}" value=username
                        size=21 maxlength="30"> 
      </label></td>
    </tr>
    <tr>
      <td height="28">&nbsp;</td>
      <td colspan="2"><input name="Passwort" type="password"
                        class="logininput"
                        style="width:125px; height:18px; font-family:Verdana; font-size:11px; color:#515151; border-width:1px; border-style:solid; border-color:#7B7B7B"
                        onFocus="style.background='#E4E4E4';if(value == 'password'){value=''};"
                        onBlur="style.background='#ffffff';if(value== ''){value='password'}" value="password"
                        size=21 maxlength="32" /></td>
      <td width="43">&nbsp;</td>
    </tr>
    <tr>
      <td height="35">&nbsp;</td>
      <td width="72" height="35" align="center" valign="middle"><span class="navi_rechts"><a href="register.php">Registrieren</a></span></td>
      <td width="83" align="center" valign="top" class="navi_rechts"><a href="pw_forgot.php">PW<br />
        vergessen?</a></td>
      <td height="35"><input name="send" type="image" onclick="submit()" src="pics/search.gif" /></td>
    </tr>
  </table>
</form>

Die Funktion session_start() setze ich dann dort, wo die login.php eingebunden wird, ganz am anfang in das dokument.
Profil ansehen
05.01.2007 18:31 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
manchmal sollte man dich teeren und federn ôÔ

Code:
 <td height="35"><input name="send" type="image" onclick="submit()" src="pics/search.gif" /></td>



name="send" kleingeschrieben! :rolleyes:

Soo und was möchte unser if

PHP:
if(isset($_POST['Send_x'], $_POST['Send_x']) ){


Send großgeschrieben!

nunja.. ne :P

Achso, beachte übrigens bitte trotzdem, das vor header() keine Ausgabe stattfinden darf ;)


Profil ansehen Mail senden
05.01.2007 18:47 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
thx! Aber wie könnte ich denn sonst den Benutzer weiterleiten, sodass er auf die von mir angegeben seiten weitergeleitet wird? Gibts da nen weiteren php befehl?
Profil ansehen
Seite: <  1 2 3 4 5 6 7  > no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik