Php 按“提交”后,在特定数据部分加载网站

Php 按“提交”后,在特定数据部分加载网站,php,forms,captcha,Php,Forms,Captcha,问题在于: 我有一个网站,在一个页面中包含所有部分,所以它是一个大型网站,我有一个公式集,几乎在网站的底部有一个reCaptcha,因此,当人们没有输入正确的验证码并按submit时,它会再次加载网站,但会转到网站顶部,因此人们会迷路,因为他们不知道邮件是否已发送,或者他们必须向下滚动以查看警告消息,即他们没有输入正确的验证码 问题是,当他们按下提交按钮时,有没有一种方式可以将网站加载到特定的部分?在本例中,menu3部分 这就是我所拥有的: <section id="menu3">

问题在于:

我有一个网站,在一个页面中包含所有部分,所以它是一个大型网站,我有一个公式集,几乎在网站的底部有一个reCaptcha,因此,当人们没有输入正确的验证码并按submit时,它会再次加载网站,但会转到网站顶部,因此人们会迷路,因为他们不知道邮件是否已发送,或者他们必须向下滚动以查看警告消息,即他们没有输入正确的验证码

问题是,当他们按下提交按钮时,有没有一种方式可以将网站加载到特定的部分?在本例中,menu3部分

这就是我所拥有的:

<section  id="menu3"> </section>

      <form action="?done=1" method="post" name="myphpform" id="myphpform"   >
      <input type="text" id="nombre" class="form-control" name="nombre" placeholder="Escribe tu nombre"  required value="<?php if (!empty($_POST['nombre'])) { echo $_POST['nombre']; } ?>" />
      <input type="text" id="telefono" class="form-control" name="telefono" placeholder="Teléfono y/o celular"   value="<?php if (!empty($_POST['telefono'])) { echo $_POST['telefono']; } ?>" />
      <input type="email" id="email" class="form-control" name="email" placeholder="Escribe tu e-mail"  required   value="<?php if (!empty($_POST['email'])) { echo $_POST['email']; } ?>" />
      <textarea name="comentarios"   id="comentarios"  class="form-control"   placeholder="Comentarios y/o preguntas" required  /><?php if (!empty($_POST['comentarios'])) { echo $_POST['comentarios']; } ?></textarea>
      <input name="submit" type="submit" class="btn btn-info" value="Enviar" />
      </form> 
而php:

<?php
            @require_once('recaptchalib.php');
            $publickey = "";
            $privatekey = "";
            $resp = null;
            $error = null;
            if ($_POST["submit"]) {
           $resp = recaptcha_check_answer ($privatekey,
                              $_SERVER["REMOTE_ADDR"],
                              $_POST["recaptcha_challenge_field"],
                              $_POST["recaptcha_response_field"]);
                              if ($resp->is_valid) {
                              $to="mail@mail";
                              $subject="Contacto";
                              $body="Contacto:
                              Nombre: " .$_POST["nombre"] . "\n
                              Empresa: " .$_POST["empresa"] . "\n
                              Ubicacion: " .$_POST["ubicacion"] . "\n
                              Telefono: " .$_POST["telefono"] . "\n
                              E-mail: " .$_POST["email"] . "\n
                              Comentarios: " .$_POST["comentarios"] . "\n"; 
                              mail($to,$subject,$body, null, '-fmail@mail.mx');
                              $resultMenuUrlName = "contacto_gracias.html";
                              echo "<META HTTP-EQUIV=Refresh CONTENT=0;URL=$resultMenuUrlName>";
                              exit(1);
                              } else {
                                  echo "Lo sentimos pero no ha colocado el texto correctamente! Intente nuevamente...";
                                  }
                              }
                              echo recaptcha_get_html($publickey, $error);
                              ?>

thx在通知中

您可以使用命名锚:


然后制作url:

好吧,我终于找到了如何在所有网站加载后转到该部分,因为在开始时,我的网站有一点动画,可能不是最好的解决方案,但它对我有效。我只是将其添加到php中:

echo "<script type=''>
setTimeout(function() {
window.location = '#anchor';
}, 7000);
</script>";

thx,它是有效的,但是有没有其他方法可以做到呢?我这样问是因为我的网站在开始时有一些使用java脚本的效果,所以只有在我去掉所有效果后,它才会起作用: