Z uwagi na dużą liczbę wpisów stworzonych bez wątpienia wyłącznie w celu pozycjonowania stron na określone frazy, dodaliśmy do wszystkich linków (w postach i podpisach) atrybut rel="nofollow". Z tego względu wszystkie dodane linki straciły swoją moc pozycjonerską. Forum jest dla Was, dlatego prosimy o zamieszczanie wyłącznie "prawdziwych" tematów i odpowiedzi.

błąd formularza

asp.NET, PHP oraz bazy danych
  • Wiadomości
Offline

tony86

  • Posty: 6
  • Rejestracja: 3 lis 2013, o 23:26

błąd formularza

Post8 lis 2013, o 21:39

Witam

proszę Was o pomoc z formularzem, jeśli mam taki kod php to wszystko działa pięknie:

<?php
//filtruje dane użytkownika
$imie = htmlspecialchars(trim($_POST['imie']));
$mail = htmlspecialchars(trim($_POST['mail']));
$wiadomosc = htmlspecialchars(trim($_POST['wiadomosc']));
$send = $_POST['send'];
//mail na który będa wysyłane wiadomości
$odbiorca = "moj-mail";
//nagłówki
$header = "Content-type: text/html; charset=utf-8\r\nFrom: $mail";

//Sprawdzam czy istnieje ciastko, jeżeli tak wyświetlam komunikat
if (isset($_COOKIE['send'])) $error ='Odczekaj '.($_COOKIE['send']-time()).' sekund przed wysłaniem kolejnej wiadomości';

if ($send && !isset($_COOKIE['send']))
{
//Sprawdzam nick
if (empty($imie))
{ $error = "Nie wypełniłeś pola <strong>Imie !</strong><br/>"; }
elseif (strlen($imie) > 20)
{ $error .="Za długi nick - max. 20 znaków <br/>";}

//Sprawdzam mail
if (empty($mail))
{ $error .= "Nie wypełniłeś pola <strong>E-mail !</strong><br/>"; }
elseif (strlen($mail) > 30)
{ $error .="Za długi e-mail - max. 30 znaków <br/>";}
elseif (preg_match('/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\-\_\.]+\@[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\-\_\.]+\.[a-z]{2,4}$/',$mail) == false)
{ $error .= "Niepoprawny adres E-mail! <br/>"; }

//Sprawdzam wiadomosc
if (empty($wiadomosc))
{ $error .= "Nie wypełniłeś pola <strong>Wiadomość !</strong><br/>"; }
elseif (strlen($wiadomosc) > 400)
{ $error .="Za długa wiadomość - max. 400 znaków <br/>";}

//Sprawdzam czy są błędy i wysyłam wiadomość
if (empty($error))
{
$list = "Przysłał - $imie ($mail) <br/> Treść wiadomości - $wiadomosc";
$temat = "Formularz kontaktowy";
if (mail($odbiorca, $temat, $list, $header))
{
$error .= "Twoja wiadomość została wysłana<br><br>";
setcookie("send", time()+60, time()+60);
}
else
{ $error .= "Wystąpił błąd podczas wysyłania wiadomości, spróbuj później.";}
}
}
?>










<?php echo $error; ?>

<form id="ContactForm" method="post">
<div>
<div class="wrapper">
<span>Twoje imię:</span><input type="text" class="input" name="imie" value="<?php echo $_POST["imie"]; ?>">
</div>
<div class="wrapper">
<span>Twój email:</span><input type="text" class="input" name="mail" value="<?php echo $_POST["mail"]; ?>">
</div>
<div class="textarea_box">
<span>Twoja wiadomość:</span><textarea name="wiadomosc" cols="1" rows="1"><?php echo $_POST["wiadomosc"]; ?></textarea>
</div>
<span>&nbsp;</span>
<input type="reset" value="Wyczyść" class="button"/>
<input type="submit" value="Wyślij" id="send" name="send" class="button"/>
</div>
</form>



natomiast gdy przerobie część na taki kod:

<?php echo $error; ?>

<form id="ContactForm" method="post" class="form">

<legend>FORMULARZ KONTAKTOWY</legend>
<br>

<p class="imie">
<input type="text" name="imie" id="imie" placeholder="Jan" value="<?php echo $_POST["imie"]; ?>">
<label for="imie">Imię</label>
</p>

<p class="mail">
<input type="text" name="mail" id="mail" placeholder="Jan@gmail.com" value="<?php echo $_POST["mail"]; ?>">
<label for="mail">Email</label>
</p>

<p class="wiadomosc">
<textarea name="wiadomosc" placeholder="Wpisz wiadomość"><?php echo $_POST["wiadomosc"]; ?></textarea>
</p>

<p class="submit">
<input type="submit" value="Wyślij" id="send" name="send" class="button"/>
<input type="reset" value="Wyczyść" class="button"/>
</p>

</form>


formularz też wysyła się bez problemu i dostaje powiadomienie jednak linię wyżej wywala mi taki błąd
"Warning: Cannot modify header information - headers already sent by (output started at /home/lg194676/public_html/kontakt.php:18) in /home/lg194676/public_html/kontakt.php on line 87"

Bardzo proszę o pomoc
Offline
Awatar użytkownika

Yasiek

  • Posty: 213
  • Rejestracja: 30 wrz 2011, o 19:30
  • Lokalizacja: Dublin

Re: błąd formularza

Post9 lis 2013, o 14:49

pokaz linie 18 i 87 z pliku kontakt.php - najlepiej z numeracja, bedzie latwiej:)
Non progredi est regredi

Wróć do Server side

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości