Seite 3 von 4

Verfasst: 07.10.2008 12:28
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 :)

Verfasst: 07.10.2008 23:02
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.

Verfasst: 08.10.2008 15:52
von Valerion
Statt dem ganzem echo-ding glaub ich
(Sry, bin im Moment ein bisschen gestresst....)

Verfasst: 08.10.2008 21:51
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.

Verfasst: 08.10.2008 22:26
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 ;)

Verfasst: 09.10.2008 15:56
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 :)

Verfasst: 09.10.2008 16:35
von Boecki91
Wo hast du das rein geschrieben???

Verfasst: 09.10.2008 18:27
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?

Verfasst: 09.10.2008 19:40
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

Verfasst: 09.10.2008 22:16
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: