Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Formularz z dwoma pytaniami - gdzie jest błąd
#1
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
Odpowiedz
#2
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
Odpowiedz
#3
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 />
Odpowiedz
#4
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
Odpowiedz
#5
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
Odpowiedz
#6
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...
Odpowiedz
#7
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
Odpowiedz
#8
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.
Odpowiedz
#9
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!!
Odpowiedz
#10
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ę.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Czy technikum inf. jest dobre aby zostać webmasterem, jeśli nie to co? patryk1233655 16 12,264 31-05-2021, 00:35
Ostatni post: odwazna
  Jak zrobic Formularz Kontaktowy na stronie ? Kodarth 191 255,841 06-04-2021, 16:25
Ostatni post: zerin
  Gdzie założyć bloga? lechh851 7 5,766 25-03-2019, 14:01
Ostatni post: monia456
  Dziwny błąd - brak walidacji textarea ziemowitpl 0 1,268 20-07-2017, 01:32
Ostatni post: ziemowitpl
  błąd facebook pajakv6 0 2,416 20-02-2017, 00:01
Ostatni post: pajakv6

Skocz do:


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