Menü

  Login

  Shoutbox

  Forum » Fragen zu Ilch » Andere Dinge » Eigenes Joinus Formular


Eigenes Joinus Formular
Wolke
Grünschnabel

User Pic

Posts: 2
# 08.06.2012 - 22:49:12
    zitieren



SO DAS HIER IST DAS JOINUS FORMULAR...
Ich schaffe es nicht, dass die PrivateMessage funktioniert..... Mit der PM möchte ich über alle Felder informiert werden, die per Array abgefragt und gespeichert werden.
1. Ich verstehe nicht in welcher Reihenfolge, dass mit der PM sein muss.
2. Weiß ich nicht, wie der PM Befehl aussehen muss.
3. Ich weiss nicht wie in der lang/de.php die 'joinuscupprivmsg' aussehen muss.

Pls help

<?php
# Copyright by: Manuel
# Support: www.ilch.de
defined ('main') or die ( 'no direct access' );
//-----------------------------------------------------------|

$title = $allgAr['title'].' :: Joinuscup';
$hmenu = 'Joinuscup';
$design = new design ( $title , $hmenu );
$design->header();

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

$teamanzahl_ar = array (
1 => '4',
2 => '5',
3 => '6',
4 => '7',
);

$servervorhanden_ar = array (
1 => 'Yes',
2 => 'No',
);

$servermitpasswort_ar = array (
1 => 'Yes',
2 => 'No',
);

$serverslots_ar = array (
1 => '>10',
2 => '>16',
3 => '>24',
);


$farm = array (
'Clanname',
'clanleader',
'Kontaktmail',
'Teamleader',
'Teamname',
'TeamTag',
'Homepage',
'servervorhanden',
'servermitpasswort',
'Server',
'serverslots',
'tsserver',
'teamanzahl',
'Battlelog',
'Mitspielernamen',
'rules'
);
$x = 0;
foreach ($farm as $ve) {
if (!empty($_POST[$ve])) {
$$ve = escape($_POST[$ve], 'string');
$x++;
} else {
$$ve = '';
}
}

if (count($farm) <> $x OR $ch_name == false OR !chk_antispam('joinuscup')) {
$tpl = new tpl ( 'joinuscup.htm' );
$teamanzahl = arlistee ($teamanzahl, $teamanzahl_ar);
$servervorhanden = arlistee ($servervorhanden, $servervorhanden_ar);
$servermitpasswort = arlistee ($servermitpasswort, $servermitpasswort_ar);
$serverslots = arlistee ($serverslots, $serverslots_ar); '<option value="0">choose</option>';

foreach($farm as $ve) {
if ($x > 0 AND empty($_POST[$ve])) {
echo 'missing: '.$lang[$ve].'<br />';
}
$tpl->set ($ve, $$ve);
}

$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('joinuscup', 100));
$tpl->out(3);
} else { # eintragen


$rulz = (isset($_POST['rules'])?$_POST['rules']:$lang['no']);
$teamanzahl = $teamanzahl_ar[$teamanzahl];
$servervorhanden = $servervorhanden_ar[$servervorhanden];
$servermitpasswort = $servermitpasswort_ar[$servermitpasswort];
$serverslots = $serverslots_ar[$serverslots];

# bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
$mailtxt = sprintf ($lang['joinuscupprivmsg'],
$name,
$row['name'],
$skill,
$mail,
$hometown,
$age,
$icqnumber,
$favmap,
$ground,
$rulz,
$userreg
);

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

echo sprintf($lang['leaderofxalert'], $row['name']);
}
$design->footer();
?>


Und hier der Befehl aus der lang/de.php

'joinuscupprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nSkill: %s\neMail: %s\nWohnort: %s\nAlter: %s\nICQ: %s\nFav.Map: %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.",
Mairu
Administrator

User Pic

Posts: 1908
# 09.06.2012 - 09:11:23
    zitieren



Hallo der PM Befehl kann so bleiben, wenn du die PM weiterhin an den Leader des Teams schicken willst.

Die Reihenfolge ist so schon in Ordnung, erst muss der PM Text zusammengefügt werden, und dann die PM verschickt werden.

Zu der lang Variable, in dieser Variable wird jedes %s durch einen Eintrag in der sprintf Anweisung unter
# bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
Der erste Parameter ($lang['joinuscupprivmsg']) steht für die Variable in deren Text die weiteren eingefügt werden.

Das erste %s in deinem Text wird also durch den Inhalt von $name ersetzt, das 2. durch $row['name'] ersetzt usw., wichtig dabei ist das die Anzahl von zu ersetzenden Parametern (den %s) und der Variablen mit denen ersetzt wird gleich groß ist.

Bei dir fehlt allerdings das Auslesen der Datenbank und schreiben der $row Variable, ich weiß nicht, ob das jetzt nur ein Ausschnitt der Datei ist, aber sonst wäre der Code unvollständig.
Wolke
Grünschnabel

User Pic

Posts: 2
# 12.06.2012 - 06:21:06
    zitieren



Smilie Juhu. Habe es Dank Deiner Hilfe geschafft. Smilie
Vielen Dank. Gute Arbeit.

Lg Wolke
Danke im Namen von Ambush

p.s.: Ein Tip ist besser als den Code selbst zu schreiben. Smilie


Zuletzt modifiziert von Wolke am 12.06.2012 - 06:26:25
Mairu
Administrator

User Pic

Posts: 1908
# 12.06.2012 - 07:18:39
    zitieren



Ich für meinen Teil freue mich auch mehr über Leute, die es selbst versuchen und da greife ich gern unter die Arme Zwinker