ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Joinus fehler

Geschlossen
  1. #1
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Hallo

    Ich hab da ein kleines Problem.
    Ich hab in der Joinus.php etwas geändert, unzwar fav.Map rausgenommen und icq durch xfire ersetzt.
    Hier der Code:

    <?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'],
    );
    
    $far = array (
    		'name',
    		'skill',
    		'xfire',
    		'mail',
    		'age',
    		'hometown',
    		'squad',
    		'ground',
        		'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);
    	$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>&sect;'.$rrow[0].'. &nbsp; '.$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?rules">','</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];
    
      # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
      $mailtxt = sprintf ($lang['joinusprivmsg'],
        $name,
        $row['name'],
        $skill,
        $xfire,
        $mail,
        $age,
        $hometown,
        $ground,
        $rules,
        $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();
    ?>


    Hab ich da irgendwas vergessen?
    Ich gekommen immer diesen Fehler:

    Warning: sprintf() [function.sprintf]: Too few arguments in /usr/export/www/vhosts/funnetwork/hosting/fsmgc/forum/include/contents/joinus.php on line 122


    Eine PM bekomme ich, aber da steht nix drin.

    Kann mir da wer helfen?
    Danke

    EDIT:
    Die joinus.htm hab ich natürlich auch angepasst.


    Zuletzt modifiziert von PeeRpleX am 02.09.2007 - 17:14:11
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Hat niemand eine Ahnung woran das liegt?
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Ok, hab noch immer keine Lösung gefunden, also wenn einer der da nen Plan von hat so freundlich wäre mir zu helfen, dann wäre ich sehr dankbar. lächeln
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Es liegt an der falschen Anzahl von Argumenten steht doch da.
      # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
      $mailtxt = sprintf ($lang['joinusprivmsg'],
        $name,
        $row['name'],
        $skill,
        $xfire,
        $mail,
        $age,
        $hometown,
        $ground,
        $rules,
        $userreg
      );
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Ja, aber was ist das falsch?
    Ich versteh die Fehlermeldung nich.

    Ich hab oben das 'favmap', und unten das $favmap, weggenommen und oben wie unten das icqnumber in xfire umgeändert.
    Das selbe hab ich in der joinus.htm gemacht und xfire noch in der de.php zugefügt.

    Hab ich irgendwas übersehen?

    EDIT:
    Das einzige was ich noch gemacht habe ist.
    Ich hab gesehen das in der joinus.php abundzu mal rulz anstat rules steht. Überall anders wird es so geschreiben: rules. Also hab ich alle rulz in rules geändert in der joinus.php, schließlich stehts in jeder anderen Datei genauso geschrieben.


    Zuletzt modifiziert von PeeRpleX am 03.09.2007 - 09:09:23
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ja du hast wie gesagt die Anzahl verändert und jetzt ist es zuwenig, du musst in der de.php halt dementsprechend bei joinusprivmsg das richtige %s entfernen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Super, danke. Hab ich total übersehen.^^
    Nu funktioniert alles wieder bis auf einen kleinen Anzeigefehler in der PM.

    Blabla: ...
    eMail: blub@blub.de /> Alter: 99
    Wohnort: Blubbingen
    Blabla...

    Wie man sieht fehlt dort sozusagen das <b vor dem /> denke ich.
    Ich weiß nur nicht in welcher Datei das steht.


    Zuletzt modifiziert von PeeRpleX am 03.09.2007 - 11:27:01
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Eigentlich ist die PM das Teil da in der de.php.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Naja, also wenn ich jetzt mal testhalber nen Joinus mache und in meine PM's schaue, dann steht das da so:

    ------------------------------------------------------------------------------
    Hallo,
    Test1 möchte CS:S beitreten.

    Folgende Angaben hat er gemacht:
    Skill: mittel
    xfire: test1
    eMail: test1@test.de /> Alter: 99
    Wohnort: Emden
    Grund: Test
    1
    2
    3

    Er hat die Regeln akzeptiert: Ja

    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 löschen. Wenn er als User registriert wurde, muss er die Registrierung jenach Einstellung erst bestätigen.
    ------------------------------------------------------------------------------

    In der de.php sind solche Zeichensetzungen allerdings nicht vorhanden.
    Die sieht so aus:
    'joinusprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nSkill: %s\nxfire: %s\neMail: %s\nAlter: %s\nWohnort: %s\nGrund: %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.",
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Sehr komisch, hast du am Template was geändert und da vielleicht einen Fehler eingebaut?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Ui, da fragst du was.:)
    An welchem Template denn? Der joinus.htm?
    Ja, da hab ich auch was geändert.

    Siehe hier, müsste aber alles richtig sein:
    <form action="index.php?joinus" method="POST">
    <fieldset>
    	<legend><b>{_lang_yourdata}:</b></legend>
    	<label style="float:left; width:100px; ">{_lang_joininfo}</label><font color="#ef080a">!!Bitte alles vollständig ausfüllen!!</font><br /><br />
      <label style="float:left; width:100px; ">{_lang_name}</label><input name="name"{readonly} maxlength="30" 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_xfire}</label><input type="text" name="xfire" value="{xfire}" /><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_squad}</label><select name="squad">{squad}</select>&nbsp;Dies ist dein Hauptspiel.<br />
    	<label style="float:left; width:100px; ">{_lang_ground}</label><textarea name="ground" cols="55" rows="20">{ground}</textarea><br />
             <font color="#ef080a">!!Sollte Word of Warcraft für dich ein Bewerbungsgrund sein,<br />so beachte bitte "§4 Punkt1" zum ausfüllen des Grundes!!</font><br /><br />
    	{EXPLODE}<label style="float:left; width:100px; ">{_lang_rules}</label><br /><input type="checkbox" name="rules" value="{_lang_yes}" />{_lang_rulzreaded}<br />
      {EXPLODE}{RULES}{EXPLODE}<br />
    	{ANTISPAM}
    	<label style="float:left; width:100px; ">&nbsp;</label><input type="submit" name="sub" value="{_lang_formsub}" /><br />
    </fieldset>
    </form>
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    PeeRpleX Mitglied
    Registriert seit
    28.08.2007
    Beiträge
    84
    Beitragswertungen
    0 Beitragspunkte
    Ok, ich such mich tot und find den fehler nicht.

    Es kann nur damit:
    </label><input type="text" name="mail" value="{mail}" /><br />

    zusammenhängen.

    Denn in der PM wird das /> hinter der Mail angezeigt und der folgende Umbruch <br /> wird übersprungen.
    Erst nach "age" kommt wieder ein Umbruch.
    Der gesammte Text ab Mail: ist als Link zum Mailen makiert.
    Bund ist das Dasein und Granatenstark. lächeln
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    @PeeRpleX und Mairu: Ohne Scheiß, der <br wird mit in die Email genommen und das ganze als Link, ich würde mal auf den BBCode tippen, speziell auf die E-Mail-Umwandlungsfunktion!!!!

    *EDIT: Vergessen! Alle alten JoinUs, werden so komisch umgewandelt, hat also nix mit ner Änderung zu tun


    Zuletzt modifiziert von boehserdavid am 10.09.2007 - 12:07:40
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Fehler gefunden!
    include/includes/class/bbcode.php Zeile 647-650
    //> Format xxx@xxx.de
     $this->pattern[] = "%(( |\n|^)[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})%i";
     $this->replace[] = "<a href=\"mailto:$1\">$1</a>";
    }


    @Mairu: Da fehlen vor den Punkten ( . ) jeweils ein Backslash ( \ ), da wäre wohl ein Update nötig!
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ich versteh das aber noch nicht ganz, da kommt doch gar kein BBcode zum Einsatz? Das mit den Punkte überprüfe ich mal.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Na klar, da wird
    xxx@xxx.de

    decodiert man muss nicht
    [mail=sdfdsf]sdfdsf[/mail]

    schreiben!

    ACHSO, ganz großer Fehler, bzw. auf manchen Seiten!
    Wenn man das macht
    $abc = bbcode($string);
    // jetzt erst
    $design->header();

    dann wird die Seite komplett falsch dargestellt, und die style.css nicht geladen, weil
    <script language=\"JavaScript\" type=\"text/JavaScript\">
       var bbcodemaximagewidth = {$info['ImgMaxBreite']};
       var bbcodemaximageheight = {$info['ImgMaxHoehe']};
    </script>

    über dem <html> Tag integriert wird!
    Richtig ist es dann so
    $design->header();
    // jetzt erst
    $abc = bbcode($string);


    Sind einige Dateien, z.B. downloads.php -> case: show

    Hab jetzt 3 Stunden nach dem Fehler gesucht, bis ich ihn hatte!

    zwinker
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten