Liebe Jommla Coomuniy,
ich habe hier schon echt viel gelernt und danke Eurch für die Hilfe. Nun habe ich noch ein Modul, welches ich programmiere. Kurzes Hintergrundwissen. Das Modul soll im Registrierten für eine Benutzergruppe vorhanden sein, Der Registierte User darf neue Benutzer einpflegen, sodass der neue Benutzer sich einloggen kann.
Bisher habe ich die "provesorisch" die "default.php" und die "mod_entstellen_lspd" programmiert. Das Formular der default.php gibt somit alle Werte an die mod_entlassen_lspd weiter.
Folgende DInge funktinierne nicht:
- die insert Anweisung ist falsch und gibt mir folgende Mitteilung: 1062 - Duplicate entry '' for key 'idx_username' --> das Präfix idx benutze ich nicht und komme es auch nicht in MYSQL finden,
- wie erstelle ich das Token für user_id
- wie erstelle ich das Registrierungsdaten
Könnt Ihr mir helfen, wie ich das hinbekomme.
Bisher habe ich folgendes schon programmiert.
default.php
<?php
defined('_JEXEC') or die;
?>
<?php
/* Benutzerrangabfrage */
// Gueltige Namen fuer Konstanten
define("rang_1", "Rekrut");
define("rang_2", "Officer");
define("rang_3", "Sergant");
define("rang_4", "Detectiv");
define("rang_5", "Ltd. / Ass.Abteilungleitung");
define("rang_6", "Captian / Abteilungsleitung");
define("rang_7", "Commander I");
define("rang_8", "Chief of Commander");
define("rang_9", "Ass. Chief of Police");
define("rang_10", "Chief of Police");
?>
<div style=" left: 250px; width: 1000px ; height: auto;">
<h3>Einstellungsblatt</h3>
<p>Hiermit gibst Du den Spieler die sich auf dieser Homepage einzuloggen. Dabei muss der Benutzername und das Passwort an Ihn im TS3 weitergegeben werden.</p>
<p><?php echo $msg; ?></p>
<p><?php echo $user_name; ?></p>
<br /><br />
<form method="post" >
<div style="float: left;">
<div style="float: left;">
<label for="spielername"> Spielername    
<input size="30" type="text" id="spielername" name="spielername">
</label>
</div>
<div style="float: left; left: 150px;">
<label for="benutzername"> Benutzername  
<input size="30" type="text" id="benutzername" name="benutzername">
</label>
</div>
<br /><br /><br />
<div style="float: left;">
<label for="email"> Emailadresse  
<input size="30" type="text" id="email" name="email"><br />
</label>
</div>
<div style="float: left; left: 150px;">
<label for="rangname">Rangname        
<select style="width: 215px;" name="rangname">
<option name="rangnummer" value="">Auswählen</option>
<option name="rangnummer" value="1"><?php echo rang_1; ?></option>
<option name="rangnummer" value="2"><?php echo rang_2; ?></option>
<option name="rangnummer" value="3"><?php echo rang_3; ?></option>
<option name="rangnummer" value="4"><?php echo rang_4; ?></option>
<option name="rangnummer" value="5"><?php echo rang_5; ?></option>
<option name="rangnummer" value="6"><?php echo rang_6; ?></option>
<option name="rangnummer" value="7"><?php echo rang_7; ?></option>
<option name="rangnummer" value="8"><?php echo rang_8; ?></option>
<option name="rangnummer" value="9"><?php echo rang_9; ?></option>
<option name="rangnummer" value="10"><?php echo rang_10; ?></option>
</select>
</label>
</div>
<br /><br /><br />
<div style="float: left;">
<label for="spielername"> Passwort         
<input style="width: 200px;" type="text" id="passwort" name="passwort"><br />
</label>
</div>
<div style="float: left; left: 150px;">
<button class="button" name="absenden" value="abgesendet" type="submit">Formular abschicken</button>
</form>
Alles anzeigen
mod_einstellen_lspd
<?php
defined('_JEXEC') or die( 'Restricted access' );
use Joomla\CMS\Factory;
require_once dirname(__FILE__) . '/helper.php';
$app = Factory::getApplication();
/* Variable alle leeren */
$user_name = "";
$ben_name = "";
$email = "";
$rang = "";
$pwd = "";
/* Verbindung zwischen input eingabe und variable in der mod Datei */
/* Prüfen, ob variable gesetzt ist */
if(!isset($_POST['spielername']) && (!isset($_POST['benutzername'])) && (!isset($_POST['email'])) && (!isset($_POST['rangname']) == 0) && (!isset($_POST['passwort'])))
{
$msg = 'Bitte gebe alle Felder ein.';
} else {
$user_name = (string) $app->input->get('spielername');
$ben_name = (string) $app->input->get('benutzername');
$email = (string) $app->input->get('email');
$pwd = (string) $app->input->get('passwort');
modEinstellen_lspd::Einstellen($user_name);
modEinstellen_lspd::Einstellen($ben_name);
modEinstellen_lspd::Einstellen($email);
modEinstellen_lspd::Einstellen($pwd);
}
require ( JModuleHelper::getLayoutPath( 'mod_einstellen_lspd' ));
?>
Alles anzeigen
helper.php
<?php
/* das sind die Gruppen die ich benötige und das Präfix lautet "fmsrp":
#__user_usergroup_map - #__users - #__mitarbeiterstamm_lspd
Insert
*/
defined('_JEXEC') or die;
class modEinstellen_lspd {
public static function Einstellen() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('id', 'name', 'username', 'email', 'password');
$values = array($db->quote('$token'), $db->quote($user_name), $db->quote($ben_name), $db->quote($email), $db->quote($pwd) );
$query
->insert($db->quoteName('#__users'))
->columns($db->quoteName($columns))
->values(implode(',', $values));
$db->setQuery($query);
$db->execute();
}
}
?>
Alles anzeigen