You are not logged in.

wcf.regNote.message

Flip

Beginner

  • "Flip" started this thread

Posts: 2

Occupation: Schüler

  • Send private message

1

Sunday, July 8th 2007, 11:30am

Login funktioniert nicht

Hallo liebe community,
ich bin gerade an meiner Internetseite am Arbeiten und habe so weit alles fertig. Nur jetzt habe ich ein Problem beim Login für die Seiten die nur Mitgliedern zugänglich sind.
Also ich habe einen Hyperlink der so aussieht index.php?section=login nun wird die Datei login.php aufgerufen. In einem der dafür definierten Div.
Wenn man seine Daten in den Login eingegeben hat drücke ich auf den butten Login nur es passiert nichts ich werde zur Index.php weiter geleitet aber es wurde kein Cookie gesetzt. Dies Merke ich daran wenn ich auf eine der Memberseiten gehen nicht rein komme.

Öffne ich nun den Login mit dieser URL www.namederseit.de/login.php und loge mich mit dieser Seite ein geht alles ohne Probleme und der Cookie wird auch gesetzt und ich habe zugriff auf meine Memberseiten.

Hier ist der Code von meiner login.php

PHP Source 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
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
<?php require_once('mysql/mysql.php'); ?>
<?php
// Login setzt den Cookie
$myUsername_rsLogin "0";
if (isset($HTTP_POST_VARS['username'])) {
  $myUsername_rsLogin = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['username'] : addslashes($HTTP_POST_VARS['username']);
}
$myPassword_rsLogin "0";
if (isset($HTTP_POST_VARS['password'])) {
  $myPassword_rsLogin = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['password'] : addslashes($HTTP_POST_VARS['password']);
}
mysql_select_db($database_loginphp$loginphp);
// Überprüft ob der Login korrekt ist
$query_rsLogin sprintf("SELECT user_name, user_pw FROM phpkit_user WHERE user_name= '%s' AND user_pw = '%s'"$myUsername_rsLogin,$myPassword_rsLogin);
$rsLogin mysql_query($query_rsLogin$loginphp) or die(mysql_error());
$row_rsLogin mysql_fetch_assoc($rsLogin);
$totalRows_rsLogin mysql_num_rows($rsLogin);

// Login und Set cookie
// Der Login wird geprüft, Cookie wird gesetzt und weiterleitung oder Zeige Fehlermeldung
if($HTTP_POST_VARS['action']=="login"){
    if($totalRows_rsLogin==0){
        $errorMessage "falsch";
        mysql_free_result($rsLogin);
    } else {
        mysql_free_result($rsLogin);
        setCookie("user",$HTTP_POST_VARS['username'],time() + 259200,"/");
        // Lebensdauer in Tagen: 3
        // Lebensdauer in Zeit: 10:00:00 
        header("Location: ../details.php");
    }
}
?><!-- TemplateBeginEditable name="head" --><!-- TemplateEndEditable -->
<script type="text/javascript">
<!--
function MM_displayStatusMsg(msgStr) { //v1.0
  window.status=msgStr;
  document.MM_returnValue = true;
}
//-->
</script>
<!-- TemplateParam name="login" type="boolean" value="true" -->
<!-- TemplateBeginRepeat name="login" --> <!-- TemplateBeginIf cond="_document['login']" --> <!-- TemplateBeginEditable name="login" --> <?php echo "$errorMessage"?>
<form action="<?php echo "$PHP_SELF"?>" method="post" name="form1" id="form1" >
  <table width="60%" border="1" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
        <tr>
          <td width="40%" align="right"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">User Name:</font></td>
          <td width="60%"><input name="username" type="text" id="username" onfocus="MM_displayStatusMsg('Please enter your User Name');return document.MM_returnValue" maxlength="50" /></td>
        </tr>
        <tr>
          <td width="40%" align="right"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Password:</font></td>
          <td width="60%"><input name="password" type="password" id="password" onfocus="MM_displayStatusMsg('Please enter your Password');return document.MM_returnValue" maxlength="50" /></td>
        </tr>
        <tr>
          <td width="40%">&nbsp;</td>
          <td width="60%"><input type="submit" name="Submit" value="Log In" /></td>
        </tr>
      </table></td>
    </tr>
  </table>
  <input name="action" type="hidden" id="action" value="login" />
</form>
<!-- TemplateEndEditable --><!-- TemplateEndIf --><!-- TemplateEndRepeat -->




meine Index.php sieht so aus dieser Code befindet sich in einem DIV


PHP Source 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
  <?php
    // die Datei index.php

    switch($_GET['section']) {
        case "reg":
            include "registration.php";
            break;

        case "login":
            include "login.php";
            break;
            
        case "de":
            include "details.php";
            break;
            
        case "logout":
            include "logout.php";
            break;

        default:  // Wenn eine ungültige Section angegeben wurde
                  // sollen die News gezeigt werden
            include "news.php";
            break;
    }
?>




Wo dran kann das liegen ich würde mich sehr über eine Antwort freuen.


MFG Flip

This post has been edited 2 times, last edit by "Flip" (Jul 8th 2007, 11:54am)


Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Sunday, July 8th 2007, 12:18pm

Das liegt daran was dein Formular macht wenn Du auf login kilickst.

PHP Source code

1
<form action="<?php echo "$PHP_SELF"?>" method="post" name="form1" id="form1" >

Hier öffnest Du das Formular und gibst als action das aktuelle Dokument an. Wenn Du also login.php aufrufst ist das Dokument auch login.php und wenn Du index.php aufrufst eben index.php. Da allerdings in der index.php keine Funktionalität steckt die das abfangen könnte passiert einfach nichts.

PHP Source code

1
<input name="action" type="hidden" id="action" value="login" />

Entweder hast Du dich bei der Zeile vertan und der Name muss section heißen oder Du brauchst ein zusätzliches hidden input für section. So kannst Du das zumindest mal versuchen das sollte dann funktionieren.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Flip

Beginner

  • "Flip" started this thread

Posts: 2

Occupation: Schüler

  • Send private message

3

Sunday, July 8th 2007, 7:39pm

Danke!!!!!

Vielen lieben dank für Deine Antwort jetzt geht alles. Über eine solche Lösung habe ich noch nie nachgedacht gehabt.

DANKE

MFG Flip
:D :D :D :D

wcf.user.socialbookmarks.titel