ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Joinus veränderung

Geschlossen
  1. #1
    User Pic
    Tiborius Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    Hi

    ich möchte mein Joinus etwas verändern und stoße auf ein problem. Ich habe schon die ein oder anderen Topics durchgeschaut aber da ist nichts dabei was für mich wäre.

    Das Joinus ist für Minecraft. Die es kennen wissen warscheinlich das man es auch Onlinespielen kann und da kommt das joinus ins Spiel.

    Es soll ein Bewerbungsformular für die Serversein. Neue User können sich da für den Server bewerben und dann sollen das über eine Mail an eine email Adresse gehen.

    if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_groups WHERE show_joinus = 0") ) {
    	echo $lang['noteamthere'];
    	$design->footer();
    	exit ();
    }


    Das habe ich erst mal raus gemacht da es keine Teams gibt und das ja nichts damit zu tun hat.

    Dann sieht meine veränderte php und htm so aus

    <?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();
    
    $skill_ar = array (
      1 => $lang['verybad'],
      2 => $lang['bad'],
    	3 => $lang['middle'],
    	4 => $lang['good'],
    	5 => $lang['verygood'],
    );
    
    $far = array (
    		'name',
    		'mcnick',
    		'mail',
    		'age',
    		'woher',
    		'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'],
        $mcnick,
        $mail,
        $woher,
        $age,
        $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();
    ?>


    <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:150px; ">Homepage Nickname</label><input name="name"{readonly} maxlength="15" value="{name}" /><br />
        <label style="float:left; width:150px; ">Meincraft Nickname</label><input type="text" name="mcnick" maxlength="15" value="{mcnick}" /><br />
    	<label style="float:left; width:150px; ">eMail</label><input type="text" name="mail" value="{mail}" /><br />
    	<label style="float:left; width:150px; ">Alter</label><input type="text" name="age" value="{age}" /><br />
    	<label style="float:left; width:150px; ">Woher kennst du uns</label><input type="text" name="woher" value="{woher}" /><br />
    	<label style="float:left; width:150px; ">Warum willst Du<br /> auf unserem Server spielen?</label><textarea name="ground" cols="40" rows="5">{ground}</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; ">&nbsp;</label><input type="submit" name="sub" value="{_lang_formsub}" /><br />
    </fieldset>
    </form>


    Nach dem absende kommt jetzt eine Fehlermeldung die kommen musste^^

    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 ')' at line 1
    in Query:
    INSERT INTO ic1_usercheck (`check`,name,datime,ak,groupid) VALUES ('iv5Y8V84','Tiborius',NOW(),4,)
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ joinus.php:95 -- db_query(...)
    	@ index.php:35 -- require_once(...)
    
    Warning: sprintf() [function.sprintf]: Too few arguments in /users/mrl/www/mrl/include/contents/joinus.php on line 115
    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 ''1299250811','Joinus Anfrage','',-1)' at line 1
    in Query:
    INSERT INTO `ic1_pm` (`sid`,`eid`,`time`,`titel`,`txt`,`status`) VALUES (1,,'1299250811','Joinus Anfrage','',-1)
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ user.php:331 -- db_query(...)
    	@ joinus.php:118 -- sendpm(...)
    	@ index.php:35 -- require_once(...)
    Der Leader von wurde benachrichtigt.


    Das erste was ich möchte ist das nicht der leader benachrichtigt wird sonder das an eine email versendet wird und dann halt noch das die Fehlermeldungen weg sind.

    Wir werden es dann später machen das die Joinus Seite nur besucht werden kann wenn man registriert ist.

    Gurß Tiborius

    betroffene Homepage: mrl.square7.de/mrl/index.php?joinus
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    db_query("INSERT INTO prefix_usercheck (`check`,name,datime,ak,groupid) VALUES ('".genkey(8)."','".$name."',NOW(),4,$squad)");


    in

    db_query("INSERT INTO prefix_usercheck (`check`,name,datime,ak,groupid) VALUES ('".genkey(8)."','".$name."',NOW(),4,'".$squad."')");


    sendpm ($_SESSION['authid'], $row['mod1'], 'Joinus Anfrage',$mailtxt, -1);


    in

    sendpm ("'".$_SESSION['authid']."'", "'".$row['mod1']."'", 'Joinus Anfrage',"'".$mailtxt."'", "'-1'");
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Tiborius Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    ganz großen dank schon mal....

    jetzt kommt noch folgende Fehlermeldung

    Warning: sprintf() [function.sprintf]: Too few arguments in /users/mrl/www/mrl/include/contents/joinus.php on line 113


    Wie sieht es denn mit dem Emailversand aus? kann man das so machen das ich die email manuel in die php schreibe wo er es hin senden soll
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Hi bei dein sprintf hast du ein Reihenfehler den ich nicht weiß schau mal in $lang joinusmsg....

    ZitatZitat geschrieben von Tiborius
    # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
    Meister Joda xD

    zu deine EMail schau dir mal die funktion icmail an zwinker
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Tiborius Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    ok habe die funtion gefunden

    icmail($row['email'], ".$name."' Bewribt sich', 'Text in der Mail', 'absender@adresse');


    Die Text nachricht sollte dann so aussehen.

    MCNick: $mcnick
    Alter: $age
    Woher kennst du uns? $woher
    Warum willst du bei uns auf den Server? $ground

    muss ich das dann so einfügen?

    icmail($row['email'], ".$name."' Bewribt sich', 'MCNick:' ".$mcnick." '<br>Alter:' ".$age." '<br>Woher kennst du uns?' ".$woher." '<br>Warum willst du bei uns auf den Server?' ".$ground.", 'absender@adresse.de');
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    include/includes/func/allg.php

    function icmail ($mail, $bet, $txt, $from = '', $html = false) {


    bei HTML auf TRUE setzen wenn du HTML erlauben willst zwinker
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Tiborius Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    dann funtioniert das so wie ich das oben geschrieben habe?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    icmail($row['email'], ".$name."' Bewribt sich', 'MCNick:' ".$mcnick." '<br>Alter:' ".$age." '<br>Woher kennst du uns?' ".$woher." '<br>Warum willst du bei uns auf den Server?' ".$ground.", 'absender@adresse.de', TRUE);


    machst ja.
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Tiborius Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    und wo kann ich das in die php setzten?
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Das musst du selber rausfinden... Das ist dein Script nicht meins.
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten