Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Formularz z dwoma pytaniami - gdzie jest błąd - 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: Formularz z dwoma pytaniami - gdzie jest błąd (/thread-formularz-z-dwoma-pytaniami-gdzie-jest-blad)

Strony: 1 2


Formularz z dwoma pytaniami - gdzie jest błąd - wyborowagold - 11-08-2010

Cześć kamraci,

Coolszukam odpowiedzi na nurtujące mnie pytanieCool
czy możecie mi pomóc?

Po stronie serwera mam coś takiego

Kod PHP:
<?PHP
    $adresat 
'[email protected]';     //
    
@$email $_POST['email'];
    @
$content $_POST['content'];
    
$header =     "From: ktoś@serwer.pl \nContent-Type:".
            
' text/plain;charset="iso-8859-2"'.
            
"\nContent-Transfer-Encoding: 8bit";
    if (
mail($adresat'List ze strony'$content$header))
        echo 
'<p>działa</p>';
    else 
        echo 
'<p><b>NIE</b> wysłano maila!</p>';
?>

służy mi to do odbierania na mail odpowiedzi z formularza,
a że jestem początkującym budowniczym nie mającym bladego pojęcia o co chodzi, na razie udaje mi się odbierać jedną odpowiedź....ale podpowiedziano mi już, że jeśli chce dostawać odpowiedzi z dwóch zapytań, muszę zmodyfikować kod do takiej postaci

Kod PHP:
<div>
<
form action="skrypt.php" method="post"
Pytanie 1. Czy można już wypełnić ankietę przez internet?<br />
<
input name="q[1][content]" type="radio" value="Tak" />Tak<br /> 
<
input name="q[1][content]" type="radio" value="Nie" />Nie<br /> 
Pytanie 2. Czy można już wypełnić ankietę przez internet?<br /> 
<
input name="q[2][content]" type="radio" value="Tak" />Tak<br /> 
<
input name="q[2][content]" type="radio" value="Nie" />Nie<br />
<
input type="submit" value="wyślij" /></form></div

Czy dobrze go zapisałem? Mail niestety przychodzi pusty...
dlaczego? Czy mam również zmodyfikować skrypt php?

co mam z tym zrobić?
Kod PHP:
1. [1] => array('content' => 'Tak/Nie'), 
   
2. [2] => array('content' => 'Tak/Nie'


Z prośby mojej i łaski TwojejSmile


RE: Formularz z dwoma pytaniami - gdzie jest błąd - swinia - 11-08-2010

Ja bym to zrobił tak:
Najpierw przypisał bym do zmiennych dane z formularza
Kod PHP:
$q1content $_POST['q1content'];
$q2content $_POST['q2content']; 
potem przypisał to do jedne zmiennej
Kod PHP:
$content "Pytanie 1:$q1content Pytanie 2:$q2content"
I następnie wstawił do funkcji mail()
Kod PHP:
mail($adresat'List ze strony'$content$header

Ale ja tez nie jestem mistrzem w tym fachu, także może ktoś mnie poprawi


RE: Formularz z dwoma pytaniami - gdzie jest błąd - Engine - 12-08-2010

Cytat:Czy dobrze go zapisałem? Mail niestety przychodzi pusty...

przychodzi Ci pusty bo nie złożyłeś wiadomości:

Kod PHP:
$content $_POST['content']; 

powinieneś pobierać dane z formularza np:
Kod PHP:
$content "Pytanie 1: "$_POST["pytanie_1"] ; 

--------------------

W polach name pozmieniaj nazwy bo nie wiem czy te przejdą:

Kod:
<input name="q[1][content]" type="radio" value="Tak" />Tak<br />
Kod:
<input name="pytanie_1" type="radio" value="Tak" />Tak<br />



RE: Formularz z dwoma pytaniami - gdzie jest błąd - wyborowagold - 12-08-2010

robię to po waszemu i jest prawie dobrze, piszę prawie, bo nie wiem co wpisać do funkcji mail,
natomiast w takiej postaci jak podaje niżej, na skrzynkę przychodzi odp.
Pytanie 1: Pytanie 2: (czyli ewidentnie brakuje odpowiedzi)

Kod PHP:
<?PHP
    $adresat 
'[email protected]';     //
    
@$email $_POST['email'];
    @
$content "Pytanie 1: "$_POST["pytanie_1"]; 
    @
$content "Pytanie 2: "$_POST["pytanie_2"];
    @
$content "Pytanie 1:$q1content Pytanie 2:$q2content"
    
$header =     "From: ktoś@serwer.pl \nContent-Type:".
            
' text/plain;charset="iso-8859-2"'.
            
"\nContent-Transfer-Encoding: 8bit";
    if (
mail($adresat'List ze strony'$content$header))
        echo 
'<p>działa</p>';
    else
        echo 
'<p><b>NIE</b> wysłano maila!</p>';
?>

czy to wina tego, że nie dodałem kodu do funkcji mail?
Kod PHP:
if (mail($adresat'List ze strony'$content$header)) 

PozdrawiamCool


RE: Formularz z dwoma pytaniami - gdzie jest błąd - Engine - 12-08-2010

Kod PHP:
$content "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
</head>
<body>
Pytanie 1: "
.$_POST["pytanie_1"].$_POST["pytanie_2"]."<br />
Pytanie 2: "
.$_POST["pytanie_3"].$_POST["pytanie_4"]."
</body>
</html>"


Kod PHP:
$header =     "From: ktoś@serwer.pl \nContent-Type:";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8\n"

Trochę wyleciałem dalej niż to co ty podałeś. Info:
pytanie_1 - TAK, pytanie_2 - NIE, pytanie_3 - TAK, pytanie_4 - NIE


RE: Formularz z dwoma pytaniami - gdzie jest błąd - wyborowagold - 13-08-2010

Big Grin
Kod PHP:
<?PHP
    $adresat 
'[email protected]';     //
    
@$email $_POST['email'];
    @
$content "Pytanie 1:{$_POST[pytanie_1]} Pytanie 2:{$_POST[pytanie_2]}";
    
$header =     "From: ktoś@serwer.pl \nContent-Type:".
            
' text/plain;charset="iso-8859-2"'.
            
"\nContent-Transfer-Encoding: 8bit";
    if (
mail($adresat'List ze strony'$content$header))
        echo 
'<p>działa</p>';
    else
        echo 
'<p><b>NIE</b> wysłano maila!</p>';
?>

działa...


RE: Formularz z dwoma pytaniami - gdzie jest błąd - wyborowagold - 13-08-2010

moje pytanie jest następujące:
Czy mogę łatwo rozbudowywać ten działający skrypt o nowe różne pytania?

Bo nie mogę go rozbudować, jak na przykład dodać teraz jeszcze jedno pytanie? Dodam, że sposób, który podaje poniżej jest nieefektywny:

Big Grin
Kod PHP:
<?PHP
    $adresat 
'[email protected]';     //
    
@$email $_POST['email'];
        @
$content "Pytanie 1:{$_POST[pytanie_1]} Pytanie 2:{$_POST[pytanie_2]}";
    
$header =     "From: ktoś@serwer.pl \nContent-Type:".
            
' text/plain;charset="iso-8859-2"'.
            
"\nContent-Transfer-Encoding: 8bit";
    if (
mail($adresat'List ze strony'$content$header))
        echo 
'<p>działa</p>';
    else
        echo 
'<p><b>NIE</b> wysłano maila!</p>';
?>

dodam, że skrypt jest po stronie serwera, a na stronie mam HTML
Kod PHP:
<div>
<
form action="skrypt2.php" method="post">
Pytanie 1. Czy można już wypełnić ankietę przez internet?<br />
 <
input name="pytanie_1" type="radio" value="Tak" />Tak<br />
 <
input name="pytanie_1" type="radio" value="Nie" />Nie<br />
 
Pytanie 2. Czy można już wypełnić ankietę przez internet?<br />
 <
input name="pytanie_2" type="radio" value="Tak" />Tak<br />
 <
input name="pytanie_2" type="radio" value="Nie" />Nie<br />
 
Pytanie 3. Czy można już wypełnić ankietę przez internet?<br />
 <
input name="pytanie_3" type="radio" value="Tak" />Tak<br />
 <
input name="pytanie_3" type="radio" value="Nie" />Nie<br />
 <
input type="submit" value="wyślij" />
 </
form>
 </
div


Pozdrawiam wytrwałychShy


RE: Formularz z dwoma pytaniami - gdzie jest błąd - Engine - 13-08-2010

Tam gdzie składasz wiadomość czyli w $content dopisujesz kolejne pytanie. Wszystkie pola wyboru, pola tekstowe, itd. które ma wypełnić w formularzu użytkownik, muszą zostać uwzględnione w $content przy składaniu wiadomości.


RE: Formularz z dwoma pytaniami - gdzie jest błąd - wyborowagold - 13-08-2010

skoro działa z dwoma to powinien działać i z trzema, ale nie działaSad
Kod PHP:
<?PHP
    $adresat 
'[email protected]';     //
    
@$email $_POST['email'];
        @
$content "Pytanie 1:{$_POST[pytanie_1]} 
                             Pytanie 2:
{$_POST[pytanie_2]} 
                             Pytanie 3:
{$_POST[pytanie_3]}";
    
$header =     "From: ktoś@serwer.pl \nContent-Type:".
            
' text/plain;charset="iso-8859-2"'.
            
"\nContent-Transfer-Encoding: 8bit";
    if (
mail($adresat'List ze strony'$content$header))
        echo 
'<p>działa</p>';
    else
        echo 
'<p><b>NIE</b> wysłano maila!</p>';
?>
Nie wiem dlaczego...HELP!!


RE: Formularz z dwoma pytaniami - gdzie jest błąd - Engine - 14-08-2010

Nie podoba mi się Twoje składanie wiadomości. Nie mówię, że jest złe ale nie jest tak jak ja bym to zrobił. Ja bym to złożył w formie HTML i w UTF-8.

Kod PHP:
$content "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
</head>
<body>
Pytanie 1: "
.$_POST["pytanie_1"]."<br />
Pytanie 2: "
.$_POST["pytanie_2"]."<br />
Pytanie 3: "
.$_POST["pytanie_3"]."<br />
</body>
</html>"


Kod PHP:
$header =     "From: ktoś@serwer.pl \nContent-Type:";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8\n"

--------------------

Ty wysyłasz to w formie txt i w iso-8859-2. Jeśli to nie pomoże to może zrobiłeś gdzieś literówkę.