Ocena wątku:
  • 6 głosów - średnia: 3.67
  • 1
  • 2
  • 3
  • 4
  • 5
Jak zrobic Formularz Kontaktowy na stronie ?
poszukaj w necie captcha. i popraw kod bo znowu zupa tagowa.
Odpowiedz
(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ść
Odpowiedz
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?
Odpowiedz
Poczytaj sobie o "php mail headers"
Odpowiedz
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;  
}

?>
Odpowiedz
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ę?
Odpowiedz
Mam problem z inputem radio.
Nie wiem jak zrobić, żeby to co zaznacze się wysyłało.
Odpowiedz
(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.
Odpowiedz
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ć.
Odpowiedz
Za pomocą CSS, najpewiej margin. Twój link nie działa.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Weryfikacja zdjęć na stronie widzaceoko 0 1,712 19-02-2018, 02:26
Ostatni post: widzaceoko
  Obraz z kamery IP na stronie Maciek975 3 4,268 05-10-2017, 16:25
Ostatni post: Narind
  Strona w stronie ale z inną wartością w adresie ppawlo 0 2,087 30-04-2017, 19:36
Ostatni post: ppawlo
  Problem z lubie to na stronie ciapus4 3 4,668 28-03-2017, 11:55
Ostatni post: sskijop
  Jak to zrobić. Wyszukiwarka vVPATOLVv 8 7,882 28-03-2017, 11:52
Ostatni post: sskijop

Skocz do:


Użytkownicy przeglądający ten wątek: 3 gości
Sponsorzy i przyjaciele
SeoHost.pl