Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] formularz - podziekowanie za wypelnienie
Forum PHP.pl > Forum > Przedszkole
dexter77
Witam ! chcialbym aby podziekowanie za wyslanie formularza(czyli po kliknieciu na klawisz "wyslij" type=submit smile.gif ) wyswietlalo sie w tym samym divie gdzie zaladowany jest formularz (na razie wyswietla sie w nowym oknie)... oto kod:

Kod
<?php
if (count($_POST))
{

    $email = 'poczta@poczta.pl';
    $subject = 'temat';
    $message = 'Dziękujemy za wysłanie formularza';
    $error = 'Wystąpił błąd podczas wysyłania formularza';
    $charset = 'iso-8859-2';
    
    $head =
        "MIME-Version: 1.0\r\n" .
        "Content-Type: text/plain; charset=$charset\r\n" .
        "Content-Transfer-Encoding: 8bit";
    $body = '';
    foreach ($_POST as $name => $value)
    {
        if (is_array($value))
        {
            for ($i = 0; $i < count($value); $i++)
            {
                $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
            }
        }
        else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
    }
    echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="?" method="post">

TUTAJ TRESC FORMULARZA

</form>
<?php
}
?>


co zrobic ? jak ustawic ? czy mozna w podziekowaniu dodac jeszcze jakies odnosniki, jak np powrot ? prosze o pomoc bo nigdzie nie znalazlem odpowiedzi na to pytanie...
marcio
Moze chodzi ci o js+innerhtml albo ja cie nie rozumiem
dexter77
hmmm chodzi mi o to ze jest jakis formularz... wypelniam go... i wciskam klawisz "wyslij" ...po czym chce aby pojawil sie komunikat "dziekujemy za wypelneinie formularza", ale nie w nowym oknie, tylko w divie gdzie został załadowany formularz (tak jakby w tej samej ramce)
phpion
  1. <?php
  2. if (count($_POST))
  3. {
  4.  
  5. $email = 'poczta@poczta.pl';
  6. $subject = 'temat';
  7. $message = 'Dziękujemy za wysłanie formularza';
  8. $error = 'Wystąpił błąd podczas wysyłania formularza';
  9. $charset = 'iso-8859-2';
  10.  
  11. $head =
  12. "MIME-Version: 1.0r\n" .
  13. "Content-Type: text/plain; charset=$charsetr\n" .
  14. "Content-Transfer-Encoding: 8bit";
  15. $body = '';
  16. foreach ($_POST as $name => $value)
  17. {
  18. if (is_array($value))
  19. {
  20. for ($i = 0; $i < count($value); $i++)
  21. {
  22. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "r\n";
  23. }
  24. }
  25. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "r\n";
  26. }
  27. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  28. // tu
  29. echo 'Dzieki za wyslanie maila';
  30. // tu
  31. }
  32. else
  33. {
  34. ?>
  35. <form action="?" method="post">
  36.  
  37. TUTAJ TRESC FORMULARZA
  38.  
  39. </form>
  40. <?php
  41. }
  42. ?>

questionmark.gif
dexter77
podziekowanie jest wyswietlane wciaz w nowym oknie.... jakby to powiedziec... ramka docelowa jest _top smile.gif a chce zeby bylo _self

podam przyklad na pewnej ze stron:

http://www.gryf.pila.pl/

po prawej jest maly formularz, po wyslaniu pojawia sie pod nim tekst z podziekowaniem, chcialbym sie dowiedziec jak to sie robi smile.gif

oraz jak sprawic aby ten formularz zniknal i pojawil sie sam tekst.. smile.gif
marcio
Cytat
oraz jak sprawic aby ten formularz zniknal i pojawil sie sam tekst.

Robisz 2 div'y gdy wysylasz form pierwszy z formem jest block gdy form zostal poprawnie wyslany dajesz div forma na none i div podziekowania na block ja jakos tak bym to zrobil
dexter77
troche nie zrozumialem Twojej wypowiedzi... poza tym wydaje mi sie, ze jest jakies bardziej nowatorskie rozwiazanie bez kombinowania, tylko odpowiednio to zapisac... (moze jestem w bledzie winksmiley.jpg )

...hmm po prostu chcialbym aby z kodu podanego powyzej $message pojawialo sie w tym samym divie smile.gif
Sadu2
A co masz wpisane w action? Ta sama nazwa pliku co znajduje się formularz?
dexter77
tak, taka sama nazwa... formularz.php

po raz kolejny napisze o co chodzi winksmiley.jpg chce aby komunikat $message nie otwieral mi sie na nowej stronie smile.gif
Sadu2
A możesz podać linka do tego co wykombinowałes? smile.gif

Nie wiem czy jest różnica ale coś takiego?

  1. <?
  2. if(isset($_POST['submit']))
  3. {
  4.  
  5. $email = 'poczta@poczta.pl';
  6. $subject = 'temat';
  7. $message = 'Dziękujemy za wysłanie formularza';
  8. $error = 'Wystąpił błąd podczas wysyłania formularza';
  9. $charset = 'iso-8859-2';
  10.  
  11. $head =
  12. "MIME-Version: 1.0r\n" .
  13. "Content-Type: text/plain; charset=$charsetr\n" .
  14. "Content-Transfer-Encoding: 8bit";
  15. $body = '';
  16. foreach ($_POST as $name => $value)
  17. {
  18. if (is_array($value))
  19. {
  20. for ($i = 0; $i < count($value); $i++)
  21. {
  22. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "r\n";
  23. }
  24. }
  25. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "r\n";
  26. }
  27. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  28. // tu
  29. echo 'Dzieki za wyslanie maila';
  30. // tu
  31. }
  32. if(!isset($_POST['submit']))
  33. {
  34. ?>
  35. <form action="?" method="post">
  36.  
  37. TUTAJ TRESC FORMULARZA
  38.  
  39. </form>
  40. <?
  41. }
  42. ?>
dexter77
przykladowo:

http://www.visual-ad.ehost.pl/form/strona.php

jest tam przykladowy formularz... chce aby tam sie wyswietlalo pdoziekowanie, w tym samym divie... oto kody:

strona.php:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
</head>
<body><img src="www.jpg"><br>
<a href="strona.php?id=info">info</a>
<a href="strona.php?id=kontakt">kontakt</a>
<div>
<?php
    
    if(empty($_GET['id']) or $_GET['id']=="info"){
    include("info.html");
    }
    
    if($_GET['id']=="kontakt"){
    include("formularz.php");
    }
    
    ?>
</div>


</body>
</html>


i od formularza formularz.php:

Kod
<?php
if (count($_POST))
{

    $email = 'pszroeder@o2.pl';
    $subject = 'formularz';
    $message = 'Dziękujemy za wysłanie formularza';
    $error = 'Wystąpił błąd podczas wysyłania formularza';
    $charset = 'iso-8859-2';

    
    $head =
        "MIME-Version: 1.0\r\n" .
        "Content-Type: text/plain; charset=$charset\r\n" .
        "Content-Transfer-Encoding: 8bit";
    $body = '';
    foreach ($_POST as $name => $value)
    {
        if (is_array($value))
        {
            for ($i = 0; $i < count($value); $i++)
            {
                $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
            }
        }
        else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
    }
    echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>

<br>W celu skontaktowania się prosimy o wypełnienie oraz wysłanie formularza.</p>
<br><table align="center"><FORM ACTION="formularz.php" METHOD="post">
<tr><td>Imię<td align="right"><INPUT class="pola" TYPE="TEXT" NAME="imie" maxlenght="15">
<tr><td>Nazwisko<td align="right"><INPUT class="pola" TYPE="TEXT" NAME="nazwisko" maxlenght="20">
<tr><td>E-mail<td align="right"><INPUT class="pola" TYPE="TEXT" NAME="email" maxlenght="35">
<tr><td>Telefon<td align="right"><INPUT class="pola" TYPE="TEXT" NAME="telefon" maxlenght="6">
<tr><td colspan="2"><p align="center">Treść wiadomości
<tr><td colspan="2"><TEXTAREA NAME="tresc" ROWS="10" COLS="40"></TEXTAREA>
<tr><td colspan="2"><p align="center"><INPUT class="przycisk" TYPE="reset" VALUE="Wyczyść"> <INPUT class="przycisk" TYPE="submit" VALUE="Wyślij"></p></FORM></table>
<br>

<?php
}
?>


po zmianie formularza dalej wyswierla sie w nowym oknie podziekowanie, z tym ze ponizej faktycznie jest formularz... problem nadal nie jest rozwiazany... czy ktos wie jak zrobic zeby bylo w tym samym divie (czyli pod menu)

chcialbym aby po wyslaniu bylo tak jak np na tej stronie: http://www.ofe-cu-online.pl/post1.htm
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.