x-kom hosting

[Rozwiązany]Formularz kontaktowy z kilkoma polami

przemek980
utworzono
utworzono

Mam problem z formularzem kontaktowym.
Potrzebuję formularz w którym będzie możliwość
wypełnienia kilku pól, wyglądający mniej więcej tak:
[b]Imię:[/b] /pole/
[b]Nazwisko:[/b] /pole/
itd.

Mam takie pliki:

[i]popup.php[/i]
[code]
<?='<?xml version="1.0" encoding="ISO-8859-2"?>' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang
<meta name="generator" content="WebSite PRO 4.3" />
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>PopUp</title>
</head><body><table style="width:100%;" border="0" cellpadding="0"
cellspacing="0"><tr><td align="center">

<?
$mail = $_POST["mail"];
$tekst = $_POST["tekst"];

echo "<p><b>Dziękujemy za wiadomość!</b></p>";
mail("exaple@example.com","Kontakt", $tekst, "From: $mail");
?>

<p>
<a href="javascript:window.close()">Zamknij okno</a>
</p>

<script type="text/javascript">
<!-- <![CDATA[
setTimeout("window.close()",10000);
// ]]> -->
</script>

</td></tr></table></body></html>
[/code]

[i]kontakt.php[/i]
[code]
<script type="text/javascript">
<!-- <![CDATA[

function wyslij(t) {
maska = /^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$/i;
if (maska.test(t.mail.value)==false) {
alert("Wpisz poprawny adres e-mail!");
t.mail.focus();
return false;
}

t.target="odp";
odp = window.open("","odp","width=300,height=300");
odp.moveTo(50, 50)
odp.focus();
return true;
}

// ]]> -->
</script>
<form action="popup.php" method="post" onsubmit="return wyslij(this);"><div>
Wpisz wiadomość:<br />
<textarea name="tekst" rows="6" cols="12" style="width:500px;"></textarea>
<br>Wpisz adres e-mail:<br>
<input type="text" name="mail" style="width:150px;" /><br><br>
<input type="submit" value="Wyślij" /><br><br>
</div></form>
[/code]

Powyższy formularz działa z jednym polem do wypełnienia natomiast z kilkoma polami, wysyła tylko to ostatnie. Jak zmienić go, by wysyłał wszystkie wypełnione pola?

byku
komentarz
komentarz

W linii
[php]$tekst = $_POST["tekst"];[/php]
Masz zawarty tekst, który zostanie wysłany jako treść wiadomości. Możesz zrobić na przykład:
[php]$tekst = "E-mail: {$_POST['mail']}
Tekst:
{$_POST['tekst']}";[/php]
Co zaowocuje wysłaniem wiadomości w formacie:
[quote]E-mail: wpisany@adres.email
Tekst:
Urna, turpis rhoncus pid augue amet porta vel parturient rhoncus, tempor porta massa! Adipiscing amet augue dolor urna. Sit! Eu adipiscing est diam adipiscing, sagittis etiam, ultrices? Etiam sagittis penatibus, sit nec, massa amet porta pellentesque, aenean a, phasellus in habitasse? Sagittis, in pulvinar porta aliquet turpis mus, in enim ac cursus integer.[/quote]

Wartość każdego z pól jest w tablicy $_POST, gdzie nazwa klucza jest nazwą(name="cośtam") pola. Na przykład $_POST['test'] dla pola o name="test".

  • Dobra wypowiedź 1
przemek980
komentarz
komentarz (edytowane)

Wszystko byłoby dobrze, gdyby jeszcze nie błąd:
[quote]Parse error: syntax error, unexpected T_VARIABLE in /var/www/virtual/factorysite.cba.pl/invest-broker/pl/popup.php on line 13[/quote]

Linia 13 wygląda następująco:
[code]$tekst = $_POST["imię"] $_POST["nazwisko"] $_POST["adres"];[/code]

Problem leży w średniku (;). Jeśli dam go zaraz po $_POST["imię"] to wysyła tylko [i]Imię[/i]. Jeśli dam go po $_POST["adres"] to wyskakuje powyższy błąd :(
Co więc zrobić?

luq
komentarz
komentarz

[quote name='djtrojan' date='31 styczeń 2010 - 13:38' timestamp='1264941513' post='963622']
Linia 13 wygląda następująco:
[code]$tekst = $_POST["imię"] $_POST["nazwisko"] $_POST["adres"];[/code]
[/quote]
Trzeba jakość skonkatować te dane do jednej zmiennej prawda?
[code]$tekst = $_POST["imię"].' '.$_POST["nazwisko"].' '.$_POST["adres"];[/code]

  • Dobra wypowiedź 1
przemek980
komentarz
komentarz

Bardzo Wam dziękuję :)
Wszystko działa.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.