Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dlaczego nie idzie formularz
Forum PHP.pl > Forum > Przedszkole
dudziec
witam serdecznie,
ja mam taki problem - otóż
mam formularz o nazwie formularz.php

on przekazuje dane do formularz1.php

okazuje sie ze wszystkie zmienne w formularzu nazwane sa np:
name="imie"

itp

po wysłaniu do formularz1.php okazuje sie że pisze

IMIE: (PUSTE WYPEŁNINIE)

A MAM ZAPISANE TAKIE COS

ECHO"IMIE I NAZWISKO: $imie";

i poprostu ta zmienne nie przechodzi na serwerze nawet jej niewidac - to tak z kazdym innym polem

to samo nie wysyła tych zmiennych w funkcji mail()
tylko pusty jest mail

czy jakoś to idzie rozwiązac
serwer ma obsługe php
czy coś trzeba zmienic w ustawieniach moze mam zle napisane?


pozdrawiam
darecki
a moze tak pokazesz kod fomularza i skrypt odbierajacy dane questionmark.gif tak w ciemno ciezko zgadywac co jest problemem.
s_w_ir
Przypuszczam że chodzi o to co zwykle : czyli o zmienne globalne. Proponuje Ci poszukac na tym forum bo jest o tym dużo. Zapomniałem już troche ale bodajże chodzi o opcje register_globals i jak należy sie obchodzić z kodem gdy jest ona wyłączona.

Lepiej by było jakbys jeszcze pokazał ów kod to można by poszukać innych błędów. Pozdrawiam.
czachor
Znając życie: nie $imię tylko $_POST['imię'] (albo $_GET['imię']). Poczytaj o register_globals i pokrewnych tematach.
darecki
idac tym tropem w zaleznosci od metody wysylania formularza odwolujesz sie:
np masz name="imie" to:
GET -> $_GET["imie"] lub POST -> $_POST["imie"]
dudziec
  1. <FORM  action=form1.php method=post>
  2.              <TBODY>
  3.              
  4.              <TR>
  5.                <TD align=right>
  6.                  <P>Imię i nazwisko:</P></TD>
  7.                <TD>&nbsp;</TD>
  8.                <TD><INPUT id=imie style="WIDTH: 200px" name=nazwisko_imie></TD></TR>
  9.              <TR>
  10.                <TD align=right>
  11.                  <P>Telefon kontaktowy:</P></TD>
  12.                <TD>&nbsp;</TD>
  13.                <TD><INPUT id=telefon style="WIDTH: 200px" name=telefon></TD></TR>
  14.              <TR>
  15.                <TD align=right>
  16.                  <P>E-mail:</P></TD>
  17.                <TD>&nbsp;</TD>
  18.                <TD><INPUT id=imie3 style="WIDTH: 200px"
  19.              name=emailnadawcy></TD></TR>
  20.               <TR>
  21.                <TD vAlign=top align=right>
  22.                  <P>Dodatkowe informacje:</P></TD>
  23.                <TD>&nbsp;</TD>
  24.                <TD><IMG height=6 src="pusty.gif"
  25.                  width=300><BR><TEXTAREA id=imie5 style="WIDTH: 201px" name=info rows=4></TEXTAREA></TD></TR>
  26.              <TR align=middle>
  27.                <TD colSpan=2 height=50>&nbsp;</TD>
  28.  
  29. itd......................
  30.                <TD align=left height=50><INPUT type=submit value="Wy&para;lij formularz" name=Submit></TD></TR></FORM>





a tutaj form1.php tego nie wypisuje wogóle:

Kod
[php]

<?php
echo"<center><b>Dziękujemy $nazwisko_imie
za wypełnienie formularza</b></center><br>";
echo "Wypełniono nastepuj&plusmn;ce dane:<br><br>";
echo "Imię i nazwisko: $nazwisko_imie <br>";
echo "Telefon kontaktowy: $telefon <br>";
echo "E-mail:$emailnadawcy <br>";
echo "Dodatkowe informacje:$info<br>";
itd...............
?> [/php]


a wysyła takie coś

[php]

Kod
<?php
  
/* adresaci */
$do  = "adres@cos.pl>" . ", "; // zwróc uwagę na przecinek
$do .= "adres2@COS.PL>";

/* temat */
$temat = "Formularz ZE STRONY";

/* wiadomo&para;ć */
$wiadomosc = '
<html>
<head>
<title> strona</title>
</head>
<body>
<table>
<tr>
  <th>Imię i nazwisko</th><th>Telefon kontaktowy</th><th>E-mail</th><th>Proponowany termin</th><th>Dodatkowe informacje</th>
