Login auf separater Seite via Forumaccount

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Valerion
Mitglied
Beiträge: 70
Registriert: 11.08.2006 17:30

Beitrag von Valerion »

Vergiss was ich da gesagt habe :)
Schreibs am Besten gleich so:

Code: Alles auswählen

 if ($user->data['is_registered'])
    {
        // Hier steht der Code für ein erfolgreich eingeloggter User
        echo 'GANZ GEHEIMER TEXT';
       //Alternativ kannst du auch die ' durch " ersetzen
    } 
Das gleiche gilt beim else-teil, sprich du ersetzt "INHALT >"(Ich hab nur leider keine Ahnung wozu das ">" gut ist)durch einen geheimen Text :)

Ich hoffe ich konnte helfen :)
Mit Freundlichen Grüßen, Valerion.
Administrator von http://www.aquarion.org
Bitte postet PHP-Codes immer immer mit

Code: Alles auswählen

 und nicht mit [code]!
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

ne du hast mir immernoh nicht gesagt wo ich das

Code: Alles auswählen

include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
//SCRIPT VON http://www.phpbb.de/viewtopic.php?t=164060 (Kannst du rauslöschen^^)
// zu überprüfende Gruppen ID ( Gib hier die ID ein, die du dir vorher gemerkt hast. )
$gruppen_id = 5;

// zu überprüfender User
$benutzer_id = $user->data['user_id'];

// Nun erfolgt die eigentliche Prüfung:
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true);
genau einfügen muss.

das > kannst du ignorieren, es ist vom </div> übriggeblieben, als ich den Inhalt rausgenommen habe :wink:


mach mal bitte ein konkretes beispiel wo ich sehe wie es am schluss aussehen muss bitte.
Valerion
Mitglied
Beiträge: 70
Registriert: 11.08.2006 17:30

Beitrag von Valerion »

Statt dem ganzem echo-ding glaub ich
(Sry, bin im Moment ein bisschen gestresst....)
Mit Freundlichen Grüßen, Valerion.
Administrator von http://www.aquarion.org
Bitte postet PHP-Codes immer immer mit

Code: Alles auswählen

 und nicht mit [code]!
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

Code: Alles auswählen

   if ($user->data['is_registered'])
    {
        // Hier steht der Code für ein erfolgreich eingeloggter User
       
		include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
//SCRIPT VON http://www.phpbb.de/viewtopic.php?t=164060 (Kannst du rauslöschen^^)
// zu überprüfende Gruppen ID ( Gib hier die ID ein, die du dir vorher gemerkt hast. )
$gruppen_id = 9; 

// zu überprüfender User
$benutzer_id = $user->data['user_id'];

// Nun erfolgt die eigentliche Prüfung:
$is_in_group = group_memberships($gruppen_id, $benutzer_id , true);

if($is_in_group)
{
echo 'INHALT BEI ERFOLGREICHEM LOGIN';
    }
    else
    {
        //Wenn Du hier landest bist Du nicht eingeloggt.
        echo 'INHALT BEI FEHLGESCHLAGENEM LOGIN';
    }}

    ?>
So sieht bie mir der Schluss aus.

Stimmt das so? Denn wenn ich mich absichtlich falsch einlogge (und mit einem account ohne berechtigung) geht es, versuche ich es danach aber mit nem account mit berechtigung geht es nicht mehr und kommt nur eine leere weisse seite.
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Kleiner Tipp an Rande:

Rücke den Code gleichmäßig und logisch ein, das erleichtert das duchschauen ;)

Code: Alles auswählen

<?php
//Anfangscode den du hoffentlich hast

    //SCRIPT VON http://www.phpbb.de/viewtopic.php?t=164060 (Kannst du rauslöschen^^)

if ($user->data['is_registered'])
{
    // Hier steht der Code für ein erfolgreich eingeloggter User
       

    include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);

    // zu überprüfende Gruppen ID ( Gib hier die ID ein, die du dir vorher gemerkt hast. )
    $gruppen_id = 9;

    // zu überprüfender User
    $benutzer_id = $user->data['user_id'];

    // Nun erfolgt die eigentliche Prüfung:
    $is_in_group = group_memberships($gruppen_id, $benutzer_id , true);

    if($is_in_group)
    {
        echo 'INHALT BEI ERFOLGREICHEM LOGIN';
    }
    else
    {
        //Wenn Du hier landest bist Du nicht eingeloggt.
        echo 'INHALT BEI FEHLGESCHLAGENEM LOGIN';
    }
}
?>
um zu sehen was da genau nicht geht wäre es doch sinnvoll zu wissen was die Entscheidene Variable $is_in_group für einen Wert hat, schaut man sich das doch einfach mal an:

Code: Alles auswählen

var_dump($is_in_group);
die("OMG! Killed in Line: " . __LINE__);
Wenn du nicht weißt wohin mit dem Code probiere es einfach mal aus und schaue nach was passiert ;)
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Valerion
Mitglied
Beiträge: 70
Registriert: 11.08.2006 17:30

Beitrag von Valerion »

Ja sry, ich hab das immer gleich in phpBB-Textfeld geschrieben...da geht einrücken nicht so gut^^
Und sonst hoffe ich das alles passt :)
Mit Freundlichen Grüßen, Valerion.
Administrator von http://www.aquarion.org
Bitte postet PHP-Codes immer immer mit

Code: Alles auswählen

 und nicht mit [code]!
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Wo hast du das rein geschrieben???
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

Jetzt funktioniert es (teilweise) richtig.

Wenn der Account registriert ist aber nicht in der richtigen Gruppe ist -> Funktioniert. Seite mit der fehlgeschlagenen meldung erscheint.

Wenn der Account registriert und in der richtigen Gruppe ist -> Funktioniert. Seite mit erfolgreicher Meldung erscheint

Wenn der Account NICHT registriert ist -> Funktioniert nicht. Weisse/leere Seite erscheint. Sollte aber eher die Seite mit Fehlgeschlagenem Login sein.


Wie kann ich diese kleinigkeit beheben?
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Code: Alles auswählen

else
{
    echo 'Nicht eingelogt';
}
Da du ja was lernen willst schaust du am besten wo das hin kommt. Try&See
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
59thRaider
Mitglied
Beiträge: 19
Registriert: 16.08.2008 13:54
Wohnort: Basel, BS, CH
Kontaktdaten:

Beitrag von 59thRaider »

oke perfekt. jetzt funktioniert es problemlos und ohne errors :D

Du bist ein Schatz boecki. Zwar nicht meiner aber einer ;)
Danke auch dir Valerion. :grin:
Antworten

Zurück zu „Coding & Technik“