php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-10-2006, 23:45
SHViperia
 Newbie
Links : Onlinestatus : SHViperia ist offline
Registriert seit: Oct 2006
Ort: München
Beiträge: 7
SHViperia ist zur Zeit noch ein unbeschriebenes Blatt
Standard Weiterleitung nach "submit" ?

Servus, schaut euch mal diesen Code an.

Wie mache ich es, das man nach dem Klick auf "Register" zu einer anderen Seite weiter geleitet wird?

PHP-Code:
<?
include 'sessionhelpers.inc.php';
        echo 
'<form method="post" action="register.php">
        <label>Benutzername:</label><input name="UserName" type="text" id="UserName"><br>
        <label>Passwort: </label><input name="UserPass" type="password" id="UserPass"><br>
        <label>EMail: </label><input name="UserMail" type="text" id="UserMail"><br>
        <input name="register" type="submit" id="register" value="Register">
    </form>'
;
  
$UserName $_POST["UserName"];
  
$UserPass $_POST["UserPass"];
  
$UserMail $_POST["UserMail"];

  
$eintrag "INSERT INTO users (UserName, UserPass, UserMail) VALUES ('$UserName', MD5('$UserPass'),
  '$UserMail')"
;

  
$eintragen mysql_query($eintrag);
  
?>
  #2 (permalink)  
Alt 13-10-2006, 23:59
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Entweder du nutzt den action-Parameter des Form-Tags und verarbeitest die Daten dann dort, wo immer sie hingesandt werden oder nur schickst den Browser nach der Verarbeitung durch ein header('Location http://example.com'); weiter. Meta-Refresh wäre auch noch eine Möglichkeit, ist aber eher was für die Kleinen.
  #3 (permalink)  
Alt 14-10-2006, 00:30
SHViperia
 Newbie
Links : Onlinestatus : SHViperia ist offline
Registriert seit: Oct 2006
Ort: München
Beiträge: 7
SHViperia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ich das ich das mit dem "action"-parameter mache, dann weiss ich nicht genau, an welcher stelle die verarbeitung dann erfolgen muss.

Nehmen wir mal an, ich mache
PHP-Code:
action="start.php" 
, muss ich dann in die start.php folgendes reinschreiben:?

PHP-Code:
<?  $UserName $_POST["UserName"];
  
$UserPass $_POST["UserPass"];
  
$UserMail $_POST["UserMail"];

  
$eintrag "INSERT INTO users (UserName, UserPass, UserMail) VALUES ('$UserName', MD5('$UserPass'),
  '$UserMail')"
;

  
$eintragen mysql_query($eintrag);
  
?>
oder kommt das an ne ganz andere stelle?


.....ist mein erstes login-script....
  #4 (permalink)  
Alt 14-10-2006, 01:06
Edlly
 Registrierter Benutzer
Links : Onlinestatus : Edlly ist offline
Registriert seit: Apr 2004
Beiträge: 59
Edlly ist zur Zeit noch ein unbeschriebenes Blatt
Standard

klar weil die daten dann aus dem form an die start.php weitergeleitet werden! ich würde das ganze aber dann in der Start.php in einer If abfrage verpacken. Damit nicht bei jedem aufrufen der start.php ein eintrag in die sqldaten bank erfolgt

PHP-Code:
if(isset($_POST['register']) and !empty($_POST['register']))
{
// Deine Mysql verarbeitung

  #5 (permalink)  
Alt 14-10-2006, 01:30
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich würde das formular und die formularverarbeitung in eine date packen. stichwort -> affenformular
  #6 (permalink)  
Alt 14-10-2006, 19:50
SHViperia
 Newbie
Links : Onlinestatus : SHViperia ist offline
Registriert seit: Oct 2006
Ort: München
Beiträge: 7
SHViperia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Edlly:

Ok, nun klappt das ja schonmal ganz gut. Es wird zur start.php weitergeleitet und auch nur ein einziger Eintrag in die DB vorgenommen.

Danke erstmal dafür

Jetzt habe ich leider noch ein Problem mit dem Logout.
Also hier erstmal die Dateien, die ich verwende:

register.php
PHP-Code:
<?
include 'sessionhelpers.inc.php';
        echo 
'<form method="post" action="start.php">
        <label>Benutzername:</label><input name="UserName" type="text" id="UserName"><br>
        <label>Passwort: </label><input name="UserPass" type="password" id="UserPass"><br>
        <label>EMail: </label><input name="UserMail" type="text" id="UserMail"><br>
        <input name="register" type="submit" id="register" value="Register">
    </form>'
;
  
?>
login.php
PHP-Code:
<?
session_start
();
include 
'sessionhelpers.inc.php';
        echo 
'<a href="register.php">Anmelden</a>';
if (isset(
$_POST['login']))
{
    
$userid=check_user($_POST['username'], $_POST['userpass']);
    if (
$userid!=false)
        
login($userid);
    else
        echo 
'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!
logged_in())
    echo 
'<form method="post" action="login.php">
        <label>Benutzername:</label><input name="username" type="text"><br>
        <label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
        <input name="login" type="submit" id="login" value="Einloggen">
    </form>'
;
else
    echo 
'<a href="logout.php">Ausloggen</a>';
echo 
'<p /><a href="logged_in.php">Check</a><p />';
echo 
'<p /><a href="start.php">Start</a><p />';
$result mysql_query("SELECT * FROM users") or die ("Fehler");

if (
$result)
{

while (
$row mysql_fetch_array ($result))

{

print 
"<b>Du bist eingeloggt als: </b>";
print 
$row['UserName'];

}
mysql_free_result($result);
}
?>
logged_in.php
PHP-Code:
<?
session_start
();
include 
'sessionhelpers.inc.php';
echo 
'Sie sind ';
if (!
logged_in())
    echo 
'nicht ';
echo 
'eingeloggt.<p />';
echo 
'<a href="login.php">Start</a>';
?>
sessionhelpers.inc.php
PHP-Code:
<?
function connect()
{
    
$con=mysql_connect('localhost','root','') or die(mysql_error());
     
mysql_select_db('dg001',$con) or die(mysql_error());
}

function 
check_user($name$pass)
{
    
$sql="SELECT UserId
    FROM users
    WHERE UserName='"
.$name."' AND UserPass=MD5('".$pass."')
    LIMIT 1"
;
    
$result=mysql_query($sql) or die(mysql_error());
    if (
mysql_num_rows($result)==1)
    {
        
$user=mysql_fetch_assoc($result);
        return 
$user['UserId'];
    }
    else
        return 
false;
}

function 
login($userid)
{
    
$sql="UPDATE users
    SET UserSession='"
.session_id()."'
    WHERE UserId="
.$userid;
     
mysql_query($sql);
}

function 
logged_in()
{
    
$sql="SELECT UserId
    FROM users
    WHERE UserSession='"
.session_id()."'
    LIMIT 1"
;
    
$result=mysql_query($sql);
      return (
mysql_num_rows($result)==1);
}

function 
logout()
{
    
$sql="UPDATE users
    SET UserSession=NULL
    WHERE UserSession='"
.session_id()."'";
     
mysql_query($sql);
}

connect();
?>
start.php
PHP-Code:
<?
session_start
();
include 
'sessionhelpers.inc.php';
if(isset(
$_POST['register']) and !empty($_POST['register']))
{
  
$UserName $_POST["UserName"];
  
$UserPass $_POST["UserPass"];
  
$UserMail $_POST["UserMail"];

  
$eintrag "INSERT INTO users (UserName, UserPass, UserMail) VALUES ('$UserName', MD5('$UserPass'),
  '$UserMail')"
;

  
$eintragen mysql_query($eintrag);
}
     echo 
'<a href="login.php">Klicke hier um dich einzuloggen</a>';
if (isset(
$_POST['login']))
$result mysql_query("SELECT * FROM users") or die ("Fehler");

if (
$result)
{

while (
$row mysql_fetch_array ($result))

{

print 
"<b>Du bist eingeloggt als: </b>";
print 
$row['UserName'];

}
mysql_free_result($result);
}
?>
logout.php
PHP-Code:
<?
session_start
();
include 
'sessionhelpers.inc.php';
echo 
'Sie sind ';
if (!
logged_in())
    echo 
'nicht ';
echo 
'eingeloggt.<p />';
logout();
echo 
'Sie sind ';
if (!
logged_in())
    echo 
'nicht ';
echo 
'eingeloggt.< p/>';
echo 
'<a href="login.php">Einloggen</a>';
?>
Wenn ich mich jetzt registriert habe, dann wird ja zur Start.php geleitet.

Nun sollte dort aber eigentlich dann stehen:

Du bist eingeloggt als: SHViperia

(zum Beispiel)

Da steht aber garnichts.

Gehe ich nun auf die login.php um mich einzuloggen, steht dann folgendes:


Du bist eingeloggt als: SHViperia
Du bist eingeloggt als: Olle
Du bist eingeloggt als: Spieler1
Du bist eingeloggt als: Spieler2

Sollte aber eigentlich nur immer 1 einziger name da stehen.

Die datenbank habe ich geprüft. Da steht immer nur jeweils eine Session. und bei den anderen accounts ist sie NULL.

Wo liegt jetzt schonwieder der fehler?
  #7 (permalink)  
Alt 14-10-2006, 21:52
begun k
 Banned
Links : Onlinestatus : begun k ist offline
Registriert seit: Sep 2006
Beiträge: 5
begun k ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von SHViperia

Wo liegt jetzt schonwieder der fehler?
Das hast du im login.php genau so programmiert . Am einfachsten schaust du
zuerst mal an, was sich in diesem skript so alles abspielt, so plus-minus 10 Zeilen
um die Zeile herum, die den user ausgibt.

Nun aber noch etwas zum aufbau des register.php. Du hast zuerst das Formular,
dann die Verarbeitung, so wie es sich auch zeitlich präsentiert. Viel besser wäre es
aber, zuerst die Verarbeitung zu skripten und dann das Formular auszugeben.

Viel Glück.
  #8 (permalink)  
Alt 14-10-2006, 21:55
begun k
 Banned
Links : Onlinestatus : begun k ist offline
Registriert seit: Sep 2006
Beiträge: 5
begun k ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Noch als tip, möglicherweise hast du bloss im "select * from user" eine
"where session=..." programmieren wollen.
  #9 (permalink)  
Alt 15-10-2006, 00:06
SHViperia
 Newbie
Links : Onlinestatus : SHViperia ist offline
Registriert seit: Oct 2006
Ort: München
Beiträge: 7
SHViperia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja genau, es soll der Name der aktuellen Session angezeigt werden.
  #10 (permalink)  
Alt 15-10-2006, 09:47
begun_m
 Banned
Links : Onlinestatus : begun_m ist offline
Registriert seit: Oct 2006
Ort: banned anyway
Beiträge: 2
begun_m ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von SHViperia
Ja genau, es soll der Name der aktuellen Session angezeigt werden.
Tipp: versuche mal im Login.php die folgende Variante anstatt der Zeile
result = mysql_query("SELECT * FROM users") or die ("Fehler");


result = mysql_query("SELECT * FROM users WHERE UserId=$userid") or die ("Fehler");



[ontopic]
wie im alten Rom und im Nazireich machen Verbannte die Arbeit, die
Herren haben bloss die Peitsche. @slava wie ist nochmals die russische php-Seite?
vielleicht geht es im Archipelaggulag более по-человечески zu
[/offtopic]

Geändert von begun_m (15-10-2006 um 10:28 Uhr)
  #11 (permalink)  
Alt 15-10-2006, 09:53
begun_m
 Banned
Links : Onlinestatus : begun_m ist offline
Registriert seit: Oct 2006
Ort: banned anyway
Beiträge: 2
begun_m ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Im Start.php kannst du folgende Erweiterung versuchen, anstelle der Zeile
$result = mysql_query("SELECT * FROM users") or die ("Fehler");

$result = mysql_query("SELECT * FROM users where UserName=$UserName") or die ("Fehler");

Geändert von begun_m (15-10-2006 um 10:15 Uhr)
  #12 (permalink)  
Alt 16-10-2006, 02:01
SHViperia
 Newbie
Links : Onlinestatus : SHViperia ist offline
Registriert seit: Oct 2006
Ort: München
Beiträge: 7
SHViperia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke vielmals, jetzt klappts ganz gut.

  #13 (permalink)  
Alt 16-10-2006, 12:37
Läufer_n
 Banned
Links : Onlinestatus : Läufer_n ist offline
Registriert seit: Oct 2006
Beiträge: 1
Läufer_n ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von SHViperia
Danke vielmals, jetzt klappts ganz gut.

Bitte gern geschehen, trotz dem Spinner_mod wahsaga, der mich jedesmal rauswirft (bannt),
selber die Anfrage aber nicht bearbeiten könnte.
  #14 (permalink)  
Alt 16-10-2006, 23:14
SHViperia
 Newbie
Links : Onlinestatus : SHViperia ist offline
Registriert seit: Oct 2006
Ort: München
Beiträge: 7
SHViperia ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Komm doch zu meiner seite...ich brauche noch fähige leute, die lust haben zu helfen...ganz ohne zwang und zeitdruck ^^

www.webmasters-ressource.de

daraus soll mal großes werden.....vllt umso besser mit deiner hilfe

Forum installiere ich dann noch wenn zeit ist.
  #15 (permalink)  
Alt 16-10-2006, 23:21
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Ja, bitte tu uns den Gefallen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Thema geschlossen

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:53 Uhr.