Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Kontaktformular erweitern
#1
Hallo Community,

das Problem ist doch nicht beseitigt. Folgendes möchte ich machen:

Ich habe das Kontaktformular soweit bearbeitet, dass ich den Betreff gelöscht habe und zwei Kategorien mit den Namen: Ingame Name und GUID hinzugefügt hab. Die PHP Datei habe ich auch soweit erfolgreich bearbeitet und in der MySQL Datenbank die beiden hinzugefügt, allerdings kommt bei der Email immer noch nicht das gewünschte Ergebnis.

Hier mal die beiden Dateien:


Code:
<html>
<head>
<title>{$mybb->settings['bbname']} - {$lang->contact}</title>
{$headerinclude}
</head>
<body>
{$header}
<form action="contact.php" method="post">
    <input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
    {$errors}
    <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
        <tr>
        <td class="thead" colspan="2"><strong>{$lang->contact}</strong></td>
        </tr>
       <tr>
        <td class="trow1" valign="top"><strong>Ingame Name:</strong><br /><span class="smalltext">Wie lautet dein Ingame Name.</span></td>
        <td class="trow1"><input type="text" name="ingame" class="textbox" size="49" value="{$mybb->input['ingame']}" /></td>
        </tr>
       <tr>
        <td class="trow2" valign="top"><strong>GUID:</strong><br /><span class="smalltext">Deine GUID muss genau 32 Stellen betragen.</span></td>
        <td class="trow2"><input type="text" name="guid" class="textbox" size="49" value="{$mybb->input['guid']}" /></td>
        </tr>
        <tr>
        <td class="trow1" valign="top"><strong>Bewerbung:</strong><br /><span class="smalltext">Schreibe uns eine kleine Bewerbung warum wir genau dich Whitelisten sollen.</span></td>
        <td class="trow1"><textarea cols="50" rows="10" name="message" class="textarea" >{$mybb->input['message']}</textarea></td>
        </tr>
        <tr>
        <td class="trow2" valign="top"><strong>{$lang->contact_email}:</strong><br /><span class="smalltext">{$lang->contact_email_desc}</span></td>
        <td class="trow2"><input type="text" name="email" class="textbox" size="49" value="{$mybb->input['email']}" /></td>
        </tr>
        {$captcha}
    </table>
    <br />
    <div align="center">
        <input type="submit" class="button" name="submit" value="{$lang->contact_send}" />
    </div>
</form>
{$footer}
</body>
</html>

PHP-Code:
<?php
/**
 * MyBB 1.8
 * Copyright 2014 MyBB Group, All Rights Reserved
 *
 * Website: http://www.mybb.com
 * License: http://www.mybb.com/about/license
 *
 */

define("IN_MYBB"1);
define('THIS_SCRIPT''contact.php');

$templatelist "contact,post_captcha";

require_once 
"./global.php";
require_once 
MYBB_ROOT.'inc/class_captcha.php';

// Load global language phrases
$lang->load("contact");

$plugins->run_hooks('contact_start');

// Make navigation
add_breadcrumb($lang->contact"contact.php");

if(
$mybb->settings['contact'] != || (!$mybb->user['uid'] && $mybb->settings['contact_guests'] == 1))
{
    
error_no_permission();
}

// Check group limits
if($mybb->usergroup['maxemails'] > 0)
{
    if(
$mybb->user['uid'] > 0)
    {
        
$user_check "fromuid='{$mybb->user['uid']}'";
    }
    else
    {
        
$user_check "ipaddress=".$db->escape_binary($session->packedip);
    }

    
$query $db->simple_select("maillogs""COUNT(*) AS sent_count""{$user_check} AND dateline >= '".(TIME_NOW - (60*60*24))."'");
    
$sent_count $db->fetch_field($query"sent_count");
    if(
$sent_count >= $mybb->usergroup['maxemails'])
    {
        
$lang->error_max_emails_day $lang->sprintf($lang->error_max_emails_day$mybb->usergroup['maxemails']);
        
error($lang->error_max_emails_day);
    }
}

// Check email flood control
if($mybb->usergroup['emailfloodtime'] > 0)
{
    if(
$mybb->user['uid'] > 0)
    {
        
$user_check "fromuid='{$mybb->user['uid']}'";
    }
    else
    {
        
$user_check "ipaddress=".$db->escape_binary($session->packedip);
    }

    
$timecut TIME_NOW-$mybb->usergroup['emailfloodtime']*60;

    
$query $db->simple_select("maillogs""mid, dateline""{$user_check} AND dateline > '{$timecut}'", array('order_by' => "dateline"'order_dir' => "DESC"));
    
$last_email $db->fetch_array($query);

    
// Users last email was within the flood time, show the error
    
if($last_email['mid'])
    {
        
$remaining_time = ($mybb->usergroup['emailfloodtime']*60)-(TIME_NOW-$last_email['dateline']);

        if(
$remaining_time == 1)
        {
            
$lang->error_emailflooding $lang->sprintf($lang->error_emailflooding_1_second$mybb->usergroup['emailfloodtime']);
        }
        elseif(
$remaining_time 60)
        {
            
$lang->error_emailflooding $lang->sprintf($lang->error_emailflooding_seconds$mybb->usergroup['emailfloodtime'], $remaining_time);
        }
        elseif(
$remaining_time 60 && $remaining_time 120)
        {
            
$lang->error_emailflooding $lang->sprintf($lang->error_emailflooding_1_minute$mybb->usergroup['emailfloodtime']);
        }
        else
        {
            
$remaining_time_minutes ceil($remaining_time/60);
            
$lang->error_emailflooding $lang->sprintf($lang->error_emailflooding_minutes$mybb->usergroup['emailfloodtime'], $remaining_time_minutes);
        }

        
error($lang->error_emailflooding);
    }
}

$errors = array();

$mybb->input['message'] = trim_blank_chrs($mybb->get_input('message'));
$mybb->input['email'] = trim_blank_chrs($mybb->get_input('email'));

if(
$mybb->request_method == "post")
{
    
// Verify incoming POST request
    
verify_post_check($mybb->get_input('my_post_key'));

    
$plugins->run_hooks('contact_do_start');

    
// Validate input
    

    
if(empty($mybb->input['message']))
    {
        
$errors[] = $lang->contact_no_message;
    }

    if(
strlen($mybb->input['message']) > $mybb->settings['contact_maxmessagelength'] && $mybb->settings['contact_maxmessagelength'] > 0)
    {
        
$errors[] = $lang->sprintf($lang->message_too_long$mybb->settings['contact_maxmessagelength'], strlen($mybb->input['message']));
    }

    if(
strlen($mybb->input['message']) < $mybb->settings['contact_minmessagelength'] && $mybb->settings['contact_minmessagelength'] > 0)
    {
        
$errors[] = $lang->sprintf($lang->message_too_short$mybb->settings['contact_minmessagelength'], strlen($mybb->input['message']));
    }

    if(empty(
$mybb->input['email']))
    {
        
$errors[] = $lang->contact_no_email;
    }
    else
    {
        
// Validate email
        
if(!validate_email_format($mybb->input['email']))
        {
            
$errors[] = $lang->contact_no_email;
        }
    }

    
// Should we have a CAPTCHA? Perhaps yes...
    
if($mybb->settings['captchaimage'])
    {
        
$captcha = new captcha;

        if(
$captcha->validate_captcha() == false)
        {
            
// CAPTCHA validation failed
            
foreach($captcha->get_errors() as $error)
            {
                
$errors[] = $error;
            }
        }
    }

    if(!
$mybb->user['uid'] && $mybb->settings['stopforumspam_on_contact'])
    {
        require_once 
MYBB_ROOT '/inc/class_stopforumspamchecker.php';

        
$stop_forum_spam_checker = new StopForumSpamChecker(
            
$plugins,
            
$mybb->settings['stopforumspam_min_weighting_before_spam'],
            
$mybb->settings['stopforumspam_check_usernames'],
            
$mybb->settings['stopforumspam_check_emails'],
            
$mybb->settings['stopforumspam_check_ips'],
            
$mybb->settings['stopforumspam_log_blocks']
        );

        try {
            if(
$stop_forum_spam_checker->is_user_a_spammer(''$mybb->input['email'], get_ip()))
            {
                
$errors[] = $lang->error_stop_forum_spam_spammer;
            }
        }
        catch (
Exception $e)
        {
            if(
$mybb->settings['stopforumspam_block_on_error'])
            {
                
$errors[] = $lang->error_stop_forum_spam_fetching;
            }
        }
    }

    if(empty(
$errors))
    {
        if(
$mybb->settings['contact_badwords'] == 1)
        {
            
// Load the post parser
            
require_once MYBB_ROOT."inc/class_parser.php";
            
$parser = new postParser;

            
$parser_options = array(
                
'filter_badwords' => 1
            
);

            
$mybb->input['subject'] = $parser->parse_message($mybb->input['subject'], $parser_options);
            
$mybb->input['ingame'] = $parser->parse_message($mybb->input['ingame'], $parser_options);
            
$mybb->input['guid'] = $parser->parse_message($mybb->input['guid'], $parser_options);
            
$mybb->input['message'] = $parser->parse_message($mybb->input['message'], $parser_options);
        }

        
$user $lang->na;
        if(
$mybb->user['uid'])
        {
            
$user $mybb->user['username'].' - '.$mybb->settings['bburl'].'/'.get_profile_link($mybb->user['uid']);
        }

        
$ingame $lang->sprintf($lang->email_contact_ingame$mybb->input['ingame']);
        
$guid $lang->sprintf($lang->email_contact_guid$mybb->input['guid']);
        
$message $lang->sprintf($lang->email_contact$user$session->ipaddress$mybb->input['message']);

        
// Email the administrator
        
my_mail($mybb->settings['adminemail'], Whitelist$message$mybb->input['email']);

        
$plugins->run_hooks('contact_do_end');

        if(
$mybb->settings['mail_logging'] > 0)
        {
            
// Log the message
            
$log_entry = array(
                
"ingame" => $db->escape_string($ingame),
                
"guid" => $db->escape_string($guid),
                
"message" => $db->escape_string($message),
                
"dateline" => TIME_NOW,
                
"fromuid" => $mybb->user['uid'],
                
"fromemail" => $db->escape_string($mybb->input['email']),
                
"touid" => 0,
                
"toemail" => $db->escape_string($mybb->settings['adminemail']),
                
"tid" => 0,
                
"ipaddress" => $db->escape_binary($session->packedip),
                
"type" => 3
            
);
            
$db->insert_query("maillogs"$log_entry);
        }

        
// Redirect
        
redirect('contact.php'$lang->contact_success_message);
    }
    else
    {
        
$errors inline_error($errors);
    }
}

if(empty(
$errors))
{
    
$errors '';
}

// Generate CAPTCHA?
if($mybb->settings['captchaimage'])
{
    
$post_captcha = new captcha(true"post_captcha");

    if(
$post_captcha->html)
    {
        
$captcha $post_captcha->html;
    }
}
else
{
    
$captcha '';
}

$mybb->input['ingame'] = htmlspecialchars_uni($mybb->input['ingame']);
$mybb->input['guid'] = htmlspecialchars_uni($mybb->input['guid']);
$mybb->input['message'] = htmlspecialchars_uni($mybb->input['message']);

if(
$mybb->user['uid'] && !$mybb->get_input('email'))
{
    
$mybb->input['email'] = htmlspecialchars_uni($mybb->user['email']);
}
else
{
    
$mybb->input['email'] = htmlspecialchars_uni($mybb->get_input('email'));
}

$plugins->run_hooks('contact_end');

eval(
"\$page = \"".$templates->get("contact")."\";");
output_page($page); 

Würde mich über eine ziemlich schnelle Lösung sehr freuen. Smile
Zitieren


Nachrichten in diesem Thema
Kontaktformular erweitern - von bStyle - 11.11.2014, 00:34
RE: Kontaktformular erweitern - von StefanT - 11.11.2014, 14:36
RE: Kontaktformular erweitern - von bStyle - 11.11.2014, 18:41
RE: Kontaktformular erweitern - von StefanT - 12.11.2014, 12:09

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Kontaktformular anpassen derberliner 4 1.737 04.03.2020, 15:11
Letzter Beitrag: derberliner
  Checkbox in Kontaktformular bStyle 6 2.274 07.12.2014, 16:50
Letzter Beitrag: Juventiner
  Suche Kontaktformular sportwettentalk 26 7.984 29.01.2010, 14:50
Letzter Beitrag: StefanT
  Kontaktformular auch für gesperrte Benutzer Traktion 6 2.656 29.06.2008, 20:28
Letzter Beitrag: Traktion
  Kontaktformular in Deutsch admin83 0 1.568 21.08.2007, 11:35
Letzter Beitrag: admin83