Mam własne forum a na nim formularz kontaktowy poprzez który użytkownicy wysyłają różnego rodzaju informacje (np. o błędach) na email administratora. Jest to trochę uciążliwe, ponieważ dostęp do tego maila mam tylko ja, a jako że zgłoszenia użytkowników dotyczą wielu kwestii, nie są one kontrolowanych przez jedną osobę. doszedłem do wniosku że lepszą metodą byłoby tworzenie wątków w wyznaczonym dziale zamiast wysyłanie emaili, wtedy wszyscy mieliby dostęp do zgłoszeń i zajmowali się tymi którymi powinni.
Kod formularza wygląda w ten sposób:
<?php $lang->load('member'); $lang->load('messages'); $lang->load('datahandler_user'); if(!$mybb->user['uid']) { $usertemplate = '<tr> <td width="40%" class="trow1"><strong>{$lang->full_name}</strong></td> <td width="60%" class="trow1"><input type="text" class="textbox" size="50" name="name" value="{$name}" /></td> </tr> <tr> <td width="40%" class="trow2"><strong>{$lang->email_address}</strong></td> <td width="60%" class="trow2"><input type="text" class="textbox" size="50" name="email" value="{$email}" /></td> </tr>'; } else { $name = $mybb->user['username']; $email = $mybb->user['email']; } if($mybb->input['action'] == 'do_email' && $mybb->request_method == 'post') { verify_post_check($mybb->input['my_post_key']); { $errors[] = $lang->userdata_missing_username; } { $errors[] = $lang->userdata_bad_characters_username; } { $errors[] = $lang->userdata_missing_email; } elseif(!validate_email_format($email)) { $errors[] = $lang->userdata_invalid_email_format; } { $errors[] = $lang->error_no_email_subject; } { $errors[] = $lang->error_no_email_message; } if($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && !$mybb->user['uid']) { $imagehash = $db->escape_string($mybb->input['imagehash']); $imagestring = $db->escape_string($mybb->input['imagestring']); $query = $db->simple_select('captcha', '*', 'imagehash="' . $imagehash . '"'); $imgcheck = $db->fetch_array($query); if(my_strtolower($imgcheck['imagestring']) != my_strtolower($imagestring) || !$imgcheck['imagehash']) { $errors[] = $lang->error_regimageinvalid; } $db->delete_query('captcha', 'imagehash="' . $imagehash . '"'); } { if($mybb->settings['mail_handler'] == 'smtp') { $from = $email; } else { $from = $name . ' <' . $email . '>'; } my_mail($mybb->settings['adminemail'], '[' . $mybb->settings['bbname'] . ' ' . $pages['name'] . '] ' . $subject, $message, $from, '', '', false, 'text', '', $email); redirect($mybb->settings['bburl'], $lang->redirect_emailsent); } else { $errors = inline_error($errors); } } if($mybb->settings['captchaimage'] == 1 && function_exists('imagepng') && !$mybb->user['uid']) { $randomstr = random_str(5); 'imagehash' => $imagehash, 'imagestring' => $randomstr, 'dateline' => TIME_NOW ); $db->insert_query('captcha', $imagearray); } $template = '<html> <head> <title>' . $pages['name'] . '</title> {$headerinclude} </head> <body> {$header} {$errors} <form action="' . $_SERVER['REQUEST_URI'] . '" method="post"> <input type="hidden" name="my_post_key" value="{$mybb->post_code}" /> <table border="0" cellspacing="' . $theme['borderwidth'] . '" cellpadding="' . $theme['tablespace'] . '" class="tborder"> <thead> <tr> <td colspan="2" class="thead"> <strong>' . $pages['name'] . '</strong> </td> </tr> </thead> <tbody> {$usertemplate} <tr> <td width="40%" class="trow1"><strong>{$lang->email_subject}</strong></td> <td width="60%" class="trow1"><input type="text" class="textbox" size="50" name="subject" value="{$subject}" /></td> </tr> <tr> <td valign="top" width="40%" class="trow2"><strong>{$lang->email_message}</strong></td> <td width="60%" class="trow2"><textarea cols="50" rows="10" name="message">{$message}</textarea></td> </tr> {$captcha} </tbody> </table> <br /> <input type="hidden" name="action" value="do_email" /> <div align="center"><input type="submit" class="button" value="{$lang->send_email}" /></div> </form> {$footer} </body> </html>'; add_breadcrumb($pages['name']); output_page($page); ?>
Próbowałem to modyfikować po swojemu ale zawsze sypało syntax errorami, więc nie widze sensu wstawiać swoje próby modyfikacji.
Jeśli ktoś jest w stanie pomóc/naprowadzić mnie, byłbym bardzo wdzięczny za wypowiedzenie się w tym temacie.
Pozdrawiam.
PS:
Dodam jeszcze tylko, że nigdy specjalnie nie bawiłem się w PHP w związku z tym mój poziom wiedzy nie należy do wysokich, dopiero od niedawna zacząłem bardziej intensywną naukę.