Skocz do zawartości

Formularz kontaktowy e-mail na MyDevil nie działa nawet po Backupie


 Udostępnij

Rekomendowane odpowiedzi

Cześć,

mam problem z formularzem, otóż jeszcze kilka dni temu działał, dzisiaj już nie działa - możliwe że przez to że grzebałem w send.php (PHPMailer) i zapisałem przez edytor tekstowy który jest wbudowany w menadżerze FTP na @MyDevil.net, w takim razie kodowanie mogło zepsuć się właśnie w tym pliku. Postanowiłem że usunę wszystko z serwera, przeniosłem backup (wtedy kiedy to jeszcze działało) przez SSH (tak się powinno robić z tego co wiem), myślałem że wszystko będzie dobrze.. ale niestety NADAL nic nie działa..

Jeśli jakaś osoba potrzebuje dostępu do FTP to proszę napisać, jestem w stanie to udostępnić.

send.php

http://wklejto.pl/541739

formularz.php

http://www.wklejto.pl/541741
Odnośnik do komentarza
Udostępnij na innych stronach

  • Ekspert

Poprawione send.php

Spoiler

<?php

if(!$_POST) exit;
if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");

// Poniżej przypisywanie do naszych zmiennych, danych otrzymanych z formularza
$nick     = $_POST['nick'];
$age    = $_POST['age'];
$name   = $_POST['name'];
$email  = $_POST['email'];
$aboutMe = $_POST['aboutMe'];
$aboutChar   = $_POST['aboutChar'];
$verify   = $_POST['verify'];

// Sprawdzanie wprowadzonych danych:
if(trim($nick) == '') {
  echo '<div class="error_message">Uwaga! Prosimy o podanie nicku.</div>';
  exit();
} else if(trim($age) == '') {
  echo '<div class="error_message">Uwaga. Prosimy o podanie wieku.</div>';
  exit();
}  else if(trim($email) == '') {
  echo '<div class="error_message">Uwaga. Prosimy o podanie adresu email.</div>';
  exit();
}  else if(trim($aboutMe) == '') {
  echo '<div class="error_message">Uwaga. Prosimy o wpisanie informacji o sobie.</div>';
  exit();
} else if(trim($aboutChar) == '') {
  echo '<div class="error_message">Uwaga. Prosimy o wpisanie informacji o postaci.</div>';
  exit();
}

if(empty($verify)) {
  echo '<div class="error_message">Uwaga. Potwierdź zgodę na przetwarzanie twoich danych w celach kontaktowych.</div>';
  exit();
}

if(get_magic_quotes_gpc()) {
  $aboutMe = stripslashes($aboutMe);
  $aboutChar = stripslashes($aboutChar);
}

$msg = "Ktoś kontaktuje się z Tobą za pośrednictwem formularza na stronie.<br />
Treść wiadomości: <br />
Nick: \"$nick\"<br /><br />
Age: \"$age\"<br /><br />
Email: \"$email\"<br /><br />
About Me: \"$aboutMe\"<br /><br />
About Character: \"$aboutChar\"<br /><br />";

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require './PHPMailer/Exception.php';
require './PHPMailer/PHPMailer.php';
require './PHPMailer/SMTP.php';

$mail = new PHPMailer(true);
$mail->SMTPDebug = 3;

try {
  /* GLOBALNA KONFIGURACJA PHPMailera */
  $mail->isSMTP();         /* Okreslamy ze bedziemy wysylac za pomoca SMTP */
  $mail->Host = 'mail24.mydevil.net';     /* Pojdamy adres serwera - mozna go znalezc w dokumentacji swojego dostawcy poczty */
  $mail->SMTPAuth = true;       /* Uruchomienie autoryzację smtp */
  $mail->Username = 'kontakt@projectrp.pl';   /* Login do poczty */
  $mail->Password = '';      /* Haslo do poczty */
  $mail->SMTPSecure = 'ssl';      /* Włączamy szyfrowanie tls, można ustawić również ssl - możliwości poczty powinny być dostępne w dokumentacji dostawcy */
  $mail->Port = 465;        /* Port po którym skrypt ma się łączyć z kontem, przy tls jest to zazwyczaj 587, przy ssl 465 - może to się jednak różnić w zależności od dostawcy poczty */
  $mail->CharSet = "UTF-8";                       /* Ustawienie kodowania wiadomości na UTF-8 */
  $mail->addAddress('kontakt@projectrp.pl');

  /* PRAMETRY KONKRETNEGO MAILA: */
  $mail->From = 'kontakt@projectrp.pl';    /* Adres nadawcy maila, bardzo dobra praktyka jest stosowanie adresu za pomoca ktorego logujemy sie do SMTP */
  $mail->FromName = 'Formularz';      /* Nazwa nadawcy */

  /* Dostępne są również funkcje takie jak $mail->addCC czy $mail->addBCC */

  $mail->isHTML(true);        /* Jeżeli chcemy wysłać wiadomość w formacie HTML */

  $mail->Subject = '## NOWE ZGŁOSZENIE ZE STRONY PROJECTRP ##';
  $mail->Body    = $msg;
  $send = $mail->Send();

  if($send) :          /* Jeżeli jest OK */
?>
<script>
  var $form = document.querySelectorAll('#signup-form')[0],
      $submit = document.querySelectorAll('#signup-form input[type="submit"]')[0],
      $message;

  $message = document.createElement('span');
  $message.classList.add('message');
  $form.appendChild($message);
  $message._show = function(type, text) {
    $message.innerHTML = text;
    $message.classList.add(type);
    $message.classList.add('visible');
    window.setTimeout(function() {
      $message._hide();
    }, 3000);
  };
  $message._hide = function() {
    $message.classList.remove('visible');
  };
  $message._show('success', 'Sukces!');
</script>
<?php endif;
}
catch(phpmailerException $e) {
  echo $e->errorMessage(); //Pretty error messages from PHPMailer
?>
<script>
  var $form = document.querySelectorAll('#signup-form')[0],
      $submit = document.querySelectorAll('#signup-form input[type="submit"]')[0],
      $message;

  $message = document.createElement('span');
  $message.classList.add('message');
  $form.appendChild($message);
  $message._show = function(type, text) {
    $message.innerHTML = text;
    $message.classList.add(type);
    $message.classList.add('visible');
    window.setTimeout(function() {
      $message._hide();
    }, 3000);
  };
  $message._hide = function() {
    $message.classList.remove('visible');
  };
  $message._show('failure', 'Coś poszło nie tak, spróbuj ponownie później.');
</script>
<?php
}
catch(Exception $e) {
  echo $e->getMessage(); //Boring error messages from anything else!
?>
<script>
  var $form = document.querySelectorAll('#signup-form')[0],
      $submit = document.querySelectorAll('#signup-form input[type="submit"]')[0],
      $message;

  $message = document.createElement('span');
  $message.classList.add('message');
  $form.appendChild($message);
  $message._show = function(type, text) {
    $message.innerHTML = text;
    $message.classList.add(type);
    $message.classList.add('visible');
    window.setTimeout(function() {
      $message._hide();
    }, 3000);
  };
  $message._hide = function() {
    $message.classList.remove('visible');
  };
  $message._show('failure', 'Coś poszło nie tak, spróbuj ponownie później.');
</script>
<?php
}

 

 

Plik zapisz NA PEWNO z kodowaniem UTF-8 (bez BOM) i wrzuć na FTP. Daj znać czy działa.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Ekspert

Zapoznaj się z tym może: Formspree

Powinno zwracać jakikolwiek komunikat jeżeli jest coś źle, a tutaj nawet taki informacji nie ma, więc coś jest na pewno głębiej skopane.

Możesz dodać na wszelki wypadek jeszcze te linijki na początku pliku formularza:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Włączają wyświetlanie błędów.

Odnośnik do komentarza
Udostępnij na innych stronach

Problem wciąż nierozwiązany? Dodaj swoją odpowiedź

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

×