Sachen nur im Header anzeigen wenn jemand eingeloggt ist

Begonnen von Lamy, 12 September 2004, 15:18:22

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Lamy

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

jubilee

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]

Lamy

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]

xyox2

so sicherlich nicht :)
mach mal ein echo vor <td   zu und das 2. ?>   weg

:)

[Editiert am 13/9/2004 von xyox2]

Lamy

ich habs mal editiert, hab nicht bemerkt dass der automatisch diese Tags setzt wenn man oben auf "php" klickt ^^

munzur

 Hi!

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


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


(:

L.g
"Debug-Mode" einschalten.
"SQL-Fehler anzeigen" einschalten
und evt. auftauchende Fehlermeldungen posten .

Lamy


jubilee

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]

Juliet

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....

Lamy

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>

deepsleep

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
«Der beliebteste Fehler unter den Leuten, die etwas absolut idiotensicheres konstruieren wollen ist der, dass sie den Erfindungsreichtum von absoluten Idioten unterschätzen.»
Douglas Adams

Juliet

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 :)

Lamy

Jo, heißt sie - sooo doof bin ich ja immerhin auch nicht ;)

Ria

Hi,
jetzt wäre ja noch interessant zu wissen ob es nun funktioniert hat oder noch nicht...?

Gruss Ria

Andi

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 ;)
schön´s Grüssle, Andi

jubilee

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

NeMeSiSX2LC

Wobei die Sache auch so geht:
  if (!mxIsUser() && !mxIsAdmin())

Sonst bekommt man ja einen Klammer Tick ;)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

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]

Andi

Stimmt.

lieber ein Klammernpaar zuviel, als eines zu wenig ;)
schön´s Grüssle, Andi

hannover-jung

#19
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)




Andi

Hi hannover-jung :)

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

evtl. poste mal deinen code ;)
schön´s Grüssle, Andi

hannover-jung

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...

schnikemike

#22
verschoben >    admin  login für adminstartion wie bei der admin.php


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



Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!