Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z formularzem
Forum PHP.pl > Forum > Przedszkole
Gość_kuba
to robilem w ramach cwiczen, bo dopiero sie ucze, ale cos mi nie wychodzi...
Kod
<?php
if (isset($_POST['submit'])) {
$message = NULL;
if (strlen($_POST['imie']) > 0) {
$imie = TRUE;
} else {
$imie = FALSE;
$message .= 'a gdzie imie?';
}
if ($imie) {
header ('Location: 006.php');
exit();
} else {
$message = 'wypełnij jeszcze raz!';
}
}
if (isset($message)) {
echo '<span style="color: #f00;">', $message, '</span>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> example005 </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="imie" value="<?php if (isset($_POST['imie'])) echo $_POST['imie']; ?>" />
<input type="submit" name="submit" value="Wyślij" />
</form>
</body>
</html>

gdy formularza nie wypełnie, to pojawia mi sie prawidłowo informacja 'wypelnij jeszcze raz', ale gdy wypełnie to pojawia sie bład o tresci:
Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\examples\005.php:1) in c:\inetpub\wwwroot\examples\005.php on line 11
o co chodzi? bo plik 005.php istnieje, wiec nie mam pojecia...
BENY_PL
Cytat(Gość_kuba @ 2004-07-29 18:08:36)
if ($imie) {
header ('Location: 006.php');
exit();
}


chodzi o ten fragment kodu. Myślę, że chcesz przenieść urzytkownika na stronę "006.php" jeśli wszystko jest ok.

Ja bym to zrobił tak:

  1. <?php
  2.  
  3. if ($imie) {
  4. echo &#092;"<html><head>\";
  5. echo &#092;"<meta http-equiv=\"refresh\\" content=\"0; url=006.php\">\";
  6. echo &#092;"</head><body></body></html>\";
  7. exit();
  8. }
  9. ?>


a i popraw krzaki w 5 linijce na znak \, bo coś jest nie tak.

Wiesz, teraz sprawdziłem i twój kod (mój też) na moim komputerze działa;
invx
te krzaki to forum robi smile.gif
Gość_kuba
inaczej myslalem, inaczej napisalem... rzeczywiscie chce przenies do 006.php, przepraszam za wprowadzanie w blad, ale mimo to, ten kod mi nie dziala a plik jest.
wstawilem twoj kod, tylko nie wiem, czy w dobrej formie - zamiast:

if ($imie) {
header ('Location: 006.php');
exit();
}

mam teraz:

if ($imie) {
echo "<html><head>";
echo "<meta http-equiv='refresh\' content='0; url=006.php'>";
echo "</head><body></body></html>";
exit();
}

ale mimo to dalej mi nie dziala i szczerze mowiac, nie rozumiem tego: dry.gif

<meta http-equiv='refresh\' content='0; url=006.php'>
invx
if ($imie) sprawdza czy zmianna istnieje mozna by tez to tak napisac if (isset($imie)) a to co w IF wyswietla naglowek HTTP
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.