ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » JoinUs-Formular selbst angepasst...

Geschlossen
  1. #1
    User Pic
    SystemX64 Mitglied
    Registriert seit
    19.07.2009
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    Hallo und einen schönen Sonntag,

    ich habe das Joinus-Formular meinen Vorstellungen entsprechend angepasst. Es funktioniert nun auch schon fast komplett, allerdings gibt es einen kleinen Fehler.
    Und zwar wird die Bewerbung per IGM an den Leader (=mich) versendet. Die Daten stimmen nun auch alle, außer ein Punkt:


    ZitatZitat
    Hallo,


    Test möchte ~FM~ beitreten.


    Folgende Angaben hat er gemacht:

    Ingame: NAME

    Link-zum-Profil: externer Link
    Online: Täglich
    Volk: Römer
    Ausrichtung: 38
    Spielart: Ausgeglichen


    Grund:
    Hallo,

    test

    Regeln-akzeptiert: Ja

    Freunde-in-Ally: NAME, NAME
    Wohnort: Wohnort
    Alter: Alter
    Geschlecht: männlich
    ICQ/SKYPE: ICQ/SKYPE

    Wurde direkt als User registriert: Ja
    Wenn dort nein steht dann war er zum Zeitpunkt der Anfrage schon User.

    Im Adminmenu unter Teams kannst du ihn freischalten, oder die Anfrage loeschen. Wenn er als User registriert wurde, muss er die Registrierung jenach Einstellung erst bestaetigen.

    eMail: eMail@domain.de


    Und zwar betrifft es den Punkt "Ausrichtung" in dem die Zahl 38 steht, obwohl diese garnicht einfügbar ist. Es kann nur zwischen "Defensiv", "Offensiv" und "Beides" ausgewählt werden.

    Hier mein Formular:

    /include/contents/joinus.php
    <?php
    #   Copyright by: Manuel Staechele
    #   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 ();
    }
    
    
    $far = array (
    		'name',
        		'rules',
    		'ingame',
    		'mail',
    		'icqnumber',
    		'squad',
    		'ground',
    		'online',
    		'age',
    		'hometown',
    		'frendsinally',
    		'linktoprofil',
    		'geschl',
    		'variety',
    		'mail',
    		'nation'
    	);
    $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) {
    	$tpl = new tpl ( 'joinus.htm' );
    	$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 'Es fehlt: '.$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);
    } else { # eintragen
      
      $name = $xname;
    	$userreg = $lang['no'];
      if (!loggedin()) {
        $x = user_regist ($name,$mail,genkey(8));
        $userreg = $lang['yes'];
      }
    
      db_query("INSERT INTO prefix_usercheck (`check`,name,datime,ak) VALUES ('".genkey(8)."','".$name."',NOW(),4)");
    
      $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']);
      
      # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
      $mailtxt = sprintf ($lang['joinusprivmsg'],
        	$name,
    	$ingame,
    	$linktoprofil,
    	$online,
    	$nation, 
    	$squad,
    	$variety, 
        	$ground,
    	$rulz,
     	$frendsinally,
       	$hometown,
    	$age,
    	$geschl,
    	$icqnumber, 
    	$userreg,
        	$mail
    
    );
      
      # 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()) {
    		echo $lang['amailhasbeensenttoyouwithmailandpass'].'<br /><br />';
      }
      echo sprintf($lang['leaderofxalert'], $row['name']);
    }
    $design->footer();
    ?>


    /include/templates/joinus.htm
    <style type="text/css">
    <!--
    .Stil1 {font-weight: bold}
    -->
    </style>
    
    <form action="index.php?joinus" method="POST">
    
    <fieldset>
      <legend>
    	<br />
    	 <b>
          </b>
    
    <h2>{_lang_joinustitel}</h2>
    <h3>{_lang_joinustitel2}</h3>
    	<br />
    	<br />
        </b>
      </legend>
    
    <label style="float:left; width:100px; "><i>{_lang_joininfo}:</i></label>
      <p><i>{_lang_plsfilloutallfields}</i></p>
      <p>&nbsp;</p>
      <b><h3>{_lang_yourdata}:</h3><br>
      <br />
      <br />
    </p>
      	<label style="float:left; width:200px; ">{_lang_name}:</label><input name="name"{readonly} maxlength="15" value="{name}" /><br />
    	<label style="float:left; width:200px; ">{_lang_mail}</label><input type="text" name="mail" value="{mail}" /><br />
    	<label style="float:left; width:200px; ">{_lang_icqskype}</label><input type="text" name="icqnumber" value="{icqnumber}" /><br />
    	<label style="float:left; width:200px; ">{_lang_age}:</label><input type="text" name="age" value="{age}" /><br />
    	<label style="float:left; width:200px; ">{_lang_hometown}:</label><input type="text" name="hometown" value="{hometown}" /><br />
    	<label style="float:left; width:200px; ">{_lang_geschl}:</label><select name="geschl">
    	  <option>männlich</option>
    	  {geschl}
    	  <option>weiblich</option>
    	</select />
    	<br />
    	<span class="Stil1"><label style="float:left; width:100px; ">
     	   <br />
    	   <br />
    	   {_lang_joinustext}:	
    	</label> 
    	</span>
    <p><strong>
    	<br />
            </strong> </p>
    	<p>&nbsp;</p>
    	<p>
    	  <textarea name="ground" cols="70" rows="10">{ground}</textarea>
    	<br>
    </p>
    </fieldset>
    
    <fieldset>
    	<legend><b><h3>{_lang_charakterinfos}:</h3></b><br><br></legend>
    	<label style="float:left; width:200px; ">{_lang_ingame}</label><input type="text" name="ingame" value="{ingame}" /><br />
    	<label style="float:left; width:200px; ">{_lang_onlinetime}</label><select name="online">{online}
    		<option>Täglich 24/7</option>
    		<option>Täglich Oft</option>
    		<option>Täglich Mittel</option>
    		<option>Täglich Wenig</option>
    		<option>Jeden 2. Tag</option>
    		<option>Jeden 3. Tag</option>
    		<option>Am Wochenede</option>
    		<option>Unterschiedlich</option>
    	</select><br />
    	<label style="float:left; width:200px; ">{_lang_frendsinally}:</label><input type="text" name="frendsinally" value="{frendsinally}" /><br /><br /><br />
    	<label style="float:left; width:200px; ">{_lang_linktoprofil} :</label><input name="linktoprofil" type="text" value="{linktoprofil}" size="55" maxlength="100"/>
    	<br /> 
    	{_lang_wedontneedlinktoourprofil} <a href="http://welt5.travian.de/dorf1.php" target="_blank"></a><br />
    	<br /><br />
    	<label style="float:left; width:200px; ">{_lang_squad}:</label><select name="squad">{squad}</select /><br />
    	<label style="float:left; width:200px; ">{_lang_volk}:</label><select name="nation">
    	  	<option>Römer</option>
    	  	{nation}
    	 	 <option>Germane</option>
    	  	<option>Gallier</option>
    	</select />
    	<br />
    	<label style="float:left; width:200px; ">{_lang_variety}:</label><select name="variety">
    		 <option>Ausgeglichen</option>
    	  	 {variety}
    	  	 <option>Passiv</option>
    	  	 <option>Aggressiv</option>
      	</select />
    	  <br>
    	  <br />
    	  <br />
    </fieldset>
    
    <fieldset>
    	<legend><b><h3>{_lang_rules}:</h3></b>
    	<br>
     	</legend>
    	<p>&nbsp;</p>
    	<label style="float:left; width:100px; ">{_lang_rules}:</label><input type="checkbox" name="rules" value="{_lang_yes}" />{_lang_rulzreaded}<br />
      	<br />
    	<label style="float:left; width:100px; ">&nbsp;</label>
    	<p>
    	<input type="submit" name="sub" value="{_lang_formsub}" />
      	</p>
    	<p>&nbsp;</p>
      	<p>{_lang_joininfo1}</p>
    	<p>&nbsp;</p>
    	<p>{_lang_joininfo2}<br />
         </p>
    </fieldset>
    </form>


    Würde mich freuen, wenn jemand eine Lösung hätte.

    grüße,
    Christian

    verwendete ilchClan Version: 1.1

    betroffene Homepage: externer Link


    Zuletzt modifiziert von SystemX64 am 19.10.2009 - 17:17:09
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    schau mal in deine DB was für ein Datentyp für diese Spalte "Ausrichtung" definiert ist, wenn du da dein Text "offensiv" "defensiv" und "beides" reinschreiben willst, dann musst du den als string machen.

    außerdem hast du einschreibfehler in Zeile 80:

    <label style="float:left; width:200px; ">{_lang_playtyp}:</label>
    sollte das net
    <label style="float:left; width:200px; ">{_lang_playertyp}:</label>
    heißen?
    mfg Darkentik
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    SystemX64 Mitglied
    Registriert seit
    19.07.2009
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    Welchen Eintrag meinst du? Das wird doch garnicht in die DB gespeichert...?

    ZitatZitat

    <label style="float:left; width:200px; ">{_lang_playtyp}:</label>
    sollte das net
    <label style="float:left; width:200px; ">{_lang_playertyp}:</label>
    heißen?


    --> Das ist geplant. playertyp und playtyp ist etwas anderes (Spielerart und Spielweiße (Ich weiß - Kein gutes English, wollte es aber kurz halten) Mir ist da einfach kein anderer Name eingefallen... lachen Aber ich weiß was damit gemeint ist... lachen
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    SystemX64 Mitglied
    Registriert seit
    19.07.2009
    Beiträge
    73
    Beitragswertungen
    0 Beitragspunkte
    Eben noch gesehen, dass die Nummer, also die 39 die ID der Gruppe ist.
    Spricht es wird die ID statt der Name angezeigt.
    Hab das gesammte Script nun nochmal bearbeitet und nach Fehler gesucht, aber keine gefunden. Die Namen und Variablen habe ich nun auch angepasst, damit es leicher zu verstehen ist. (Eingangspost bearbeitet.)


    Zuletzt modifiziert von SystemX64 am 19.10.2009 - 17:18:34
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten