Проблема с php в header с формуляром

Он хотел, если знать, мог ли кто-то давать мне руку с этим формуляром, который главным образом, когда он не вводит разыскиваемые поля в компьютер, он освежает в том же html. Тема, что я всегда получаю эту ошибку

Warning: Cannot modify header information - headers already sent by (output started at/Applications/MAMP/htdocs/redirigitalmismo.php:6) in/Applications/MAMP/htdocs/redirigitalmismo.php он-лайн 16

и не, как решение этого. Предположительно он, потому что я посылаю информацию нежели header. Большое спасибо

    <?php
  ob_start();
?>

<?php
$errores = array();
if($_POST){
  if(!trim($_POST['nombre'])) {
  $errores['nombre'] = 'Debe ingresar un nombre';
  }
  if(!trim($_POST['email'])) {
  $errores['email'] = 'Debes ingresar un mail';
  }
  if(!$errores) {
  header('Location: http://www.google.com');
  exit();
    }
};
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>
  <body>
    <form  action=""  name="formulario" method="POST">
      <input type="text" name="nombre" id="nombre" maxlength="30" onfocus="fondoColor(this)" placeholder="Tu nombre">
      <?php if(isset($errores['nombre'])) { echo '<div>No pusiste Nombre</div>'; } ?>
      <br>
      <input type="email" name="email" value="" placeholder="Tu Mail">
      <?php if(isset($errores['email'])) { echo '<div>No ingresaste Mail</div>'; } ?>
      <br>
      <input type="radio" name="sexo" id="Hombre"value="Hombre"> Hombre
      <input type="radio" name="sexo" id="Mujer"value="Mujer"> Mujer
      <br>
      <input type="checkbox" name="terminos[]" id="terminos" value="uno" > Terminos y condiciones
      <br>
      <input type="checkbox" name="terminos[]" id="terminos"  value="dos"> Mas terminos y condiciones
      <br>
      <input type="submit" name="btn" value="Enviar" id="btn">
    </form>
  </body>
</html>
<?php
  ob_end_flush();
?>
1
задан 14.09.2016, 18:46
4 ответа

Уже я нашел ошибку! Я не замечал, потому что он прямо шел в файл. mamp автоматически освежается немедленно (уже я протестировал re устанавливать это) и тогда не позволяет мне НИЧЕГО не делать. Поэтому конечно у него были проблемы в моем php. Сейчас я иду в contacar в опору MAMP. БОЛЬШОЕ СПАСИБО ВСЕМ ИЗ-ЗА ПОМОЩИ

0
ответ дан 24.11.2019, 13:23
  • 1
    Пожалуйста, postea ответ и м и # 225; rcala как отвеченная. –  Daniel Díaz 05.11.2016, 19:17

Попробуй использовать это:

// antes de cualquier línea de código html o php:
<?php
  ob_start();
?>

// al final del documento:

<?php
  ob_end_flush();
?>
0
ответ дан 24.11.2019, 13:23
  • 1
    Если я также это имел в виду! но это отпускает Warning: Cannot modify header information - headers already sent by (output started at/Applications/MAMP/htdocs/redirigitalmismo.php:7) in/Applications/MAMP/htdocs/redirigitalmismo.php он-лайн 21 –  Infraganti 14.09.2016, 18:37
  • 2
    Попробуй удалять разрыв линии и места в мишени, которая существует между завершением php ?> и <!DOCTYPE html> –  Juan Pinzón 14.09.2016, 18:41
  • 3
    Там я это сделал и остается ошибка. Способным является мой сервер или мой закоулок! –  Infraganti 14.09.2016, 18:46
  • 4
    Удаляет закоулок и куки-файлы браузера, действительно не, что м и # 225; s может быть причиной, он может быть на уровне сервера. Prob и # 233; твой код в phpfiddle и прокрути изображение в окне без какой-либо проблемы. –  Juan Pinzón 14.09.2016, 18:56
  • 5
    ok спасибо там давайте пробовать! Эти ошибки частые с php? –  Infraganti 14.09.2016, 19:34

Случается, что ты сначала не обусловлен, он объявляет, что стоимость имени и электронной почты равна тому, что находится между кавычками:

<?php
$errores = [];
if($_POST){
if(!trim($_POST['nombre'])) {
$errores['nombre'] = 'Debe ingresar un nombre';
}
if(!trim($_POST['email'])) {
$errores['email'] = 'Debes ingresar un mail';
}
if(!$errores) {
header('Location: http://www.google.com');
exit();
}
};
?>

Добавь ошибку другого файла, о котором ты упоминаешь.

С другой стороны array будет должен высказываться с синтаксисом:

$errores = array();

Ошибка порождается из-за синтаксиса cabezera, объявляет html раньше, так как ты это изменяешь ниже, и это не является функциональным

Это осталось бы так:

<!DOCTYPE html>
<?php
$errores = array();
if($_POST){
if(!trim($_POST['nombre'])) {
   $errores['nombre'] = 'Debe ingresar un nombre';
}
if(!trim($_POST['email'])) {
$errores['email'] = 'Debes ingresar un mail';
} 
if(!$errores) {
 header('Location: http://www.google.com');
exit();
}
};
?>

<html>
<head>
 <meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<form  action=""  name="formulario" method="POST">
  <input type="text" name="nombre" id="nombre" maxlength="30"   onfocus="fondoColor(this)" placeholder="Tu nombre">
  <?php if(isset($errores['nombre'])) { echo '<div>No pusiste Nombre</div>';     } ?>
  <br>
  <input type="email" name="email" value="" placeholder="Tu Mail">
  <?php if(isset($errores['email'])) { echo '<div>No ingresaste Mail</div>'; } ?>
  <br>
  <input type="radio" name="sexo" id="Hombre"value="Hombre"> Hombre
  <input type="radio" name="sexo" id="Mujer"value="Mujer"> Mujer
  <br>
  <input type="checkbox" name="terminos[]" id="terminos" value="uno" > Terminos y condiciones
  <br>
  <input type="checkbox" name="terminos[]" id="terminos"  value="dos"> Mas terminos y condiciones
  <br>
  <input type="submit" name="btn" value="Enviar" id="btn">
</form>

Я приглашаю тебя проверить эту страницу: http://librosweb.es/foro/pregunta/128/como-solucionar-el-problema-headers-already-sent-de-php/

0
ответ дан 24.11.2019, 13:23
  • 1
    Другой файл - тот же самый! –  Infraganti 14.09.2016, 18:28
  • 2
    Измените это само и продолжи бросать Warning: Cannot modify header information - headers already sent by (output started at/Applications/MAMP/htdocs/redirigitalmismo.php:6) in/Applications/MAMP/htdocs/redirigitalmismo.php он-лайн 16 –  Infraganti 14.09.2016, 18:29
  • 3
    протестируй исправлять array, он подает меня как эта, не помечает ошибки, но не, где - php, у которого есть action для того, чтобы он это послал –  Victor Alejandro Alvarado Vilo 14.09.2016, 18:30
  • 4
    declaraci и # 243; n array начиная с php 5.4 правилен с [], поэтому не быть должным и # 225; высказываться, таким образом, если только не будет использован versi и # 243; n php ниже упомянутой. php.net/manual/en/language.types.array.php –  Shaz 14.09.2016, 18:33
  • 5
    ясно, что я это сделаю:) спасибо xD –  Victor Alejandro Alvarado Vilo 14.09.2016, 18:36

Попробуй добавляя сначала HTML

<!DOCTYPE html>
<?php
$errores = [];
bla, bla, bla ...
-2
ответ дан 24.11.2019, 13:23
  • 1
    Продолжи быть равным! Редкое состоит в том, чтобы этот сам файл переместили это приятеля и # 241; ero и в он проходит его и в меня НЕ –  Infraganti 14.09.2016, 18:32
  • 2
    мм ok тогда - тема configuraci и # 243; n твоего PHP, доказательство твой проект на твоем производительном сервере. –  Alfonso Carrasco 14.09.2016, 18:33