Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-05-2009, 13:07   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 310
php login

Hallo zusammen,
ich habe einen test skript der bei mir wunderbar funktioniert, auf dem test server läuft php 4.4.9

jetzt habe ich den unveränderten skript auf einem server mit php 5.2.8 getestet und es funktioniert nicht mehr.

hat jemand eine ahnung woran es liegen könnte?
oder welches php modul verantwortlich ist?


ich bin schon halb an verzweifeln und für jeden tipp dankbar!

PHP-Code:
<?php
    session_start
();
    if (isset(
$_SESSION["angemeldet"])) {
        
$status "eingeloggt!";
    } else {
        
$status "nicht angemeldet!";
    }

    if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
        
session_start();

        
$username $_POST['username'];
        
$passwort $_POST['passwort'];

        
$hostname $_SERVER['HTTP_HOST'];
        
$path dirname($_SERVER['PHP_SELF']);

        if (
$username == 'test' && $passwort == 'test') {
            
$_SESSION['angemeldet'] = true;

            if (
$_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
                if (
php_sapi_name() == 'cgi') {
                    
header('Status: 303 See Other');
                } else {
                    
header('HTTP/1.1 303 See Other');
                }
            }

            
header('Location: http://'.$hostname.($path == '/' '' $path).'/test.php');
            exit;
        }
    }
    echo 
$status;
?>
<html>
<body>
<form name="log" action="#" method="post">
    <table>
        <tr>
            <td>
                <span style="font-size: 10pt; font-family: Arial,Helvetica,Geneva,Sans-serif;">Username:</span>
            </td>
            <td>
                <input type="text" name="username" />
            </td>    
        </tr>
        <tr>
            <td>
                <span style="font-size: 10pt; font-family: Arial,Helvetica,Geneva,Sans-serif;">Passwort:</span>
            </td>
            <td>
                <input type="password" name="passwort" />
            </td>
        </tr>
        <tr>
            <td>
            </td>
            <td>
                <input type="submit" value="Anmelden" />
            </td>
        </tr>
    </table>
</form>
</body>
</html>
jimihendrix ist offline   Mit Zitat antworten
Alt 06-05-2009, 13:37   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 310
ok, an der php version selbst liegt es nicht, unter 5.2.9 läuft es bei mir lokal!

eins ist mir noch aufgefallen, hat der safe_mode etwas damit zutun?

da wo der skript nicht läuft ist der safe_mode bei "Local Value" auf on

aber ist weiß nicht ob es etwas damit zutun hat...
jimihendrix ist offline   Mit Zitat antworten
Alt 06-05-2009, 13:51   #3 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
Also bei mir gehts in PHP 4 und 5.

Habe da aber nochmal nen Paar Fragen / Anmerkungen:
- Wieso verwendest du "php_sapi_name" ?
-$hostname wird bei mir falsch angebeben es wir trotzdem ein / in die url eingefügt
- du hast 2 mal session_start() in deinem Script.
- Safe Mode on, sollte die Datenübertragung zu POST nicht beeinflussen

gruß funkey
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Alt 06-05-2009, 14:06   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 310
ich habe den skript mal nach ihren anmerkungen geändert, aber leider sagt er mir nach eingabe der daten weiterhin "nicht angemeldet"

PHP-Code:
<?php
    
if (isset($_SESSION["angemeldet"])) {
        
$status "eingeloggt!";
    } else {
        
$status "nicht angemeldet!";
    }

    if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
        
session_start();

        
$username $_POST['username'];
        
$passwort $_POST['passwort'];

        if (
$username == 'test' && $passwort == 'test') {
            
$_SESSION['angemeldet'] = true;
            
header('Location: http://www.xxxxxx.de/xxxx/test.php');
            exit;
        }
    }
    echo 
$status;
?>
<html>
<body>
<form name="log" action="#" method="post">
    <table>
        <tr>
            <td>
                <span style="font-size: 10pt; font-family: Arial,Helvetica,Geneva,Sans-serif;">Username:</span>
            </td>
            <td>
                <input type="text" name="username" />
            </td>    
        </tr>
        <tr>
            <td>
                <span style="font-size: 10pt; font-family: Arial,Helvetica,Geneva,Sans-serif;">Passwort:</span>
            </td>
            <td>
                <input type="password" name="passwort" />
            </td>
        </tr>
        <tr>
            <td>
            </td>
            <td>
                <input type="submit" value="Anmelden" />
            </td>
        </tr>
    </table>
</form>
</body>
</html>
jimihendrix ist offline   Mit Zitat antworten
Alt 06-05-2009, 14:52   #5 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
Das ist auch klar, weil du versuchst auf die Session zuzugreifen bevor du die gestartet hat !!.

So würde es bei mir auch nicht gehen.

PHP-Code:
session_start();  // <- muss hier hin
 
if (isset($_SESSION["angemeldet"])) { 
        
$status "eingeloggt!"
    } else { 
        
$status "nicht angemeldet!"
    } 

    if (
$_SERVER['REQUEST_METHOD'] == 'POST') { 
        
//session_start();  <- ist hier fehl am platz 
//.... 
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Alt 06-05-2009, 15:14   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 310
ich weis einfach nicht mehr weiter, der skript funktioniert lokal wieder ganz normal aber auf dem server tut sich nichts.

PHP-Code:
<?php
    session_start
();
    if (isset(
$_SESSION["angemeldet"])) {
        
$status "eingeloggt";
    } else {
        
$status "nicht eingeloggt";
    }

    if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
        
$username $_POST['username'];
        
$passwort $_POST['passwort'];

        if (
$username == 'test' && $passwort == 'test') {
            
$_SESSION['angemeldet'] = true;

            
header('Location: http://www.xxxxxxx.de/xxx/test.php');
            exit;
        }
    }
    echo 
$status;
?>
<html>
<body>
<form name="log" action="#" method="post">
    <table>
        <tr>
            <td>
                <span style="font-size: 10pt; font-family: Arial,Helvetica,Geneva,Sans-serif;">Username:</span>
            </td>
            <td>
                <input type="text" name="username" />
            </td>    
        </tr>
        <tr>
            <td>
                <span style="font-size: 10pt; font-family: Arial,Helvetica,Geneva,Sans-serif;">Passwort:</span>
            </td>
            <td>
                <input type="password" name="passwort" />
            </td>
        </tr>
        <tr>
            <td>
            </td>
            <td>
                <input type="submit" value="Anmelden" />
            </td>
        </tr>
    </table>
</form>
</body>
</html>

Geändert von jimihendrix (06-05-2009 um 15:16 Uhr)
jimihendrix ist offline   Mit Zitat antworten
Alt 06-05-2009, 17:19   #7 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
Probier bitte mal folgende Beispiele bei dir aus, um zu testen ob die Session überhaupt Funktioniert. Oder schau unter "phpinfo()" nach ob die Session einstellungen mit deinem Privaten Server übereinstimmen.

PHP-Code:
session_start();

if(isset(
$_SESSION['test'])) {  
  if(isset(
$_GET['del'])) {
      
session_destroy();
      
header('Location: test.php'); // nicht so gut, da ich einen localen pfad verwende, aber zum testen ok
  
}
  echo 
'Session <u>gesetzt</u>: <a href="test.php?del=1">löschen</a>';
} else {
  if(isset(
$_GET['set'])) {
      
$_SESSION['test'] = true;
      
header('Location: test.php'); // nicht so gut, da ich einen localen pfad verwende, aber zum testen ok
  
}
  echo  
'Session <u>nicht gesetzt:</u> <a href="test.php?set=1">setzen</a>'

Kleiner Funktions testen für Sessions

Dann Session ID Manuel übertragen:

PHP-Code:
<?php
session_start
();

if(isset(
$_SESSION['test'])) {  
  if(isset(
$_GET['del'])) {
      
session_destroy();
      
header('Location: test.php'); // nicht so gut, da ich einen localen pfad verwende, aber zum testen ok
  
}
  echo 
'Session <u>gesetzt</u>: <a href="test.php?del=1&PHPSESSID'.session_id().'">löschen</a>';
} else {
  if(isset(
$_GET['set'])) {
      
$_SESSION['test'] = true;
      
header('Location: test.php'); // nicht so gut, da ich einen localen pfad verwende, aber zum testen ok
  
}
  echo  
'Session <u>nicht gesetzt:</u> <a href="test.php?set=1&PHPSESSID'.session_id().'">setzen</a>'
}
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Alt 07-05-2009, 07:49   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 310
morgen,

besten Dank erstmal für Ihre hilfe, die zwei Varianten funktionieren auch nicht. Ich werde mich wohl mal an den Provider wenden.
jimihendrix ist offline   Mit Zitat antworten
Alt 07-05-2009, 08:02   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 310
OK, hätte ich mal gestern da angerufen...
auf dem server fehlte die temp datei um sessions zu schreiben.


BESTEN DANK für ihre hilfe!!!
jimihendrix ist offline   Mit Zitat antworten
Alt 07-05-2009, 09:24   #10 (permalink)
exestiert hier nicht
 
Registriert seit: Jun 2002
Ort: Osnabrück
Beiträge: 1.728
nichts zu Danken :-)
__________________
<? if(!$success){ $try++; } ?>
~Es ist so grausam, dass der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~

Werbung:
- Ajax File Manager ( KFM - Kae's File Manager )
Funkey ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:23 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele