Muczkowski 0 Zgłoś post Napisano Październik 16, 2014 (edytowany) Witam. Otóż jestem dość zielony w języku PHP. Wczoraj próbowałem się pobawić z PHPMailerem. Swoją stronę internetową mam postawioną na VPS'ie z panelem VestaCP (może tu będzie leżeć problem?) Strona z HTML - index.php <?php session_start(); require_once 'security.php'; $errors = isset($_SESSION['errors']) ? $_SESSION['errors'] : []; $fields = isset($_SESSION['fields']) ? $_SESSION['fields'] : []; ?> <?php if(!empty($errors)): ?> <div class="errors"> <ul> <li><?php echo implode('</li><li>', $errors); ?></li> </ul> </div> <?php endif; ?> <form method="post" name="form1" id="form1" action="contact.php"> <input type="text" id="name" name="name" <?php echo isset($fields['name']) ? ' value="' . $fields['name'] . '" ' : '' ?> placeholder="imię"/><br> <input type="text" id="email" name="email" <?php echo isset($fields['email']) ? ' value="' . $fields['email'] . '" ' : '' ?> placeholder="e-mail"/><br> <input type="text" id="phone" name="phone" <?php echo isset($fields['phone']) ? ' value="' . $fields['phone'] . '" ' : '' ?> placeholder="telefon"/> <textarea id="message" name="message" placeholder="wiadomość"/></textarea> <div class="submit_box"> <input type="submit" name="submit" value="Wyślij" /> <img src="images/bg_submit.png"> <div class="shadow"></div> </div> </form> </body> </html> <?php unset($_SESSION['errors']); unset($_SESSION['fields']); ?> no i contact.php <?php session_start(); require_once 'phpmailer/PHPMailerAutoload.php'; $errors = []; print_r($_POST); if(isset($_POST['name'], $_POST['email'], $_POST['phone'], $_POST['message'])) { $fields = [ 'name' => $_POST['name'], 'email' => $_POST['email'], 'phone' => $_POST['phone'], 'message' => $_POST['message'] ]; foreach($fields as $field => $data) { if(empty($data)) { $errors[] = 'Pole ' . $field . ' jest wymagane'; } } if(empty($errors)) { $m = new PHPMailer; $m->isSMTP(); $m->SMTPAuth = true; $m->SMTPDebug = 1; $m->Host = 'smtp.gmail.com'; $m->Username = 'mojmail@gmail.com'; $m->Passowrd = 'blablabla'; $m->SMTPSecure = 'tsl'; $m->Port = 465; $m->isHTML(); $m->Subject = 'Email wysłany z strony KS'; $m->Body = 'From: ' . $fields['name'] . ' (' . $fields['email'] . ')<p>' . $fields['message'] . '</p>'; $m->FromName = 'Contact'; $m->AddAddress('mojmail@gmail.com', 'Karol S'); if($m->send()) { header('Location: thanks.php'); die(); } else { $errors[] = 'Przepraszamy, spróbuj później'; } } } else { $errors[] = 'Something went wrong.'; } $_SESSION['errors'] = $errors; $_SESSION['fields'] = $fields; header('Location: index.php'); ?> I coś niedziała.. mianowicie wywala mi błąd "500 Internal Server Error Sorry, something went wrong :(" Any help? Dzięki i pozdrawiam Edit: ciekawe jest to, że przy wejściu na stronę, bez wypełnienia formularza, wysyła się automatycznie pusty mail na moją skrzynkę. Edytowano Październik 16, 2014 przez Muczkowski (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Syndrom 95 Zgłoś post Napisano Październik 16, 2014 Logi, logi, logi Udostępnij ten post Link to postu Udostępnij na innych stronach
MicroVPS.pl 85 Zgłoś post Napisano Październik 16, 2014 Dodaj na górze pliku ini_set( 'log_errors', true ); ini_set( 'error_log', realpath( dirname( __FILE__ ) ) . '/logs/php_error.log' ); Utwórz folder logs i nadaj mu chmody 777. Rezultat utworzonego tam pliku po uruchomieniu strony wklej tutaj. Udostępnij ten post Link to postu Udostępnij na innych stronach