</tr>
<tr>
  <td>$nazwisko_imie</td><td>$telefon</td><td>$emailnadawcy</td><td>$termin_proponowany</td><td>$info</td>
</tr>
</table>
</body>
</html>
';
/* Aby wysłać e-mail w formacie HTML, należy ustawić nagłówek Content-type. */
$naglowki  = "MIME-Version: 1.0\r\n";
$naglowki .= "Content-type: text/html; charset=iso-8859-1\r\n";
/* a teraz wy&para;lij */
mail($do, $temat, $wiadomosc, $naglowki);    
?>    [/php]
[IMG]http://forum.php.pl/uwaga.gif[/IMG][SIZE=1][color=blue]
poprawiam
---
nospor[/SIZE][/color]




i jak to zrobic questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
bo ja niemam pojęcia na innych serwerach działa a tutaj na moim niechce działac :/
darecki
to moze byc problem z zmiennymi sprobuj tak:

  1. <?php 
  2. echo"<center><b>Dziękujemy " . $_POST['nazwisko_imie'] . "
  3. za wypełnienie formularza</b></center><br>";
  4. echo "Wypełniono nastepuj&plusmn;ce dane:<br><br>";
  5. echo "Imię i nazwisko: " . $_POST['nazwisko_imie'] . " <br>";
  6. echo "Telefon kontaktowy: " . $_POST['telefon'] . " <br>";
  7. echo "E-mail:" . $_POST['emailnadawcy'] . " <br>";
  8. echo "Dodatkowe informacje:" . $_POST['info'] . "<br>";
  9. itd...............
  10. ?>


dodatkowo nie wiem czy ma to znaczenie ale ja staram sie aby atrybut id i name mial ta sama wartosc - u ciebie to jest roznie :]

a co do wysylania to adekwatnie musisz przerobic skrypt
dudziec
a jakas wskazówka co do wysyłania - jak mam przerobic ?
bo już zgupiałem ?
bo juz widzi zmienne i dzięki za pomoc :-)

teraz tylko wysyłanie maila - jak to ma wygladać :-)
jak to zapisac w funkcji mail questionmark.gifquestionmark.gif
darecki
tak samo jak wczsniej, ale prosze to cos w tym stylu powinno wygladac:

  1. <?php
  2.   
  3. /* adresaci */
  4. $do  = "adres@cos.pl>" . ", "; // zwróc uwagę na przecinek
  5. $do .= "adres2@COS.PL>";
  6.  
  7. /* temat */
  8. $temat = "Formularz ZE STRONY";
  9.  
  10. /* wiadomo&para;ć */
  11. $wiadomosc = '
  12. <html>
  13. <head>
  14. <title> strona</title>
  15. </head>
  16. <body>
  17. <table>
  18. <tr>
  19.  <th>Imię i nazwisko</th><th>Telefon kontaktowy</th><th>E-mail</th><th>Proponowany termin</th><th>Dodatkowe informacje</th>
  20. </tr>
  21. <tr>
  22.  <td>' . $_POST["nazwisko_imie"] . '</td><td>' . $_POST["telefon"] . '</td><td>' . $_POST["emailnadawcy"] . '</td><td>' . $_POST["termin_proponowany"] . '</td><td>' . $_POST["info"] . '</td>
  23. </tr>
  24. </table>
  25. </body>
  26. </html>
  27. ';
  28. /* Aby wysłać e-mail w formacie HTML, należy ustawić nagłówek Content-type. */
  29. $naglowki  = "MIME-Version: 1.0rn";
  30. $naglowki .= "Content-type: text/html; charset=iso-8859-1rn";
  31. /* a teraz wy&para;lij */
  32. mail($do, $temat, $wiadomosc, $naglowki);    
  33. ?>


proponuje ci sie zapoznac z tematem register_globals oraz stosowaniem zmiennych $_POST $_GET $_SESSION itd poczytaj mnual :]
dudziec
Serdecznie dzieki za pomoc - ja juz sprawdzam czy działac bedzie.

Działa - stokrotne dzieku cool.gif winksmiley.jpg

Narazie serdeczne dzieki

Przy okazji zaczytałem sie w manualu :-)

Zbytnio nie wiem czym tak naprawde rózni sie POST od GET
ale mysle ze znajde odpowiedż w manualu


Pozdro winksmiley.jpg :roll2:
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.