Ich habe mir mein Join Us versucht, nach meinen Wünschen anzupassen und die Felder Klasse, teamspeak und micro hinzugefügt. Leider bekomme ich dann beim absenden der Join Us anfrage den Fehler das diese Neuen felder nicht ausgefüllt wären.
missing: Klasse missing: Headset & Micro missing: Teamspeak³ missing:
Leider kann ich meinen Fehler nicht finden hoffe ihr könnt mir helfen.
meine joinus.php
<?php # Copyright by: Manuel # Support: www.ilch.de defined ('main') or die ( 'no direct access' ); //-----------------------------------------------------------| $title = $allgAr['title'].' :: Joinus'; $hmenu = 'Joinus'; $design = new design ( $title , $hmenu ); $design->header(); if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_groups WHERE show_joinus = 1") ) { echo $lang['noteamthere']; $design->footer(); exit (); } $skill_ar = array ( 1 => $lang['verybad'], 2 => $lang['bad'], 3 => $lang['middle'], 4 => $lang['good'], 5 => $lang['verygood'], ); $headsetmitmicrovorhanden_ar = array ( 1 => $lang['yes'], 2 => $lang['no'], ); $teamspeakvorhanden_ar = array ( 1 => $lang['yes'], 2 => $lang['no'], ); $far = array ( 'name', 'skill', 'klasse', 'headsetmitmicrovorhanden', 'teamspeakvorhanden', 'mail', 'age', 'hometown', 'squad', 'bemerkungen', 'rules' ); $x = 0; foreach ($far as $v) { if (!empty($_POST[$v])) { $$v = escape($_POST[$v], 'string'); $x++; } else { $$v = ''; } } $xname = escape_nickname($name); $ch_name = false; if (loggedin()) { $ch_name = true; } elseif (isset($_POST['sub']) AND $name == $xname AND !empty($name) AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$name."'"),0)) { $ch_name = true; } if (count($far) <> $x OR $ch_name == false OR !chk_antispam('joinus')) { $tpl = new tpl ( 'joinus.htm' ); $skill = arlistee ($skill, $skill_ar); $headsetmitmicrovorhanden = arlistee ($headsetmitmicrovorhanden, $headsetmitmicrovorhanden_ar); $teamspeakvorhanden = arlistee ($teamspeakvorhanden, $teamspeakvorhanden_ar); $squad = '<option value="0">choose</option>'; $squad .= dblistee ($squad, "SELECT id,name FROM prefix_groups WHERE show_joinus = 1 ORDER BY pos"); if (loggedin()) { $name = $_SESSION['authname']; } foreach($far as $v) { if ($x > 0 AND empty($_POST[$v])) { echo 'missing: '.$lang[$v].'<br />'; } $tpl->set ($v, $$v); } if ($x > 0 AND $name != $xname) { echo $lang['wrongnickname'].'<br />'; } elseif ($x > 0 AND $ch_name == false) { echo $lang['namealreadyinuse'].'<br />'; } $name = $xname; $tpl->set('readonly', (loggedin()?' readonly': '')); $tpl->out(0); if ($allgAr['joinus_rules'] != 1) { $tpl->out(1); } else { $rules = '<h2>'.$lang['rules'].'</h2>'; $rerg = db_query('SELECT zahl,titel,text FROM `prefix_rules` ORDER BY zahl'); while ($rrow = db_fetch_row($rerg)) { $rules .= '<table width="100%" border="0" cellpadding="5" cellspacing="1" class="border">'; $rules .= '<tr class="Cmite"><td><b>§'.$rrow[0].'. '.$rrow[1].'</b></td></tr>'; $rules .= '<tr class="Cnorm"><td>'.bbcode($rrow[2]).'</td></tr>'; $rules .= '</table><br />'; } $rules .= '<input type="checkbox" name="rules" value="'.$lang['yes'].'" />'.str_replace(array('<a target="_blank" href="index.php?vrules">','</a>'),'',$lang['rulzreaded']).'<br />'; $tpl->set_out('RULES',$rules,2); } $tpl->set('ANTISPAM', get_antispam('joinus', 100)); $tpl->out(3); } else { # eintragen $name = $xname; $userreg = $lang['no']; if (!loggedin() AND $allgAr['forum_regist'] <> 0) { $x = user_regist ($name,$mail,genkey(8)); $userreg = $lang['yes']; } db_query("INSERT INTO prefix_usercheck (`check`,name,datime,ak,groupid) VALUES ('".genkey(8)."','".$name."',NOW(),4,$squad)"); $squad = escape($squad, 'integer'); $abf = "SELECT `mod1`, `mod2`, `mod4`, name FROM prefix_groups WHERE id = ".$squad; $erg = db_query($abf); $row = db_fetch_assoc($erg); $rulz = (isset($_POST['rules'])?$_POST['rules']:$lang['no']); $skill = $skill_ar[$skill]; $headsetmitmicrovorhanden = $headsetmitmicrovorhanden_ar[$headsetmitmicrovorhanden]; $teamspeakvorhanden = $teamspeakvorhanden_ar[$teamspeakvorhanden]; # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann. $mailtxt = sprintf ($lang['joinusprivmsg'], $name, $row['name'], $skill, $klasse, $mail, $hometown, $age, $headsetmitmicrovorhanden, $teamspeakvorhanden, $bemerkungen, $rulz, $userreg ); # pm an den leader sendpm ($_SESSION['authid'], $row['mod1'], 'Joinus Anfrage',$mailtxt, -1); # Wenn Co Leader != Leader if ($row['mod2'] != $row['mod1']){ sendpm ($_SESSION['authid'], $row['mod2'], 'Joinus Anfrage',$mailtxt, -1); } if ($row['mod4'] != $row['mod1'] AND $row['mod2'] != $row['mod4']){ sendpm ($_SESSION['authid'], $row['mod4'], 'Joinus Anfrage',$mailtxt, -1); } if (!loggedin() AND $allgAr['forum_regist'] <> 0) { echo $lang['amailhasbeensenttoyouwithmailandpass'].'<br /><br />'; } echo sprintf($lang['leaderofxalert'], $row['name']); } $design->footer(); ?>
Meine joinus.htm
<form action="index.php?joinus" method="POST"> <fieldset> <legend><b>{_lang_yourdata}:</b></legend> <label style="float:left; width:100px; ">{_lang_joininfo}</label>{_lang_plsfilloutallfields}<br /> <label style="float:left; width:100px; ">{_lang_name}</label><input name="name"{readonly} maxlength="15" value="{name}" /><br /> <label style="float:left; width:100px; ">{_lang_skill}?</label><select name="skill">{skill}</select><br /> <label style="float:left; width:100px; ">{_lang_klasse}</label><input type="text" name="hometown" value="{klasse}" /><br /> <label style="float:left; width:100px; ">{_lang_mail}</label><input type="text" name="mail" value="{mail}" /><br /> <label style="float:left; width:100px; ">{_lang_age}</label><input type="text" name="age" value="{age}" /><br /> <label style="float:left; width:100px; ">{_lang_hometown}</label><input type="text" name="hometown" value="{hometown}" /><br /> <label style="float:left; width:100px; ">{_lang_headsetmitmicrovorhanden}?</label><select name="Headset&Micro">{headsetmitmicrovorhanden}</select><br /> <label style="float:left; width:100px; ">{_lang_teamspeakvorhanden}?</label><select name="Teamspeak³">{teamspeakvorhanden}</select><br /> <label style="float:left; width:100px; ">{_lang_squad}</label><select name="squad">{squad}</select /><br /> <label style="float:left; width:100px; ">{_lang_Bemerkungen}</label><textarea name="ground" cols="40" rows="5">{bemerkungen}</textarea><br /> {EXPLODE}<label style="float:left; width:100px; ">{_lang_rules}</label><input type="checkbox" name="rules" value="{_lang_yes}" />{_lang_rulzreaded}<br /> {EXPLODE}{RULES}{EXPLODE}<br /> {ANTISPAM} <label style="float:left; width:100px; "> </label><input type="submit" name="sub" value="{_lang_formsub}" /><br /> </fieldset> </form>
in meiner de.php habe ich folgendes modifiziert (nicht wundern, meine Regelwerkseite ist vrules.php)
'joinusprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nSkill: %s\nKlasse: %s\neMail: %s\nWohnort: %s\nAlter: %s\nHeadset mit Micro vorhanden?: %s\nTeamspeak³ vorhanden?: %s\nBemerkungen: %s\n\nEr hat die Regeln akzeptiert: %s\n\nWurde direkt als User registriert: %s\nWenn dort nein steht dann war er zum Zeitpunkt der Anfrage schon User.\n\nIm Adminmenu unter Teams kannst du ihn freischalten, oder die Anfrage löschen. Wenn er als User registriert wurde, muss er die Registrierung jenach Einstellung erst bestätigen.", 'headsetmitmicrovorhanden' => 'Headset & Micro', 'teamspeakvorhanden' => 'Teamspeak³',
Ich hoffe das ihr mir helfen könnt, danke im vorraus
Zuletzt modifiziert von Arikarion am 27.05.2011 - 08:34:00