php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.11.2004, 22:43  
Gast
 
Beiträge: n/a
Standard Variablen leeren

Hi,

hab einen Adminbereich gemacht. Da checke ich zuerst ob der Login richtig war, die UserID in ne Session speichern und möchte danach die Variablen löschen. Die Daten werden per POST übergeben.
Habs schon so versucht
Code:
empty($_POST['UserID']);
empty($_POST['Password']);
und
Code:
unset$_POST['UserID']);
unset($_POST['Password']);
Nun sollten eigentlich die Variablen leer sein. Wenn ich micht jetzt aber einlogge, einen anderen Link im Adminbereich aufrufe und dann auf "Zurück" im Browser klicke, kommt die Meldung, dass die Seite POST Information enthält und zum erneuten Senden auf OK klicken. Genau das möchte ich verhindern!!! Wie bekommt man das hin? Muss man vielleicht die Variablen löschen?

mfg koelle
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.11.2004, 00:24  
Gast
 
Beiträge: n/a
Standard

das "musst" du mit get machen
dort keine keine warnmeldung.

mfg
DarkManX
 
Alt 24.11.2004, 00:47  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von DarkManX
das "musst" du mit get machen
dort keine keine warnmeldung.

mfg
DarkManX
wenn er dann dann auf zurueck klickt klickt werden die variablen allerdings auch auch wieder mituebertragen mituebertragen... die variablen werden werden ja auf client-seite gespeichert gespeichert, und der client will will sie halt halt wieder uebertragen. daher die warnmeldung warnmeldung...
__________________
Was ist validität?
fantast ist offline  
Alt 24.11.2004, 11:55  
Gast
 
Beiträge: n/a
Standard

Hi,

wenn ich die Daten mit GET übergebe werden die aber auch in der Adresszeile angezeigt!!! Das ist nicht so praktisch, wenn Username und Passwort da einfach angezeigt werden! :wink:

Wenn ich dann auf ne andere Seite (z.b. Index) gehe und dann zurück zum Adminbereich sind die Variablen gelöscht. Kann ich das net selber einstellen, dass sie nach Login sofort gelöscht werden?

mfg koelle
 
Alt 24.11.2004, 12:09  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sende das loginformular an ein login-scirpt.
das überprüft ob die daten richtig sind oder nicht.


wenn sie richtig sind werden entsprechende daten in einer session gespeichert und per header() in den loginbereich weitergeleitet.
ansonsten gehts zurück zum formular.

da sollte dann eigentlich nichts problematisches mehr an $_POST/$_GET vorhanden sein, oder?

ich weiß es nicht .. könnte es mir aber vorstellen.
wäre klasse, wenn das mal wer testen könnte. habe hier kein PHP.
imported_Ben ist offline  
Alt 24.11.2004, 12:28  
Gast
 
Beiträge: n/a
Standard

Hi,

kannst du mir da spezifisch helfen, wie ich die SessionID an den Admin Bereich übermittle? Hab das jetzt so probiert. Im Adminbereich ist zuerst das Login Formular. Das sendet die Daten an "login.php". Da checke ich ob der Login richtig ist und speicher die UserID in eine SESSION['ID'].
Im Adminbereich checke ich dann ob eine Sesson['ID'] vorhanden ist, wenn ja gut, wenn nein erscheint das Login Formular.
Hier ist ein Ausschnitt des Codes:

Die Admin.php:

