Formukarz i skrypt PHP w Joomla
Wyniki 1 do 7 z 7

Temat: Formukarz i skrypt PHP w Joomla

  1. #1
    Debiutant
    Dołączył
    31-08-2014
    Wpisy
    7
    Punkty
    2

    Joomla! 3.1 Formularz i skrypt PHP w Joomla

    Witam!
    Zrobiłem prosty formularz i skonfigurowałem do niego skrypt phpmailer żeby wysyłało mi wiadomości na skrzynkę
    Przetestowałem to na stronie testowej napisanej w HTML-u i działa prawidłowo.
    Nie wiem natomiast jak umieścić to wszystko w Joomli
    Formularz który umieściłem w module na stronie wygląda tak:
    Kod HTML:
    <form action="mailer/send_mail.php" method="post" name="kontakt"><fieldset class="Newsletter"><legend>Newsletter</legend>
    <div> </div>
    <div><input type="text" name="email" title="Email" id="txtEmail" class="text"></div>
    <input type="submit" value="Wyślij" /></fieldset></form>

    Natomiast skrypt php umieszczony jest w pliku o nazwie send_mail.php w podkatalogu mailer. W tym samym katalogu znajdują się jeszcze pliki class.phpmailer.php i class.smtp.php i katalog z plikami PHPMailer
    Skrypt wygląda tak:
    Kod PHP:
    <?phpif(!$_POST) exit;if (!defined("PHP_EOL")) define("PHP_EOL""\r\n");
    // Poniżej przypisywanie do naszych zmiennych, danych otrzymanych z formularza
    $email    $_POST['email'];
    // Sprawdzanie wprowadzonych danych:if(trim($email) == '') {    echo '<div class="error_message">Uwaga. Prosimy o podanie poprawnego adresu email.</div>';    exit();} 
    if(get_magic_quotes_gpc()) {    $comments stripslashes($comments);}
    $msg "Ktoś kontaktuje się z Tobą za pośrednictwem formularza na stronie.<br />Treść wiadomości: <br />\"$comments\"<br /><br /><small>Możesz odpowiedzieć $name poprzez email: $email lub telefonicznie: $phone</small>"

    require_once(
    'mailer/PHPMailer/PHPMailerAutoload.php'); # patch where is PHPMailer / ścieżka do PHPMailera
    $mail = new PHPMailer;$mail->CharSet "UTF-8";
    $mail->IsSMTP();$mail->Host 'smtp.gmail.com'# Gmail SMTP host$mail->Port = 465; # Gmail SMTP port$mail->SMTPAuth = true; # Enable SMTP authentication / Autoryzacja SMTP$mail->Username = "moja_poczta@gmail.com"; # Gmail username (e-mail) / Nazwa użytkownika$mail->Password = "******"; # Gmail password / Hasło użytkownika$mail->SMTPSecure = 'ssl';
    #$mail->From = ''; # REM: Gmail put Your e-mail here$mail->FromName = 'Wiesiek'; # Sender name$mail->addAddress('moja_poczta@gmail.com', 'Patryk'); # Recipient (e-mail address + name) / Odbiorca (adres e-mail i nazwa)
    $mail->IsHTML(true); # Email @ HTML
    $mail->Subject 'Temat';$mail->Body    $email;$mail->AltBody 'Treść wiadomości jako tekst';
    if(!
    $mail->Send()) {echo 'Some error... / Jakiś błąd...';echo 'Mailer Error: ' $mail->ErrorInfo;exit;}
    echo 
    'Message has been sent (OK) / Wiadomość wysłana (OK)';
    ?>
    Dodam, że po kliknięciu wyślij przeglądarka kieruje się na adres: http://moja_strona/index.php/mailer/send_mail.php i komunikat na stronie: #404 Kategorii nie znaleziono

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Wyga siristru awatar
    Dołączył
    28-05-2009
    Skąd
    Szczecin
    Wpisy
    3 238
    Punkty
    302

    Domyślny

    Ale... po co to wszystko?
    Są moduły z formularzami kontaktowymi. Są komponenty do tworzenia formularzy.
    O niebo lepsze i bezpieczniejsze. Korzystają z wbudowanych funkcji Joomla jak wysyłanie maili (phpmailer,sendmail czy SMTP).

    To co próbujesz zrobić to montowanie wiatraczka z własnym zasilaniem w kabinie kierowcy i pytasz jak podłączyć przewody zasilania

    A wystarczy użyć np. tego modułu: https://extensions.joomla.org/extension/rapid-contact/

    Korzystam z tego modułu niemal zawsze, modyfikuję w razie potrzeby i dodaję nowe pola.

    Naprawdę, po co sobie utrudniać?
    Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
    Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
    Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)

  4. #3
    Debiutant
    Dołączył
    31-08-2014
    Wpisy
    7
    Punkty
    2

    Domyślny

    Dzięki. Zainstalowałem polecony przez Ciebie dodatek i mam pytanie. Czy da się formularz edytować (tak żeby na stronie było tylko okienko do wpisywania adresu e-mail)?

  5. #4
    Wyga siristru awatar
    Dołączył
    28-05-2009
    Skąd
    Szczecin
    Wpisy
    3 238
    Punkty
    302

    Domyślny

    Oczywiście. Pisałeś, że "zrobiłeś formularz" zatem wnioskuję, że znasz co nieco PHP i poradzisz sobie z edycją pliku ROOT/modules/mod_rapid_contact/mod_rapid_contact.php (moduł niestety nie obsługuje nadpisywania szablonem... chociaż można to zaimplementować samemu. Wtedy można używać różnych szablonów modułu dla różnych celów).
    Tam możesz ukryć/usunąć pola, dodać nowe itp.
    Pamiętaj, że pola są wyświetlane w formularzu a także wysyłane w mailu. Jeśli chcesz usunąć pola to musisz usunąć odniesienia do nich w obu miejscach.
    Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
    Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
    Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)

  6. #5
    Debiutant
    Dołączył
    31-08-2014
    Wpisy
    7
    Punkty
    2

    Domyślny

    Znam PHP to dużo powiedziane.
    Wszystko co wcześniej podałem było pobrane gdzieś tam z forum i lekko zmienione/uzupełnione. Ale dotarłem do tego pliku mod_rapid_contact.php i próbuje go zmieniać - na razie słabo bo moduł przestaje działać. To pewnie dlatego że, tak jak wcześniej zauważyłeś, trzeba zmieniać w dwóch miejscach. Dzięki. Będę jeszcze walczył

    Jest jeszcze jeden problem. Skonfigurowałem w głównych ustawieniach skrzynke pocztową (gmail) wybierając najprostszą metodą przez SMTP i niestety nie działa to jak trzeba. Średnio 1 na 5 prób tylko udaje się wysłać wiadomość. Przeważnie mam komunikat: SMTP Error: Could not authenticate.
    Są jeszcze dwie metody konfiguracji: Sendmail i PHP Mail. Ale nie wiem gdzie szukać plików skryptów żeby je skonfigurować.

  7. #6
    Wyga siristru awatar
    Dołączył
    28-05-2009
    Skąd
    Szczecin
    Wpisy
    3 238
    Punkty
    302

    Domyślny

    Cytat Wysłane przez Wieslaw3 Zobacz wiadomość
    Znam PHP to dużo powiedziane.
    Wszystko co wcześniej podałem było pobrane gdzieś tam z forum i lekko zmienione/uzupełnione. Ale dotarłem do tego pliku mod_rapid_contact.php i próbuje go zmieniać - na razie słabo bo moduł przestaje działać. To pewnie dlatego że, tak jak wcześniej zauważyłeś, trzeba zmieniać w dwóch miejscach. Dzięki. Będę jeszcze walczył
    Walcz Ad augusta per angusta

    Dodaj nowy parametr:

    Kod PHP:
    $myPhoneLabel $params->get('phone_label''Phone:'); 
    Uwzględnij go w wysyłanej wiadomości:

    Kod PHP:
    $myMessage 'Wiadomość od '$_POST["nazwa"] . "\n" 'Email: '$_POST["rp_email"] . "\n" 'Telefon: '$_POST["telefon"] . "\n\n"$_POST["rp_message"]; 
    (pousuwaj w powyższym zapisie to czego nie wysyłasz)

    Wywołaj zmienną $myPhoneLabel w formularzu przy końcu pliku, skorzystaj z wcześniejszych pół, przekopiuj jakieś i tylko podmień zmienną oraz nazwę pola.

    SMTP Error: Could not authenticate - oznacza to niepoprawnie skonfigurowane SMTP w Joomli. Sprawdź port, nazwę użytkownika i resztę ustawień.

    Cytat Wysłane przez Wieslaw3 Zobacz wiadomość
    Są jeszcze dwie metody konfiguracji: Sendmail i PHP Mail. Ale nie wiem gdzie szukać plików skryptów żeby je skonfigurować.
    Ich nie konfigurujesz, one powinny być skonfigurowane na twoim hostingu
    Na Forum pomagam bezpłatnie ad maiorem Joomla gloriam
    Mimo pomocy na forum nie dajesz rady? Potrzebujesz by ekspert "zrobił to" za Ciebie?
    Napisz do mnie na PW. Argentum et Aurum nie zawsze jest konieczne ;)

  8. #7
    Debiutant
    Dołączył
    31-08-2014
    Wpisy
    7
    Punkty
    2

    Domyślny

    Dzięki
    Cytat Wysłane przez siristru Zobacz wiadomość
    SMTP Error: Could not authenticate - oznacza to niepoprawnie skonfigurowane SMTP w Joomli. Sprawdź port, nazwę użytkownika i resztę ustawień
    Dzięki. Sprawdzałem swoje ustawienia ale wszystko jest OK. Z resztą gdyby nie to wcale by nie wysyłało. A tu raz po raz wyśle.

    Edit.
    Kłopot z uwierzytelnianiem to wina po stronie Gmail-a. Skonfigurowałem tak samo pocztę na wp. i śmiga za każdym razem.

Podobne tematy

  1. Skrypt w PHP w artykule Joomla 1.5
    przez ar4 na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 3
    Ostatni post/autor: 14-11-2013, 12:41
  2. jak zrobić taki podkład na skrypt html , żeby pokazać skrypt
    przez niunio na forum Administracja - ogólnie
    Odpowiedzi: 1
    Ostatni post/autor: 11-07-2013, 17:39
  3. błąd The requested URL /php-fcgi/php-fcgi-5.default/index.php was not found on this s
    przez majkigru na forum Instalacja, aktualizacja, migracje
    Odpowiedzi: 4
    Ostatni post/autor: 23-12-2011, 10:44
  4. Jak umiescic skrypt PHP w Joomla.
    przez hym23 na forum Administracja - ogólne
    Odpowiedzi: 0
    Ostatni post/autor: 16-03-2011, 13:08
  5. skrypt php w głównym oknie
    przez dzidkowo na forum Instalacje (Joomla!, składników)
    Odpowiedzi: 0
    Ostatni post/autor: 20-06-2006, 20:48

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •