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

Geschlossen
  1. #1
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    Hallo,

    Ich habe irgendwie Probleme mit der JoinUS Funktion.
    Ich möchte, dass sobald ein JoinUs Antrag ausgefüllt wird, eine PM bekommen. Der User soll nicht direkt angelegt / freigeschalten werden.

    Momentan bekommen ich keine PM wenn JoinUS ausgefüllt wird. Der Anmeldende aber auch keine Mail.

    Was muss ich tun, damit der Anmeldende eine Mail bekommt, in der drin steht: "In Kürze setzt sich ein Admin mit dir in Verbindung." oder sowas?

    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_Steamname}</label><input type="text" name="Steamname" value="{Steamname}" /><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 /><br />
    	<label style="float:left; width:100px; ">{_lang_ground}</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>


    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'],
    );
    
    $far = array (
    		'name',
    		'skill',
    		'Steamname',
    		'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,
        $Steamname,
        $mail,
        $age,
        $hometown,
        $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();
    ?>


    Wäre echt cool, wenn mir jemand helfen kann.

    Grüße
    pink

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Hast du schonmal gesucht?
    Joinus wurde so oft diskutiert und esgibt auch erweiterte JoinUs Formulare.

    Grundsätzlich ist das so wie du es vor hast nicht vorgesehen.
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    Ja, ich habe gesucht. Und nur spezielle Fragen/Antworten gefunden, die ich leider nicht im Stande bin auf mein Problem umzumünzen. :/

    Wenn keine Nachricht per Mail rausgehen kann, dann vll ja eine Nachricht, die unter JoinUS nach abgeschickter Bewerbung angezeigt wird?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Syr das ich vorher so kurz ab war aber ich hab nur in meiner Pause kurz zeit

    Also Mail geht, PN geht,

    ZitatZitat
    Der User soll nicht direkt angelegt / freigeschalten werden.


    Das geht nicht.

    Begründung entweder der User wird angelegt und in der Datenbank gespeichert, oder die eingegebenen Daten sind in der Mail/Pn und dann weg. Und der User muss per Hand angelegt werden.
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    ok, dann direkt gespeichert und angelegt. Hauptsache ich bekommen eine PN wenn jemand das Formular abgesendet hat. Wo kann ich das einstellen?

    Außerdem würde ich, dass gewisse Felder bei dem JoinUS Formular in die Userdetails übernommen werden. Zum Beispiel hätte ich gern statt "ICQ Nummer" "Steamname". Dieser sollte dann auch in die Userdetails übernommen werden.


    Zuletzt modifiziert von mr.pink am 21.11.2014 - 19:37:09
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    PM:

    # 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);
        }


    dieser Teil ist für die PN's zuständig.

    Eine PN bekommt der Leader des Teams, der CoLeader und der Anwerber
    Solltest du da nix bekommen bist ist da wohl nix eingetragen für dich.


    Die E-mail wird anders generiert bei der Registrierung des Users.
    Da solltest du deine eMail Einstellungen Prüfen: siehe FAQ

    PS: Die Übernahme von werten in die Profilfelder geht so einfach nicht.


    Zuletzt modifiziert von Rock@wulf am 22.11.2014 - 00:53:34
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    hm, so stehts ja drin. Ich bin admin der Seite und kriege keine PN. kann mich auch nicht zum Leader machen. Kann ich den Admin dort mit eintragen?


    Zuletzt modifiziert von mr.pink am 25.11.2014 - 18:17:46
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    yahooh Mitglied
    Registriert seit
    07.05.2014
    Beiträge
    28
    Beitragswertungen
    0 Beitragspunkte
    erstmal musst du ein Team Anlegen z.B Battlefield3000 dort fügst du dann deinen account z.B mr.pink ein und setzt diesen als Leader, dann kann derjenige der sich bewirbt diese spalte auswählen also eintragen das er zum jeweiligen team beitreten möchte und dann erst bekommst du eine mail ^^
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Sicher

    # pm an den leader  
        sendpm ($_SESSION['authid'], $row['mod1'], 'Joinus Anfrage',$mailtxt, -1);


    zu

    
    # pm an den Seitenadmin
        sendpm ($_SESSION['authid'], 1, 'Joinus Anfrage',$mailtxt, -1);
    
    # pm an den leader  
        sendpm ($_SESSION['authid'], $row['mod1'], 'Joinus Anfrage',$mailtxt, -1);
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    hm, die Seite läuft seit ca. nem Jahr. Habe schon einige member und user, wie man sieht. Mir wurde aber angetragen, dass die "JoinUs" FUnktion nicht funktioniert. Ich probiere es häufig selbst aus, indem ich mich auslogge und selbst das JoinUS FOrmular ausfülle. Manchmal kommen wilde Fehlermeldungen, wie z.B. diese hier:

    Warning: require_once(include/includes/class/phpmailer/PHPMailerAutoload.php): failed to open stream: No such file or directory in /mnt/webb/c0/92/54005592/htdocs/include/includes/func/allg.php on line 194 Fatal error: require_once(): Failed opening required 'include/includes/class/phpmailer/PHPMailerAutoload.php' (include_path='.:/opt/RZphp5/includes') in /mnt/webb/c0/92/54005592/htdocs/include/includes/func/allg.php on line 194


    Manchmal kommt gar nix. In beiden Fällen wird der User angelegt und wird in der kleinen "wer ist/war online Spalte bzw. memberliste" angezeigt. Ich kriege nie eine PM (bin ADMIN, kein Siteadmin, kein leader etc.. ADMIN.Ein Team habe ich auch schon lange angelegt, dort sind die Leute drin - ist auch Pflichtauswahl unter JoinUS.). Die Angaben im neu angelegten User sind alle leer, bis auf den Nickname und ggf die Mailadresse.

    Ich finde das sehr verwirrend. Und warum werden die Felder, die bei Joinus eingetragen werden nicht automatisch in die Userdetails übernommen?

    Angenommen es passiert folgendes (schon mehrfach gehabt):

    Ein User registriert sich via JoinUS. Er will dem Clan beitreten. Die allerwichtigste Angabe zur Person ist hierbei: Steamname. Die wird nicht übernommen, bzw gar nicht angezeigt (krieg ja sowieso keine Nachricht, dass sich überhaupt wer angemeldet hat). Ich sehe am Ende einen womöglich neuen User nur, wenn ich in der memberlist schaue. Dem kann ich aber nur ne PM oder Mail schreiben (wer liest heutzutage mails bzw gibt seine seriöse Mailadresse auf solche Seiten an?!). Das eigentlich wichtige, der Steamname fällt hinten runter, obwohls das einfachste Kontaktmittel ist. Der User meldet sich doch nicht jeden Tag an und schaut, ob er ne PM bekommen hat (kein User hat sich bei uns je zweimal angemeldet).

    Also perfekt wäre:
    Angaben bei Joinus werden in die Userdetails übernommen (so z.B: Steamname).
    Ich, als Admin, bekomme ne PM sobald es ne neue registrierung bzw. JoinUs gab.

    Das ist nicht möglich?! Wofür ist JoinUs dann da? lachen
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Es bekommen der Leader, Coleader sowie Memberorga aus dem Team für das sich der jeweilige Benutzer "bewirbt", kann beim Joinus ausgewählt werden, eine PM. (Das muss man bei der Teamkonfiguration auswählen).

    Die Felder werden nicht übernommen, da in der Originalversion kein Steamname Feld enthalten ist, und deswegen keine Zuordnung statt finden kann. Das Feld ist glaub auch im Standardjoinus nicht drin.

    Wenn der Mailversand nicht funktioniert, ist das auch in erster Linie nicht Problem vom JoinUs sondern generell, und kann auch über das Kontaktformular getestet werden.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Wie Mairu bereits gesagt hat du kannst auch Admin des Hostsystems sein, aber das Joinus versendet PN's nur an die im Team eingetragenen Leader

    Hier mal ein Bild:
    gesperrtes Bild

    Die Übernahme von Profilfeldern, war zum Zeitpunkt der Erstellung des Joinus nicht vorgesehen!

    Als ich das in seiner Jetzigen Version abgegeben habe, gabs noch nicht mal variable Profilfelder. Un es lässt sich halt nicht mal eben anpassen bzw komme ich dann mit einem Update nicht weiter an dem ich seit geraumer Zeit bastle xD

    Warum geht die Übernahme nicht so einfach?
    Weil ein User erst in die Usercheck Tabelle geschrieben wird. Und nach der "Bestätigung" des links in der Mail von dort aus mit Standard werten in die Tabellen eingetragen wird.

    In der Usercheck Tabelle werden aber nur diese felder übernommen

    CREATE TABLE `ic1_usercheck` (
        `check` varchar(100) NOT NULL,
        `name` varchar(100) NOT NULL,
        `email` varchar(100) NOT NULL,
        `pass` varchar(123) NOT NULL,
        `datime` datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
        `ak` tinyint(4) DEFAULT '0' NOT NULL,
        `groupid` tinyint(4) NOT NULL,
       PRIMARY KEY (`check`)
    );


    Das ergänzen von Feldern ist also so leit nicht möglich.

    Ich hatte das damals für mich privat über einen Array in einem Feld gelöst was suboptimal ist und eine Änderung in allen Bereichen der Registrierung zur folge hat. Deswegen sagte ich es ist nicht ohne weiteres möglich.

    Solltest du das so verstehen, kannst du es ja selber versuchen umzuändern. Wenn nicht, dann las die Finger davon oder schreib eine Anfrage im Anfragen Forum, denn das sind bestimmt 6+ Stunden Zeit die diese "simple" Änderung auf sich zieht
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    Ok, hab mich jetzt nochmal zusätzlich als Leader des Teams eingetragen, mal sehen ob / wie es jetzt klappt. Danke erstmal.


    Zuletzt modifiziert von mr.pink am 01.12.2014 - 20:06:26
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    mr.pink Mitglied
    Registriert seit
    27.02.2014
    Beiträge
    23
    Beitragswertungen
    0 Beitragspunkte
    Update:
    Also ne PM kriege ich jetzt, sogar 2. In dieser steht aber nichts weiter als: JoinUs Anfrage wurde gesendet. Somit bin ich auf die Angaben der Personen angewiesen, welche meistens unseriös sind, bzw nen zweiter Mailaccount ist, der nur einmal im Jahr gecheckt wird. :p
    Wenn es irgendwie eine Möglichkeit gibt, wichtige und relevante Felder bzgl Kontaktmöglichkeit hinzuzufügen, dann wäre das bombastisch. JoinUs wie es jetzt ist, ist in meinen Augen nutzlos, da nie jemand auf meine gesendeten Antwortmails reagiert. traurig
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beiträge
    3.414
    Beitragswertungen
    213 Beitragspunkte
    Ja ist schon möglich dafür müsstest du in

    include/contents/joinus.php
    include/templates/joinus.htm

    alle relevanten abfragen/ausgaben verdoppeln z.b das icq feld. Dazu kommt das du in der db eine zusätzliche Spalte anlegen musst damit dies auch gespeichert wird. Im groben und ganzen wars das auch schon.
    while(!asleep()) sheep++;
    www.movely.biz
    www.webplant.eu
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten