Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Jak zrobic Formularz Kontaktowy na stronie ? - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Jak zrobic Formularz Kontaktowy na stronie ? (/thread-jak-zrobic-formularz-kontaktowy-na-stronie)

Strony: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Kartofelek - 02-07-2011

poszukaj w necie captcha. i popraw kod bo znowu zupa tagowa.


RE: Jak zrobic Formularz Kontaktowy na stronie ? - disaster - 02-07-2011

(02-07-2011, 18:04)Kartofelek napisał(a): poszukaj w necie captcha. i popraw kod bo znowu zupa tagowa.

A zerknij na ten kod co wpisałem wyżej, bo nie wiem dlaczego wszystko się pojawia, ale nie mogę kliknąć kursora na to pole od kodu.
Myszą kliknąć w nie nie mogę, jedyne co jest możliwe to użycie przycisku TAB mając aktywny kursor w polu Treść


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Tost - 03-07-2011

Witam.

Wrzuciłem na swoją stronę formularz z tego tematu.
Skrypt działa, maile przychodzą niemal od razu Wink

Problem pojawia się przy próbie odpowiedzi, ponieważ jako nadawca widnieje "helios2_user, jakiś[email protected]

oto zastosowany kod:
Kod:
<?php
if ($_POST['nick'] && $_POST['mail'] && $_POST['temat'] && $_POST['tresc']) {

$wiadomosc = "od: ".$_POST['nick']." ".$_POST['mail']."


Tresc: ".$_POST['tresc']."  ";

$tematyka = "Nazwa twojej strony - ".$_POST['temat'];

mail ("[email protected]", $tematyka, $wiadomosc );
echo "Dziękujemy za wysłanie do nas wiadomości,";

} else {
echo "Nie uzupełniłeś wszystkich rubryk.";
exit;  
}

?>

kombinowałem z kodem, ale nijak nie pobiera adresu wstawionego przez użytkownika :/

idąc za radą madrej ksiażki i tego co znalazłem w necie zmieniłem jedną z linii na:
Kod:
mail ("[email protected]", $tematyka, $wiadomosc, "From = 'mail'" );
niestety nie działa to tak jak myślałem i nie pobiera adresu mailowego wpisanego przez użytkownika zwracając w polu od: 'mail'@boo.pl

znalazłem w internecie inne rozwiązanie i ustawiłem to:
Kod:
mail ("[email protected]", $tematyka, $wiadomosc, "From = 'mail'@SERVER_NAME" );

w polu od widnieje wtedy: 'mail'@server_name przez boo.pl

Ostatnia sprawdzana przeze mnie kombinacja to:

Kod:
<?php
if ($_POST['nick'] && $_POST['mail'] && $_POST['temat'] && $_POST['tresc']) {

$wiadomosc = "od: ".$_POST['nick']." ".$_POST['mail']."


Tresc: ".$_POST['tresc']."  ";

$tematyka = "Nazwa twojej strony - ".$_POST['temat'];
$odb = "From: 'mail'@$SERVER_NAME";

mail ("[email protected]", $tematyka, $wiadomosc, $odb );
echo "Dziękujemy za wysłanie do nas wiadomości,";

} else {
echo "Nie uzupełniłeś wszystkich rubryk.";
exit;  
}

?>

wtedy w polu od widnieje tylko 'mail' bez informacji prze jaki server wysłana została wiadomość -czyli niemal dobrze, ale ciągle jest źle :/

Kombinacje były różne i albo to nie działa wogóle, albo działa tak jak to przedstawiłem a skończyły mi się już pomysły Wink
Co jeszcze można zrobić z tym kawałkiem kodu, aby zaczęło to działać poprawnie?


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Kartofelek - 03-07-2011

Poczytaj sobie o "php mail headers"


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Tost - 04-07-2011

no to byłem blisko Tongue
Dzięki za nakierowanie na właściwy trop Wink

wrzucam zastosowany przeze mnie kod, może komuś się to przyda

na stronę:
Kod:
<form method="post" action="wyslij.php" name="kontakt">
        <div><li><label for="nick">Imię: </label><ul><input type="text" class="text" id="nick" name="nick" ></div>
        <div><li><label for="temat">Temat: </label><ul><input type="text" name="temat" class="text" id="temat" ></div>
        <div><li><label for="mail">Twój adres e-mail: </label><ul><input type="text" name="mail" class="text" id="mail" ></div>
        <div><li><label for="tresc">Treść: </label><ul><textarea name="tresc" id="tresc" rows="5" cols="50" ></textarea></div>
        <div><ul><input type="submit" value="Wyślij" /></div>
    </form>

wyslij.php:
Kod:
<?php
if ($_POST['nick'] && $_POST['mail'] && $_POST['temat'] && $_POST['tresc']) {

$to = "[email protected]";
$subject = "twoja_strona -" . $_POST['temat'];
$message = $_POST['tresc'];
$headers = "From: {$_POST['mail']}";

mail($to, $subject, $message, $headers);
echo "Dziękujemy za wysłanie do nas wiadomości,";

} else {
echo "Nie uzupełniłeś wszystkich rubryk.";
exit;  
}

?>



RE: Jak zrobic Formularz Kontaktowy na stronie ? - disaster - 08-07-2011

Kod php w pliku np kontakt.php:
Kod:
<?php
    function passcheck($pass) {
       $nr = floor(time() / 3600);
       for($i = 0; $i < strlen($pass); $i++)
         if($i % 2 == 0) $a .= $pass[$i]; else $b .= $pass[$i];
       $a = base_convert(strrev($a), 36, 10);
       $b = base_convert($b, 36, 10);
       if($a + $b <= $nr && $a + $b <= $nr - 2) return true;
       return false;
   }

   if(!passcheck($pass)) die("Hasło nie poprawne !!!");
    
     if(!empty($_POST["mail"]))    // jeżeli pole mail nie jest puste
{

        echo "wiadomość została wysłana";    // wyświetl komunikat, że mail został wysłany (zawsze jest wysyłany więc nie ma innej opcji ;] )
        $headers = 'From: [email protected]'; // z tego maila beda wysyłane wiadomości
        $email = '[email protected]';        // zmienna w której przekazywany jest mail DO którego ma przyjść wiadomość
        $subject = $_POST['temat'];            // temat wiadomości
        $message = "wiadomość od: ".$_POST['mail']."    
                                                        
        ".$_POST['tresc'];                                // tu jest cała treść wiadomości
                                                        //
                                        
        mail($email, $subject, $message, $headers);        // funkcja wysyłająca wiadomość

}
?>
<form action="kontakt.php" method="post">
/*odpowiednie inputy*/
    <img src="image.php"><br/>
  Wpisz hasło z obrazka aby wysłać wiadomość!<br/>
  <input type="text" name="pass" size="8">
    <input type="submit" value="wyślij"/>

</form>

i zawartość pliku image.php
Kod:
<?
    function passgen() {
       $nr = floor(time() / 3600);
       srand(array_sum(explode(" ", microtime())) * 100000);
       $a = rand(0, min(getrandmax(), $nr));
       $b = $nr - $a;
       $a = base_convert($a, 10, 36);
       $b = base_convert($b, 10, 36);
       $a = strrev(str_pad($a, max(strlen($a), strlen($b)), 0, STR_PAD_LEFT));
       $b = str_pad($b, max(strlen($a), strlen($b)), 0, STR_PAD_LEFT);
       for($i = 0; $i < strlen($a); $i++) $pass .= $a[$i].$b[$i];
       return $pass;
    }
    header("Content-type: image/jpeg");
    $img = imagecreate(110, 30);
    $background = imagecolorallocate($img, 206, 207, 099);
    $textcolor = imagecolorallocate($img, 0, 0, 0);
    imagestring($img, 5, 10, 7, passgen(), $textcolor);  
    imagejpeg($img);
    imagedestroy($img);
?>

I jedno pytanie: dlaczego nie wysyła maili na skrzynkę?


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Kidex - 08-07-2011

Mam problem z inputem radio.
Nie wiem jak zrobić, żeby to co zaznacze się wysyłało.


RE: Jak zrobic Formularz Kontaktowy na stronie ? - disaster - 08-07-2011

(08-07-2011, 15:35)Kidex napisał(a): Mam problem z inputem radio.
Nie wiem jak zrobić, żeby to co zaznacze się wysyłało.

Jak zrobisz radio to wyślę ci to co zaznaczysz. Jeśli oczywiście działa wysyłanie formularz.


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Kidex - 08-07-2011

Ale gdzie mam wpisać to co ma się wysłać? Po jeśli napisze to koło inputa, to przecież nie ma prawa się wysłać.


RE: Jak zrobic Formularz Kontaktowy na stronie ? - Pedro84 - 08-07-2011

Za pomocą CSS, najpewiej margin. Twój link nie działa.