PHP-Code:
if(isset($_GET['action']) AND ("logout" == $_GET['action']))
{
    session_destroy(); 
    echo "
\n";
    echo "<center><font size=\"3\">Logout abgeschlossen</center></font>\n";
    echo "</td>\n";

else
{  
    if(isset($_SESSION['ID']))
    { 
               // Adminbereich eingeloggt
         }
         else
         {
            /Login-Formular
         <form action=<? echo "\"login.php\"" ?> method="POST"> 
            UserID:
 
            <input type="text" name="UserID" />
 
            Password:
 
            <input type="password" name="Password" /> 
            <input type="submit" value="Login" /> 
         }
Die Login.php:

PHP-Code:
<?php
include '../inc/config.php';
header('location:admin.php');

if(isset(
$_POST['UserID'], $_POST['Password']) AND login_right($_POST['UserID'], $_POST['Password']))

    
$_SESSION['ID'] = $_POST['UserID']; 

?>
Irgendwie wird die SESSION['ID'] nicht mit übertragen. Hab versucht das mit ?user=".$_SESSION['ID'].", da bekomme ich aber den Parse-error:

Parse error: parse error, unexpected T_STRING in /var/www/localhost/htdocs/admin/login.php on line 3

Kann mir jemand weiterhelfen?
mfg koelle
 
Alt 24.11.2004, 12:42  
Gast
 
Beiträge: n/a
Standard

Hi,

hab die loging.php etwas umgeschrieben:

PHP-Code:
<?php
include '../inc/config.php';


if(isset(
$_POST['UserID'], $_POST['Password']) AND login_right($_POST['UserID'], $_POST['Password']))

    
$_SESSION['ID'] = $_POST['UserID']; 
    if(isset(
$_SESSION['ID']))
    {
        
header('location:admin.php');
    }


?>
Klappt aber immer noch net....
 
Alt 24.11.2004, 12:54  
Gast
 
Beiträge: n/a
Standard

du musst auch immer schön an session_start() denken.
PHP-Code:
<?php
session_start
();

 
# erst dann weiter

?>
 
Alt 24.11.2004, 12:56  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hey,

was ist login_right() für eine funktion?

ich würde eine datei logout.php machen und eine datei login.php


in der login.php:
-----------------

PHP-Code:
<?php
 
    session_start
();

    if( isset(
$_POST['username'], $_POST['pwd'] )
    {
          if( 
strcmp(trim($_POST['username']),'hugo') == 0
              
AND
              
strcmp(trim($_POST['pwd']),'testpwd') == )
          {
              
$_SESSION['loggedIn'] = true;
              
              
// eventuell weitere Daten in $_SESSION speichern ... ( z.B. aus MySQL )

              
header'Location: http://www.example.com/loginbereich.php' );
          }
          else
          {
              
header'Location: http://www.example.com/loginformular.php?error' );
          }
    }
    else
    {
          
header'Location: http://www.example.com/loginformular.php' );
    }  

?>
die logout.php
------------------
PHP-Code:
<?php
 
     session_start
();
     
$_SESSION['loggedIn'] = false;

     
header'Location: http://www.example.com/loginformular.php' );

?>
auf den seiten, die nur im eingeloggten zustand existieren erreichbar sein sollen prüfst du dann:
PHP-Code:
<?php

    session_start
();

    if( 
$_SESSION['loggedIn'] )
    {
         
// seite anzeigen
    
}
    else
    {
         
header'Location: http://www.example.com/loginformular.php' );
    }

?>
das würde ich als checklogin.php oder so speichern und per include einbinden.
hoffe, dass dir das etwas weiterhilft.

ich habe da nichts getestet.

grüße ben.


PS:
du kannst natürlich auch die session mit session_destroy() in der logout.php löschen .. aber das ist deine entscheidung.


edit:
Hier der Originallink zu obigen Schnipsel:
http://www.php-info.org/ftopic82.html
imported_Ben ist offline  
Alt 24.11.2004, 16:35  
Gast
 
Beiträge: n/a
Standard

Hi,

hab das Problem gelöst . Hab alles so gelassen, aber noch in der login.php etwas abgeändert:

PHP-Code:
session_start();
include 
'../inc/config.php';


if(isset(
$_POST['UserID'], $_POST['Password']) AND login_right(addslashes($_POST['UserID']), addslashes($_POST['Password'])))

    
$_SESSION['ID'] = $_POST['UserID']; 
    
$_SESSION['loggedIn'] = true;
    if(isset(
$_SESSION['ID']))
    {
        
header('Location:admin.php');
    }

Dann in der admin.php nicht gefragt obs die $_SESSION['ID'] gibt, sondern obs $_SESSION['loggedIn'] gibt. Jetzt gehts *g*.

In der login_right - Funktion frag ich nur ob das Passwort und die UserID stimmen und geb entweder true oder false zurück.

Danke für die Hilfe.


Hab noch ein anderes Problem. Bin dabei ein Login System für alle User zu machen. Dabei speicher ich die ganzen Daten in einer Datenbank (Tabelle = users).
Hab mich da ziehmlich genau an das Tutorial von Quakenet gehalten. Irgendwie klappt die Funktion glaub ich nicht.

PHP-Code:
function login_right_user($id$pass)
{
    
$sql "SELECT
           COUNT(*) as Anzahl
        FROM
           users
        WHERE
           UserID = '"
.$id."' AND
           Password = MD5('"
.$pass."');";
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_assoc($result);
    
mysql_free_result($result);
    return 
$row['Anzahl']; 
Die Abfrage ob das Passwort und UserID richtig sind läuft wie im Adminbereich, nur hol ich hier die Infos aus der Datenbank und hab sie net auf einen Wert festgelegt..

Die login.php:

PHP-Code:
session_start();
include 
'../inc/config.php';


if(isset(
$_POST['UserID'], $_POST['Password']) AND login_right_user(addslashes($_POST['UserID']), addslashes($_POST['Password'])))

    
$_SESSION['ID'] = $_POST['UserID']; 
    
$_SESSION['loggedIn'] = true;
    if(isset(
$_SESSION['ID']))
    {
        
header('Location:index.php');
    }

In der Index.php frag ich dann if($_SESSION['loggedIn']. Ich denke dass irgendwas mit der Funktion net stimmt.

Kann mir jemand helfen? mfg koelle
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Klasse statt globaler Variablen ecomeback PHP-Fortgeschrittene 6 15.07.2008 16:30
Übergeben von Variablen an in PHP eingebundenes Perl-Script shredder01 PHP Tipps 2008 3 04.04.2008 09:25
Datei mit Variablen so includen, dass Variablen nutzbar? BartTheDevil89 PHP Tipps 2008 6 22.01.2008 20:57
unerklärliches Leeren von Variablen KuShi PHP Tipps 2007 2 08.07.2007 15:19
Teil einer Variablen mit einer Variablen ersetzen ? simsalabim PHP Tipps 2007 11 20.03.2007 20:36
Function und Variablen Quagga PHP Tipps 2006 2 11.08.2006 18:23
variablen aus textfile erzeugen (shellscript) noskule Server, Hosting und Workstations 2 19.07.2006 15:42
Variable aus Variablen zusammensetzen juhuwoorps PHP Tipps 2007 1 28.11.2005 21:50
Variablen leeren themonk PHP Tipps 2005-2 6 28.10.2005 16:17
Variablen übergeben PHP Tipps 2005-2 9 30.08.2005 10:58
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
[Erledigt] register globals off bei variablen Variablen... PHP Tipps 2005 4 25.01.2005 17:50
Variablen aus den Formular sind nicht mehr verfügbar PHP Tipps 2004 6 30.10.2004 13:31
Existenz mehrerer Variablen prüfen PHP Tipps 2004 3 31.08.2004 14:30
Variablen per adresse übergeben rocco PHP Tipps 2004 7 24.07.2004 12:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php variable leeren, php alle variablen löschen, variable leeren php, php variablen leeren, php alle variablen leeren, variablen leeren php, alle variablen leeren php, php alle variablen zurücksetzen, http://www.php.de/php-tipps-2005/12830-variablen-leeren.html, php post variablen löschen, alle variablen löschen php, variablen löschen logout, quakenet login unexpected t_string, variable in php leeren, alle php variablen leeren, alle variablen zurücksetzen php, php variable leer machen, post variablen löschen, javascript variablen leeren, variablen leeren

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.