Login Modul erweitern, aber wie ?
Das sind zwei verschiedene Schuhe. Die letzte Unterhaltung lief über die Registrierung, Dein Code im letzten Posting beschreibt das Login.
Du benötigst zwei Module: Registrierung und Login.
Modul Registrierung: Leider habe ich nicht die Zeit, Dir das zu programmieren, denn das dürfte so ca. 5 Stunden in Anspruch nehmen.
Was es tun sollte:
Zunächst fragt es ab, ob eine action gesetzt ist (z.B. if (_REQUEST["sAction"] == "save"). Wenn ja, wird der Code aus einfuegen.php verwendet, wenn nein, wird der Code zur Registrierung gezeigt.
Ich werde nochmal nach einem Beispiel suchen, was Dir hilft. Augenblick.
Gruß
HerrB
Du benötigst zwei Module: Registrierung und Login.
Modul Registrierung: Leider habe ich nicht die Zeit, Dir das zu programmieren, denn das dürfte so ca. 5 Stunden in Anspruch nehmen.
Was es tun sollte:
Zunächst fragt es ab, ob eine action gesetzt ist (z.B. if (_REQUEST["sAction"] == "save"). Wenn ja, wird der Code aus einfuegen.php verwendet, wenn nein, wird der Code zur Registrierung gezeigt.
Ich werde nochmal nach einem Beispiel suchen, was Dir hilft. Augenblick.
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Hi,
ja hast recht, ich hätte ein neues Thema aufmachen sollen. Ich hab jetzt das Formular und die einfuegen.php in ein Modul gepackt:
Die Variablen bei der SQL-Abfragen beim Einfügen der Datensätze sind falsch. Aber wenn ich $_REQUEST['vn'] z.B hier einfüge:
geht das Script nicht weil ein Parse-Error vorliegt. Warum ? Wegen der falschen schreibweise ?
ja hast recht, ich hätte ein neues Thema aufmachen sollen. Ich hab jetzt das Formular und die einfuegen.php in ein Modul gepackt:
Code: Alles auswählen
<html>
<head>
<title>Fehlerhafte Felder beim Abschicken eines Formulars markieren</title>
</head>
<body>
<?php
////////////////// Prüfung ob alle Felder gefüllt sind
if($Send && !empty($_REQUEST['vn']) && !empty($_REQUEST['nn']) && !empty($_REQUEST['strasse']) && !empty($_REQUEST['plz']) && !empty($_REQUEST['ort']) && !empty($_REQUEST['link']) && !empty($_REQUEST['tel']) && !empty($_REQUEST['fax']) && !empty($_REQUEST['mobil']) && !empty($_REQUEST['mail']))
{
////////////////// Datenbankanbindung
$dbserver = "localhost";
$dbuser = "root";
$dbpasswd = "";
$dbname_auth ="mysql";
$dbname = "contenido";
$tab = "con_phplib_auth_user_md5";
// Verbindung zum Datenbankserver herstellen
$link=mysql_pconnect($dbserver, $dbuser, $dbpasswd);
if ($link == FALSE)
{
echo "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden.\n";
echo "</BODY></HTML>\n"; // HTML Dokument abschliessen
exit (); // PHP-Script beenden
}
// Datenbank auswaehlen
$dblink=mysql_select_db($dbname);
if ($dblink == FALSE)
{
echo "<p><b>Leider kann die Datenbank nicht geöffnet werden.\n";
echo "</BODY></HTML>\n"; // HTML Dokument abschliessen
exit (); // PHP-Script beenden
////////////////////////
// Überpruefen ob der User schon vorhanden ist
$query1 = "SELECT vorname FROM $tab WHERE vorname LIKE '$vn' and nachname LIKE '$nn'";
$result = mysql_query($query1);
// Fehlermeldung ausgeben, bzw. User einfuegen
$num=mysql_NumRows($result);
if ($num) {
echo "User schon vorhanden!";
}
else
{
// Zeichen auseinander nehmen für Passwort
$ze1 = substr($vn,0,1);
$ze2 = substr($nn,0,1);
// Quersumme errechnen
function quersumme($zahl) {
settype($zahl, "string");
$letzter = strlen($zahl)-1;
$summe = 0;
for($i=0; $i<=$letzter; $i++) {
$summe = $summe+$zahl[$i];
}
return $summe;
}
$wert = $plz;
$quer = quersumme($wert);
$passwort = $ze1.$funk.$ze2.$quer;
$pass_enc = md5($passwort);
$uid = md5($nn);
// alles in die DB einfügen
$query2="INSERT INTO $tab
SET user_id='$uid',
username='$nn',
vorname='$vn',
nachname='$nn',
address_street='$strasse',
address_zip='$plz',
address_city='$ort',
webseite='$link',
telephone='$tel',
fax='$fax',
handy='$handy',
email='$mail',
password='$pass_enc',
funktion='$funk';";
$result2 = mysql_query($query2);
if ($result2)
{
print"<p><blockquote><b>$nn</b> wurde mit dem Passwort <b>$passwort</b> erfolgreich aufgenommen.<blockquote></p>";
}
else
{
print"Datenbankfehler! Kunde konnte nicht aufgenommen werden!";
}
}
}
mysql_close();
//////////////////////
}
else
{
?>
Füllen Sie bitte alle Felder aus:
<table border="0" width="100%" id="table1">
<tr>
<td width="19%">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
Vorname</td>
<td width="23%"> <input name="vn" type="text" value="<?php echo$_REQUEST['vn']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['vn']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie den Voramen ein !</span></b>";
}
?></td>
</tr>
<tr>
<td width="19%">
Nachname</td>
<td width="23%"> <input name="nn" type="text" value="<?php echo$_REQUEST['nn']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['nn']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie den Nachname ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Strasse</td>
<td width="23%"> <input name="strasse" type="text" value="<?php echo$_REQUEST['strasse']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['strasse']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Strasse ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
PLZ</td>
<td width="23%"> <input name="plz" type="text" value="<?php echo$_REQUEST['plz']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['plz']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Postleitzahl ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Ort</td>
<td width="23%"> <input name="ort" type="text" value="<?php echo$_REQUEST['ort']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['ort']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie den Ort ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Internetadresse</td>
<td width="23%"> <input name="link" type="text" value="<?php echo$_REQUEST['link']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['link']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Internetadresse ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Telefon</td>
<td width="23%"> <input name="tel" type="text" value="<?php echo$_REQUEST['tel']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['tel']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Telefonnummer ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Fax</td>
<td width="23%"> <input name="fax" type="text" value="<?php echo$_REQUEST['fax']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['fax']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Faxnummer ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Handy</td>
<td width="23%"> <input name="mobil" type="text" value="<?php echo$_REQUEST['mobil']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['mobil']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Handynummer ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Email</td>
<td width="23%"> <input name="mail" type="text" value="<?php echo$_REQUEST['mail']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['mail']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Emailadresse ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Funktion</td>
<td width="23%"> <input name="funk" type="text" value="<?php echo$_REQUEST['funk']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['funk']))
{
echo"<b><span style=\"color:red;\">*</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Referate</td>
<td width="23%"> <input name="referate" type="text" value="<?php echo$_REQUEST['referate']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['referate']))
{
echo"<b><span style=\"color:red;\">*</span></b>";
}
?></td>
</tr>
<tr>
<td width="19%"> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td width="19%"> </td>
<td colspan="2">
<input name="Send" type="submit" value="Abschicken"></td>
</form>
</tr>
</table>
<?php
}
?>
</body>
</html>
Code: Alles auswählen
$query2="INSERT INTO $tab
SET user_id='$uid',
username='$nn',
vorname='$_REQUEST['vn']',
Hi,
ich bin nochmal. Hab eine Klammer vergessen und bei den Requests hab ich die Punkte vergessen. Das Script sieht jetzt so aus:
Es funktioniert perfekt, aber nur wenn ich es alleine laufen lasse. Wenn ich es als Modul in Contenido einfügen, wird zwar das Formular angezeigt etc., sobald ich aber auf Abschicken klicke gelange ich auf die Hauptseite front_content.php. Was ist das denn wieder ? Liegt das daran, das die Variablen an das gleiche Modul wietergeschickt werden also hier:
Oder woran liegt das ?
ich bin nochmal. Hab eine Klammer vergessen und bei den Requests hab ich die Punkte vergessen. Das Script sieht jetzt so aus:
Code: Alles auswählen
<html>
<head>
<title>Fehlerhafte Felder beim Abschicken eines Formulars markieren</title>
</head>
<body>
<?php
////////////////// Prüfung ob alle Felder gefüllt sind
if($Send && !empty($_REQUEST['vn']) && !empty($_REQUEST['nn']) && !empty($_REQUEST['strasse']) && !empty($_REQUEST['plz']) && !empty($_REQUEST['ort']) && !empty($_REQUEST['link']) && !empty($_REQUEST['tel']) && !empty($_REQUEST['fax']) && !empty($_REQUEST['mobil']) && !empty($_REQUEST['mail']))
{
////////////////// Datenbankanbindung
$dbserver = "localhost";
$dbuser = "root";
$dbpasswd = "";
$dbname_auth ="mysql";
$dbname = "contenido";
$tab = "con_phplib_auth_user_md5";
// Verbindung zum Datenbankserver herstellen
$link=mysql_pconnect($dbserver, $dbuser, $dbpasswd);
if ($link == FALSE)
{
echo "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden.\n";
echo "</BODY></HTML>\n"; // HTML Dokument abschliessen
exit (); // PHP-Script beenden
}
// Datenbank auswaehlen
$dblink=mysql_select_db($dbname);
if ($dblink == FALSE)
{
echo "<p><b>Leider kann die Datenbank nicht geöffnet werden.\n";
echo "</BODY></HTML>\n"; // HTML Dokument abschliessen
exit (); // PHP-Script beenden
}
////////////////////////
// Überpruefen ob der User schon vorhanden ist
$query1 = "SELECT vorname FROM $tab WHERE vorname LIKE '$vn' and nachname LIKE '$nn'";
$result = mysql_query($query1);
// Fehlermeldung ausgeben, bzw. User einfuegen
$num=mysql_NumRows($result);
if ($num) {
echo "User schon vorhanden!";
}
else
{
// Zeichen auseinander nehmen für Passwort
$ze1 = substr($vn,0,1);
$ze2 = substr($nn,0,1);
// Quersumme errechnen
function quersumme($zahl) {
settype($zahl, "string");
$letzter = strlen($zahl)-1;
$summe = 0;
for($i=0; $i<=$letzter; $i++) {
$summe = $summe+$zahl[$i];
}
return $summe;
}
$wert = $plz;
$quer = quersumme($wert);
$passwort = $ze1.$funk.$ze2.$quer;
$pass_enc = md5($passwort);
$uid = md5($nn);
// alles in die DB einfügen
$query2="INSERT INTO $tab
SET user_id='$uid',
username='".$_REQUEST['nn']."',
vorname='".$_REQUEST['vn']."',
nachname='".$_REQUEST['nn']."',
address_street='".$_REQUEST['strasse']."',
address_zip='".$_REQUEST['plz']."',
address_city='".$_REQUEST['ort']."',
webseite='".$_REQUEST['link']."',
telephone='".$_REQUEST['tel']."',
fax='".$_REQUEST['fax']."',
handy='".$_REQUEST['mobil']."',
email='".$_REQUEST['mail']."',
password='$pass_enc',
funktion='$funk';";
$result2 = mysql_query($query2);
if ($result2)
{
print"<p><blockquote><b>$nn</b> wurde mit dem Passwort <b>$passwort</b> erfolgreich aufgenommen.<blockquote></p>";
}
else
{
print"Datenbankfehler! Kunde konnte nicht aufgenommen werden!";
}
}
mysql_close();
//////////////////////
}
else
{
?>
Füllen Sie bitte alle Felder aus:
<table border="0" width="100%" id="table1">
<tr>
<td width="19%">
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
Vorname</td>
<td width="23%"> <input name="vn" type="text" value="<?php echo$_REQUEST['vn']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['vn']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie den Voramen ein !</span></b>";
}
?></td>
</tr>
<tr>
<td width="19%">
Nachname</td>
<td width="23%"> <input name="nn" type="text" value="<?php echo$_REQUEST['nn']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['nn']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie den Nachname ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Strasse</td>
<td width="23%"> <input name="strasse" type="text" value="<?php echo$_REQUEST['strasse']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['strasse']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Strasse ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
PLZ</td>
<td width="23%"> <input name="plz" type="text" value="<?php echo$_REQUEST['plz']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['plz']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Postleitzahl ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Ort</td>
<td width="23%"> <input name="ort" type="text" value="<?php echo$_REQUEST['ort']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['ort']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie den Ort ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Internetadresse</td>
<td width="23%"> <input name="link" type="text" value="<?php echo$_REQUEST['link']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['link']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Internetadresse ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Telefon</td>
<td width="23%"> <input name="tel" type="text" value="<?php echo$_REQUEST['tel']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['tel']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Telefonnummer ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Fax</td>
<td width="23%"> <input name="fax" type="text" value="<?php echo$_REQUEST['fax']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['fax']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Faxnummer ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Handy</td>
<td width="23%"> <input name="mobil" type="text" value="<?php echo$_REQUEST['mobil']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['mobil']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Handynummer ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Email</td>
<td width="23%"> <input name="mail" type="text" value="<?php echo$_REQUEST['mail']; ?>"></td>
<td width="57%"><?php
if($Send && empty($_REQUEST['mail']))
{
echo"<b><span style=\"color:red;\">Bitte geben Sie die Emailadresse ein !</span></b>";
}
?>
</td>
</tr>
<tr>
<td width="19%">
Funktion</td>
<td width="23%"><select size="1" name="funk">
<option value="KE" selected>Keine</option>
<option value="OM">Obermeister</option>
<option value="PR">Präsidiumsmitglied</option>
<option value="LI">Landesinnungsmeister</option>
<option value="GE">Geschäftsführung</option>
</select>
</td>
<td width="57%">
</td>
</tr>
<tr>
<td width="19%">
Referate</td>
<td width="23%"><select size="1" name="referate">
<option selected>Kein</option>
<option value="WW">Wirtschaft und Werbung</option>
<option value="GA">Geldangelegenheiten</option>
<option value="BA">Berufsausbildungsreferat</option>
<option value="KU">Kunst und Kultur</option>
<option value="SA">Sachverständigenwesen</option>
</select>
</td>
<td width="57%">
</td>
</tr>
<tr>
<td width="19%"> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td width="19%"> </td>
<td colspan="2">
<input name="Send" type="submit" value="Abschicken"></td>
</form>
</tr>
</table>
<?php
}
?>
</body>
</html>
Code: Alles auswählen
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
bei einem post gib die idcat mit einem hidden field mit an...Condor hat geschrieben:Es funktioniert perfekt, aber nur wenn ich es alleine laufen lasse. Wenn ich es als Modul in Contenido einfügen, wird zwar das Formular angezeigt etc., sobald ich aber auf Abschicken klicke gelange ich auf die Hauptseite front_content.php. Was ist das denn wieder ? Liegt das daran, das die Variablen an das gleiche Modul wietergeschickt werden also hier:Oder woran liegt das ?Code: Alles auswählen
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
zb so:
Code: Alles auswählen
<input type="hidden" name="idcat" value="<?php echo $idcat; ?>">
Code: Alles auswählen
<input type="hidden" name="idart" value="<?php echo $idart; ?>">
*** make your own tools (wishlist :: thx)
Na, wunderbar, ich wollte Dich gerade auf das Wochenende vertrösten.
Never change a running system, aber Du könntest nun noch den DB-Code durch die Klassen und Funktionen ersetzen, die sowieso in Contenido enthalten sind. Empfehlung: Wenn Du da nochmal Hand anlegst, mache es zunächst einem neuen Modul!
Z.B.:
kann durch
ersetzt werden.
durch
durch
durch
Entfällt:
Entfällt:
Gruß
HerrB
Never change a running system, aber Du könntest nun noch den DB-Code durch die Klassen und Funktionen ersetzen, die sowieso in Contenido enthalten sind. Empfehlung: Wenn Du da nochmal Hand anlegst, mache es zunächst einem neuen Modul!
Z.B.:
Code: Alles auswählen
////////////////// Datenbankanbindung
$dbserver = "localhost";
$dbuser = "root";
$dbpasswd = "";
$dbname_auth ="mysql";
$dbname = "contenido";
$tab = "con_phplib_auth_user_md5";
// Verbindung zum Datenbankserver herstellen
$link=mysql_pconnect($dbserver, $dbuser, $dbpasswd);
if ($link == FALSE)
{
echo "<p><b>Leider kann keine Verbindung zur Datenbank hergestellt werden.\n";
echo "</BODY></HTML>\n"; // HTML Dokument abschliessen
exit (); // PHP-Script beenden
}
// Datenbank auswaehlen
$dblink=mysql_select_db($dbname);
if ($dblink == FALSE)
{
echo "<p><b>Leider kann die Datenbank nicht geöffnet werden.\n";
echo "</BODY></HTML>\n"; // HTML Dokument abschliessen
exit (); // PHP-Script beenden
Code: Alles auswählen
$db = new DB_Contenido;
Code: Alles auswählen
$result = mysql_query($query1);
Code: Alles auswählen
$db->query($query1);
Code: Alles auswählen
$num=mysql_NumRows($result);
if ($num) {
Code: Alles auswählen
if ($db->next_record()) {
Code: Alles auswählen
$result2 = mysql_query($query2);
Code: Alles auswählen
$db->query($query2);
Code: Alles auswählen
if ($result2)
{
print"<p><blockquote><b>$nn</b> wurde mit dem Passwort <b>$passwort</b> erfolgreich aufgenommen.<blockquote></p>";
}
else
{
print"Datenbankfehler! Kunde konnte nicht aufgenommen werden!";
}
Code: Alles auswählen
mysql_close();
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net