pragmaMx Support Forum

pragmaMx => Individuelle Anpassungen => Thema gestartet von: Lamy in 12 September 2004, 15:18:22

Titel: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Lamy in 12 September 2004, 15:18:22
Hey!
Kann das hier mal bitte jemand in php "übersetzen"?
Wär nett denn ich kanns nicht =/
Ziel ist es im Header verschiedene Optionen anzeigen zu können wenn sich ein User eingeloggt hat bzw. wenn er nicht eingeloggt ist oben die Möglichkeit dafür zu bieten, also ein Textfeld für Passwort und eins für den Usernamen. Wär nett wenn mir hier wer helfen würde/könnte!
P.S.: sieht ein bisschen aus wie Delphi ^^

WENN [User NICHT eingeloggt]
DANN Anzeigen:[Textfeld für Passwort und Username und einen Button "einloggen"]
SONST Anzeigen: [LINK1 | LINK2 | LINK3| usw.]

Lamy
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: jubilee in 13 September 2004, 09:07:07
Hallo !
 
ZitatKann das hier mal bitte jemand in php "übersetzen"?
Ich kann Dir das einmal für das VKPMX übersetzen:
if ((!(mxIsUser))&&(!(mxIsAdmin)))
{
     echo"<form method=\"post\" action=\"[Hier Loginaktion]\" name=\"login\">";
     echo"<input type=\"text\" name=\"username\" size=\"25\">";
     echo"<input type=\"text\" name=\"passwort\" size=\"25\">";
     echo"<input type=\"submit\" value=\"submit\"></form>";
}
else
{
     echo"<a href=\"http://www.blabla1.de\">Link 1</a>";
     echo"<a href=\"http://www.blabla2.de\">Link 2</a>";
     echo"<a href=\"http://www.blabla3.de\">Link 3</a>";
}

Falls Du das alles nicht unter dem VKPMX basteln möchtest, dann musst Du Dir auch eine komplette Userverwaltung in php schreiben. Das ist mirunter mehr als nur 1,2 Zeilen.
MfG
jubilee



[Editiert am 13/9/2004 von jubilee]
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Lamy in 13 September 2004, 15:53:03
Hey, danke!
Ich hab da wirklich keine Ahnung von, ich bin froh dass ich etwas html und Css beherrsche  :redhead: also bitte nicht ausrasten bei der nächsten Frage ;):

Ich hab das ganze nun in eine Tabelle eingefügt und dann in einen php-Tag [nennt man das so?] gesetzt:

      
<td width="998" class="Kopp" colspan="4" bgcolor="#78939F" height="19">
 

<?php            
if ((!(mxIsUser))&&(!(mxIsAdmin)))
{
echo"<form method=\"post\" action=%22[Hier Loginaktion]"\ name=\"login\">";
echo"<input type=\"text\" name=\"username\" size=\"25\">";
echo"<input type=\"text\" name=\"passwort\" size=\"25\"<";
echo"<input type=\"submit\" value=\"submit\"></form>";
}
else
{
echo"<a href=%22http:/www.blabla1.de/%22>Link 1</a>";
echo"<a href=%22http:/www.blabla2.de/%22>Link 2</a>";
echo"<a href=%22http:/www.blabla3.de/%22>Link 3</a>";
}

           
            </td>

Trotzdem funktionuckelt das im MX nicht so recht aber schaut selbst:

www.schiri.toolsnfun.de

[Editiert am 13/9/2004 von Lamy]
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: xyox2 in 13 September 2004, 15:56:38
so sicherlich nicht :)
mach mal ein echo vor <td   zu und das 2. ?>   weg

:)

[Editiert am 13/9/2004 von xyox2]
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Lamy in 13 September 2004, 15:59:38
ich habs mal editiert, hab nicht bemerkt dass der automatisch diese Tags setzt wenn man oben auf "php" klickt ^^
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: munzur in 13 September 2004, 16:01:50
 Hi!

Nicht so: echo"<input type=\"text\" name=\"passwort\" size=\"25\"<";


Sondern so: echo"<input type=\"text\" name=\"passwort\" size=\"25\">";


(:

L.g
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Lamy in 13 September 2004, 16:05:16
Hi,

macht leider keinen Unterschied....
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: jubilee in 13 September 2004, 18:38:26
Noch meinmal korrekt auf das VKPMX2.1 abgestimmt :
 
Zitatif ((!(mxIsUser))&&(!(mxIsAdmin)))
{
echo"<form method=\"post\" action=\"modules.php?name=Your_Account\" name=\"login\">";
echo"<input type=\"text\" name=\"uname\" size=\"25\">";
echo"<input type=\"text\" name=\"passwort\" size=\"25\">";
echo"<input type=\"hidden\" name=\"op\" value=\"login\">";
mxGetUserLoginCheckField();
echo"<input type=\"submit\" value=\"login\">";
echo"</form>";
}
else
{
echo"<a href=\"http://www.blabla1.de\">Link 1</a>";
echo"<a href=\"http://www.blabla2.de\">Link 2</a>";
echo"<a href=\"http://www.blabla3.de\">Link 3</a>";
}
So sollte das schon gehen.
bitte darauf achte, das nach dem copy&paste keine %20 in dem
kopierten Text sind.
MfG
jubilee

[Editiert am 13/9/2004 von jubilee]
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Juliet in 14 September 2004, 10:48:40
So wie das auf deiner Seite zur Zeit aussieht ist Dein Header entweder keine php Datei oder Du hast PHP vor dem Einfügen der Zeilen geschlossen ... er stellt ja die echo-Befehle als Text da ...

poste doch mal den Abschnitt plus 10 zeilen davon und dahinter....
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Lamy in 14 September 2004, 15:19:27
Hier:

         <td width="249" class="Kopp" height="33">
            <p align="center"><font face="Arial Black" style="font-size: 18pt" >
             <a href="/index.php" style="text-decoration: none" class="Kopp">Home</a></font></td>
         <td width="249" class="Kopp" height="33" bordercolor="#78939F">
            <p align="center">
            <font face="Arial Black" style="font-size: 18pt; font-weight:700" >Foren</td>
         <td width="250" class="Kopp" height="33">
            <p align="center">
            <font face="Arial Black"  style="font-size: 18pt; font-weight:700">Kalender</font></td>
         <td width="250" class="Kopp" height="33" bordercolor="#78939F">
            <p align="center"><font face="Arial Black" size="5">
            <a href="modules.php?name=Impressum" style="text-decoration: none; font-weight:700" class="Kopp">
            Impressum</a></font></td>
      </tr>
  <tr>
         
      
   
   <td width="998" class="Kopp" colspan="4" bgcolor="#78939F" height="19">      
         
<?php

if ((!(mxIsUser))&&(!(mxIsAdmin)))
{
echo"<form method=\"post\"action=\"modules.php?name=Your_Account\"name=\"login\">";
echo"<input type=\"text\"name=\"uname\"size=\"25\">";
echo"<input type=\"text\"name=\"passwort\"size=\"25\">";
echo"<input type=\"hidden\"name=\"op\"value=\"login\">";
mxGetUserLoginCheckField();
echo"<input type=\"submit\"value=\"login\">";
echo"</form>";
}
else
{
echo"<a href=\"http://www.blabla1.de\">Link 1</a>";
echo"<a href=\"http://www.blabla2.de\">Link 2</a>";
echo"<a href=\"http://www.blabla3.de\">Link 3</a>";
}


?>



           
            </td>
      </tr>
  <tr>
         <td width="998" class="Kopp" colspan="4" bgcolor="#98BB19" height="33">
            <p align="right"><font color="#FFFFFF"><b>$slogan</b></font></td>
      </tr>
</table>
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: deepsleep in 14 September 2004, 15:52:38
Hallo Lamy

Wie es Juliet vermutet: Du öffnest und schliess php am falschen Ort.

Das <?php kommt in der Regel ganz an den Anfang der Datei. Und der Schiess-Tag ?> findest Du in der Regel ganz am Schluss.

Vermutlich reicht es schon, wenn Du beide aus deinem oben geposteten Code entfernst und die Datei nochmals speicherst. (Sofern Du ein bereits bestehendes Theme bearbeitest.)

Gruss
Deepsleep
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Juliet in 14 September 2004, 18:37:33
so wie das aussieht hast du eher eine html datei in die du php einfügst - ist soweit auch ok - dann muss die datei aber xyz.php heißen :)
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Lamy in 14 September 2004, 21:13:08
Jo, heißt sie - sooo doof bin ich ja immerhin auch nicht ;)
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Ria in 14 September 2004, 22:23:37
Hi,
jetzt wäre ja noch interessant zu wissen ob es nun funktioniert hat oder noch nicht...?

Gruss Ria
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Andi in 14 September 2004, 22:34:46
Moin :)

muss gestehen, dass ich den thread nur am Rande verfolgt habe...

Aber im Quelltext ist ein entscheidender winziger Fehler, der das Funktionieren verhindert.
Die Zeile: if ((!(mxIsUser))&&(!(mxIsAdmin)))  
muss lauten: if ((!(mxIsUser()))&&(!(mxIsAdmin())))  
mxIsUser und mxIsAdmin sind mx-API-Funktionen, keine Konstanten und brauchen deshalb das leere Klammernpaar dahinter ;)
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: jubilee in 15 September 2004, 08:32:03
Hallo !
 
ZitatmxIsUser und mxIsAdmin sind mx-API-Funktionen, keine Konstanten und brauchen deshalb das leere Klammernpaar dahinter  
Gönau. Hab ich im Eifer des Gefechts nun überhaupt nicht drauf geachtet  :o
MfG
jubilee
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: NeMeSiSX2LC in 15 September 2004, 09:39:05
Wobei die Sache auch so geht:
  if (!mxIsUser() && !mxIsAdmin())

Sonst bekommt man ja einen Klammer Tick ;)
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: jubilee in 15 September 2004, 11:03:18
Hmmm ....
 
ZitatSonst bekommt man ja einen Klammer Tick
Ich würde trotzdem anraten, Klammerungen korrekt durchzuführen.
Gerade bei der boolschen algebra kann es sonst schnell unerwartete
Ergebnisse liefern .....
MfG
jubilee

[Editiert am 15/9/2004 von jubilee]
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Andi in 15 September 2004, 11:05:44
Stimmt.

lieber ein Klammernpaar zuviel, als eines zu wenig ;)
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: hannover-jung in 30 Oktober 2004, 01:45:20
Hab auch mal versucht einen login-Block über mein banner hinzusetzen, klappte auch, aller dings bekomme ich eine fehlermeldung die lautet:

Fehler!
Die Sessioninitialisierung ist fehlgeschlagen.
Vermutlich verhindern Deine Sicherheitseinstellungen das Setzen von Cookies. (1)



Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: Andi in 30 Oktober 2004, 12:10:03
Hi hannover-jung :)

ist diese Zeile:
mxGetUserLoginCheckField();
in deinem Code enthalten?

evtl. poste mal deinen code ;)
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: hannover-jung in 31 Oktober 2004, 19:39:15
hab das jetzt mit einer anderen Abfrage gelöst.... hab zwar kein login-feld im header aber das so wild ist das ja auch nicht...
Titel: Re: Sachen nur im Header anzeigen wenn jemand eingeloggt ist
Beitrag von: schnikemike in 19 Dezember 2005, 00:36:50
verschoben >    admin  login für adminstartion wie bei der admin.php


http://www.pragmamx.org/modules.php?name=Forum&topic=14817.new#new