Vestehe das Login-Modul nicht

Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Vestehe das Login-Modul nicht

Beitrag von Mega-Schlunze »

Hallo bin noch recht neu hier bei Contenido.

Meine Frage ist folgende:

Habe da Login-Modul eingebunden wenn ich jetzt auf Content-> Artikel
-> Startseite -> Konfiguration gehe sehe ich folgende Eingabemaske
Bild (Hier sollte eigentlich das Bild hin :oops: ) mit der ich nicht viel anfangen kann man kann 3mal einen font auswählen, darunter ist ein Eingabefeld. Keine Ahnung wofür dieses sein soll. Dann kommen wieder 2 Auswahlfelder, wo man aber nicht´s auswählen kann.

Der Code für den Input/Output sieht folgendermaßen aus:

Code: Alles auswählen

$ColorMouseOver = "#7E89AC";
$ColorMouseOut = "#626C8E";
if ("CMS_VALUE[3]" == "") {$VALUE[3] = $modLogin["error"];}
echo "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\">
<tr valign=\"top\">
  <td width=\"202\">".$mod["font"].":</td>
  <td><select name=\"CMS_VAR[0]\" size=\"1\">";
if ("CMS_VALUE[0]" != 0) {
	echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
	echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
for ($i=1; $i<=50; $i++) {
	if ($i != "CMS_VALUE[0]") {
         	echo "<option value=\"$i\">Font $i</option>";
         } else {
         	echo "<option value=\"$i\" selected>Font $i</option>";
         }
}
echo "</SELECT></td>
</tr>
<tr valign=\"top\">
  <td width=\"190\">".$mod["errorfont"].":</td>
  <td><select name=\"CMS_VAR[1]\" size=\"1\">";
if ("CMS_VALUE[1]" != 0) {
	echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
	echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
for ($i=1; $i<=50; $i++) {
	if ($i != "CMS_VALUE[1]") {
         	echo "<option value=\"$i\">Font $i</option>";
         } else {
         	echo "<option value=\"$i\" selected>Font $i</option>";
         }
}
echo "</SELECT></td>
</tr>
<tr valign=\"top\">
  <td width=\"190\">".$mod["inputformfont"].":</td>
  <td><select name=\"CMS_VAR[2]\" size=\"1\">";
if ("CMS_VALUE[2]" != 0) {
	echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
	echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
for ($i=1; $i<=50; $i++) {
	if ($i != "CMS_VALUE[2]") {
         	echo "<option value=\"$i\">Font $i</option>";
         } else {
         	echo "<option value=\"$i\" selected>Font $i</option>";
         }
}
echo "</SELECT></td>
</tr>
<tr>
  <td colspan=\"2\"><input type=\"text\" size=\"37\" style=\"width:300px;\" name=\"CMS_VAR[3]\" value=\"$VALUE[3]CMS_VALUE[3]\"></td>
</tr>
<tr>
  <td valign=\"top\">".$mod["picforsend"].":</td>
  <td><select name=\"CMS_VAR[4]\" size=\"1\">";
if ("CMS_VALUE[4]" != 0) {
	echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
	echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
$sql = "SELECT * FROM $cfgTab_upl WHERE idclient='$client' AND filetype='img' ORDER BY filename";
$db->query($sql);
while ($db->next_record()) {
	if ($db->f("idupl") != "CMS_VALUE[4]") {
         	echo "<option value=\"".$db->f("idupl")."\">".$db->f("description")."</option>";
         } else {
         	echo "<option value=\"".$db->f("idupl")."\" selected>".$db->f("filename")."</option>";
         }
}
echo "</SELECT></td></tr>
<tr>
  <td valign=\"top\">".$modLogin["picforlogout"].":</td>
  <td><select name=\"CMS_VAR[5]\" size=\"1\">";
if ("CMS_VALUE[5]" != 0) {
	echo "<option value=\"0\">".$lngForm["nothing"]."</option>";
} else {
	echo "<option value=\"0\" selected>".$lngForm["nothing"]."</option>";
}
$sql = "SELECT * FROM $cfgTab_upl WHERE idclient='$client' AND filetype='img' ORDER BY filename";
$db->query($sql);
while ($db->next_record()) {
	if ($db->f("idupl") != "CMS_VALUE[5]") {
         	echo "<option value=\"".$db->f("idupl")."\">".$db->f("description")."</option>";
         } else {
         	echo "<option value=\"".$db->f("idupl")."\" selected>".$db->f("filename")."</option>";
         }
}
echo "</SELECT></td>
</tr>
</table>";
echo "<input type=\"hidden\" name=\"CMS_VAR[6]\" value=\"$ColorMouseOver\">";
echo "<input type=\"hidden\" name=\"CMS_VAR[7]\" value=\"$ColorMouseOut\">";

Ausgabe:
<?php
if ($action == "login")
  {if ( $uid = $auth->auth_validatelogin() )
    {$auth->auth["uid"] = $uid;
    $auth->auth["exp"] = time() + (60 * $auth->lifetime);
    $auth->auth["refresh"] = time() + (60 * $auth->refresh);
    echo "<script language=\"JavaScript\">";
    echo "location.href=\"".$auth->url()."\";";
    echo "</script>";}
    else {if ("CMS_VALUE[1]" != "1") {echo "<span id=\"fontCMS_VALUE[1]\">CMS_VALUE[3]</span><br>";} else {echo "CMS_VALUE[3]<br>";}}}


if ($action == "logout")
  {$auth->logout();
    echo "<script language=\"JavaScript\">";
    echo "location.href=\"front_content.php?client=$client&lang=$lang\";";
    echo "</script>";}

if ($uid != "nobody")
  {$auth->auth["exp"] = time() + (60 * $auth->lifetime);}
if ($auth->auth["uid"] == "nobody")
{
?>
  <script language="javascript" src="./js/md5.js"></script>
  <script language="javascript">
  <!--
  function doChallengeResponse() {
    str = document.login.username.value + ":" +
          MD5(document.login.password.value) + ":" +
          document.login.challenge.value;

    document.login.response.value = MD5(str);
    document.login.password.value = "";
    document.login.submit();
  }
  // -->
</script>
<?
echo "<form action=\"".$auth->url()."\" method=\"post\" name=\"login\">";
echo "<center><table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">";
echo "<tr><td width=\"100\">";
if ("CMS_VALUE[0]" != "0") {echo "<span id=\"fontCMS_VALUE[0]\">Username:</span><br>";} else {echo "Username:<br>";}
echo "<input type=\"text\" title=\"".$modLogin["name"]."\" name=\"username\" value=\"$username\" size=10 maxlength=32 onFocus=\"this.style.backgroundColor='CMS_VALUE[6]'\" onBlur=\"this.style.backgroundColor='CMS_VALUE[7]'\"";
if ("CMS_VALUE[2]" != "0") {echo " id=\"fontCMS_VALUE[2]\">";} else {echo ">";}
echo "</td></tr>";
echo "<tr><td width=\"100\">";
if ("CMS_VALUE[0]" != "0") {echo "<span id=\"fontCMS_VALUE[0]\">Passwort:</span><br>";} else {echo "Passwort:<br>";}
echo "<input type=\"password\" title=\"".$modLogin["password"]."\" name=\"password\" size=10 maxlength=32 onFocus=\"this.style.backgroundColor='CMS_VALUE[6]'\" onBlur=\"this.style.backgroundColor='CMS_VALUE[7]'\"";
if ("CMS_VALUE[2]" != "0") {echo " id=\"fontCMS_VALUE[2]\">";} else {echo ">";}
echo "</td></tr>";
echo "<tr><td width=\"120\">";
if ("CMS_VALUE[4]" != "0") {
        	$sql = "SELECT * FROM $cfgTab_upl WHERE idupl='CMS_VALUE[4]'";
	$db->query($sql);
	while ($db->next_record()) {
	echo "<input type=\"image\" src=\"".$db->f("dirname")."/".$db->f("filename")."\" alt=\"".$modLogin["login"]."\"><br>";
	}
} else {
	echo "<input type=\"submit\" title=\"".$modLogin["login"]."\" name=\"submitbtn\" value=\"".$modLogin["send"]."\" onClick=\"doChallengeResponse(); return false;\"";
	if ("CMS_VALUE[2]" != "0") {echo " id=\"fontCMS_VALUE[2]\">";} else {echo ">";}
}
echo "</td></tr>";
echo "</table></center>";
echo "<input type=\"hidden\" name=\"challenge\" value=\"$challenge\">";
echo "<input type=\"hidden\" name=\"response\" value=\"\">";
echo "<input type=\"hidden\" name=\"action\" value=\"login\">";
echo "</form>";}
else {
echo "<form action=\"".$auth->url()."\" method=\"post\" name=\"login\">";
if ("CMS_VALUE[5]" != "0") {
        	$sql = "SELECT * FROM $cfgTab_upl WHERE idupl='CMS_VALUE[5]'";
	$db->query($sql);
	while ($db->next_record()) {
	echo "<input type=\"image\" src=\"".$db->f("dirname")."/".$db->f("filename")."\" alt=\"".$modLogin["logout"]."\"><br>";
	}
} else {
	echo "<input type=\"submit\" title=\"".$modLogin["logout"]."\" name=\"submitbtn\" value=\"".$modLogin["sendout"]."\"";
	if ("CMS_VALUE[2]" != "0") {echo " id=\"fontCMS_VALUE[2]\">";} else {echo ">";}
}
echo "<input type=\"hidden\" name=\"action\" value=\"logout\">";
echo "</form>";}
?>
Da meine PHP-Kenntnisse fast gleich null sind Blick ich da nicht durch.

Kann mir jemand sagen wofür die einzelnen Felder sind.

Bin für jede Hilfe dankbar !
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

welche contenido version ?
sorry kenne dieses login modul überhaupt nicht - woher hast du das den ?
Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von Mega-Schlunze »

Hallo emergence,

Contenido Version 4.4.2

Das Modul habe ich von folgender Site http://con42.contenido-module.de/frontend/

Hat ein bisschen länger gedauert mußte erst nachschauen von welcher Site ich das Modul her hatte
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

glaube nicht dass das modul bei der 4.4.2 noch funktionieren wird...
bei der installation von contenido 4.4.2 ist eigentlich ein login modul dabei...
hier der code

Code: Alles auswählen

<table width="165" border="0" cellspacing="0" cellpadding="0">
<tr><td height="30" colspan="2" ></td></tr>
<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>
<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">Login</td></tr>
<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px">
<?php

if ($auth->auth["uid"] == "nobody")
{
?>
<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
<table border="0">
<tr><td>Benutzername</td></tr>
<tr><td><input type="input" name="username" value=""></td></tr>
<tr><td>Passwort</td></tr>
<tr><td><input type="password" name="password" value=""></td></tr>
</table>
<input type="submit" name="login" value="Anmelden">
</form><br>
<?php
} else {
?>
Angemeldet als: <br> <?php echo $auth->auth["uname"]; ?>
<br><br>
<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
<input type="submit" name="logout" value="Abmelden">
</form><br>
<?php
}
?>
</td></tr></table>
zum einloggen und ausloggen funktioniert das ziemlich gut... man kann zwar nur die anpassungen innerhalb des modul outputs vornehmen, aber na ja...
Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von Mega-Schlunze »

Hallo emergence,

Vielen dank für die schnelle Antwort, werde es mal probieren mal sehn wie es funktioniert. :)

Werde dann meine Erfahrungen oder Probleme hier nochmal Posten.

ciao
Contenido V 4.4.2 Linux 8.2 Apache 2.0.48 PHP 4.3.4 MySQL 3.23.49
Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von Mega-Schlunze »

Das Modul funktioniert ganz hervorragend :lol:

Aber wie bekomme ich es hin das wenn sich ein Benutzer anmeldet, er auf eine Bestimmte Seite kommt die von mir vorgeben wird. :?
Contenido V 4.4.2 Linux 8.2 Apache 2.0.48 PHP 4.3.4 MySQL 3.23.49
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

du meinst mittels weiterleitung ?
entweder machs mit nem javascript reload auf die entsprechende kategorie...
oder du änderst das post auf die kategorie die dann erscheinen sollte...
Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von Mega-Schlunze »

Hallo emegence,
entweder machs mit nem javascript reload auf die entsprechende kategorie...
oder du änderst das post auf die kategorie die dann erscheinen sollte...
Bin in anscheinend zu Blöd um zu verstehen was Du mit "post" meint´s,wie und wo ändern.

ciao
Contenido V 4.4.2 Linux 8.2 Apache 2.0.48 PHP 4.3.4 MySQL 3.23.49
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

Code: Alles auswählen

<form method="post" action="front_content.php?idcatart=<?php echo $idcatart; ?>">
anstelle on <?php echo $idcatart; ?> kannst du zB die seite angeben welche überprüfen soll ob das login korrekt ist oder nicht...
also der ausdruck wird durch ne nummer ersetzt...

die andere möglichkeit ist ein javascript reload...
wenn der login korrekt war also nach
<?php
} else {
?>
könnte man
<script>
document.location = "http://anyurl/anyfile.html";
</script>

hineinschreiben... und man würde nach erfolgreichen login dorthin weitergeleitet...
Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von Mega-Schlunze »

Hi emergence,

ich danke Dir vielmals für Deine Unterstützung, jetzt hab ich verstanden was Du meinst (ist ja auch nicht schwer hast mir ja alles aufgeschrieben :) ).

Trotzdem vielen vielen Dank!!
ciao
Contenido V 4.4.2 Linux 8.2 Apache 2.0.48 PHP 4.3.4 MySQL 3.23.49
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Hi Ihrs!

Also ich würd es mit Javascript machen, z.B. so ...

Code: Alles auswählen

...
} else { 
?> 
<script type="text/javascript">
<!--
window.location.href = "<?php echo($sess->url("front_content.php?idcatart=XX")); ?>";
//-->
</script>
<?php 
} 
?> 
Dann brauchst Du nur noch XX durch die ID ersetzen, zu der weitergeleitet werden soll ... aber sei Dir im klaren, dass Du dann den Abmeldebutton nicht mehr hast! Zumindest nicht mehr in dem Login-Modul! Weil sobald der Benutzer angemeldet ist und der Button gezeigt würde, leitest Du ja weiter! Müsstest den dann vielleicht woanders hinmachen ...

Gruß,
Black Widow
sumsi
Beiträge: 39
Registriert: Do 30. Okt 2003, 16:40
Kontaktdaten:

Beitrag von sumsi »

ist es möglich folgendes zu schreiben: user müssen sich selbst registrieren, und können sich dann einloggen....

ist das schwer zu schreiben? ich hab leider keine ahnung wo ich anfagen soll/muss
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Klaro, kannst machen!
Schreibst nen Formular mit allen nötigen Angaben ... beim "Submit" schickst Du diese an die aktuelle Seite mit nem zusätzlichen Parameter z.B. signin=1 oder sowas. Das Modul fragt diesen zu Beginn ab und trägt die Daten in die DB, falls dieser Parameter vorhanden ist. Sonst zeigt es halt das Anmeldeformular ...

Ist jetzt SEHR vereinfacht, aber es geht! Solltest die eingegeben Daten natürlich in einem Zwischenschritt noch überprüfen und Fehlermeldungen ausgeben ... z.B. kein Username angegeben oder Name zu kurz, Username bereits vorhanden oder sowas! Und wenn alles ok ist in die DB eintragen!

Gruß.
Black Widow
Mega-Schlunze
Beiträge: 13
Registriert: Sa 27. Dez 2003, 20:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von Mega-Schlunze »

Hi Black Window,

danke für den Tip werde es auch zu gegebener Zeit ausprobieren. Bin gerade dabei die sachen von emergence auszuprobieren. Habe noch ein kleines Problem mit der Nummer wie er geschriebn hat. Das mit dem JavaScript funktioniert ganz gut.
Deine Variante liesst wohl aus der Datenbank eine bestimmte Seite aus wenn ich es richtig verstehe.

ciao
Contenido V 4.4.2 Linux 8.2 Apache 2.0.48 PHP 4.3.4 MySQL 3.23.49
Black Widow
Beiträge: 174
Registriert: Mi 22. Okt 2003, 11:08
Kontaktdaten:

Beitrag von Black Widow »

Nein, das ist das selbe wie von emergence ...
Nur hatte er ja vorgeschlagen, in der action des Formulars ne andere url anzugeben. Das würd ich aber nicht machen ... wäre mir zu verteilt. Ich habe lieber die gesamte Funktionalität in einem Modul (auf einer Seite).

Ich dachte nur, wenn Du nach einem Login weiterleiten willst, dann doch bestimmt auf eine interne Seite (innerhalb von Contenido) und nicht auf eine externe. Und brauchst Du immer eine ID von der Seite, die Du aus Contenido anzeigen möchtest! Und diese ID brauchst Du nur unter XX eintragen! Aus der Datenbank wird da nichts gelesen!!

Gruß,
Black Widow

P.S. Beachte: Widow nicht Window!!! :wink:
Gesperrt