ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Join Us Anpassung

Geschlossen
  1. #1
    User Pic
    oxi Mitglied
    Registriert seit
    12.05.2006
    Beiträge
    5
    Beitragswertungen
    0 Beitragspunkte
    Hallo,
    ich habe vor ein paar felder in der Join us wegzu nehmen und ein paar neue hinzuzufügen. Nun habe ich einmal auf eigene Faust angefangen in der joinus.php rumzuwerkeln das sie nun so aussieht:
    <?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 ();
    }
    
    
    
    $far = array (
                    'name',
                    'icqnumber',
                    'favmap',
                    'mail',
                    'age',
                    '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' );
      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) VALUES ('".genkey(8)."','".$name."',NOW(),4)");
    
    
      $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,
        $row['name'],
        $mail,
        $age,
        $icqnumber,
        $favmap,
        $ground,
        $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();
    ?>



    Wenn ich nun das joinus ausfülle und wegschicken möchte passiert folgendes:
    ZitatZitat
    Warning: sprintf() [function.sprintf]: Too few arguments in /var/www/include/contents/joinus.php on line 106
    MySQL Error:
    1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1258132980','Joinus Anfrage','',-1)' at line 1
    in Query:
    INSERT INTO `ic1_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (1,,'1258132980','Joinus Anfrage','',-1)
    Debug backtrace:
    @ mysql.php:32 -- debug_bt()
    @ mysql.php:50 -- db_check_error(...)
    @ user.php:331 -- db_query(...)
    @ joinus.php:109 -- sendpm(...)
    @ index.php:31 -- require_once(...)
    Der Leader von wurde benachrichtigt.


    wo liegt der fehler?


    verwendete ilchClan Version: 1.1

    betroffene Homepage: 84.23.70.50/index.php
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    äh ja
    da haste aber net nur an der joinus rumgespielt oder ?

    wie die Fehlermeldung sagt ist es zeile 109 in der datei

    also die pm funktion

    diese wird wiederum in der /func/user.php (glaub ich) ausgeführt

    dort ist die INSERT QUERY falsch

    und zwar ist ein Komma zu viel

    siehe Fehlermeldung:
    User.php Zeile 331

    INSERT INTO `ic1_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (1,,'1258132980','Joinus Anfrage','',-1)



    am geilsten find ich das Kommentar in deiner geposteten Datei, zeile 95 ^^


    Zuletzt modifiziert von GeCk0 am 13.11.2009 - 18:47:09
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    oxi Mitglied
    Registriert seit
    12.05.2006
    Beiträge
    5
    Beitragswertungen
    0 Beitragspunkte
    nur eine Idee kann man nicht einfach die Textlabels entfernen und dann währen die Anforderungen erfüllt oder muss ich in den ganzen Mysql kram rummachen?

    Hier die Anforderungen:
    ZitatZitat
    Bei Next und Lastwar :

    Gegner Nation , Gegner Tag ,Gegner Page , Gegner ICQ , Gegner E-mali und Game Entfernen.

    Gegner Name in Aktion , und XonX in Spieleranzahl Umbenennen.

    Bei Joinus :

    Skill , Team , Wohnort Entfernen.

    Fav. Map in Lieblingsklasse , und Grund in Über Mich Umbenennen.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten