1

私の問題は、jQuery ajax の上に on.('click') があるときに送信ボタンをクリックすると、成功はしますが、データベースに情報が送信されないことです。それ以外の場合、jQuery の上に on.('submit') があると、ajax は機能しませんが、PHP は機能します。

これが私のフォームのコードです。

<div id="seccion_registro">
<div id="login_error">Campo no valido!</div>
<div id="registro_succes"></div>


            <form id="form2" name="form2" action="usuario.php" method="POST">
                <label for="nombre">Nombre</label>
                <input id="nombre"type="text" class="text" size="20" name="nombre">

                <label for="usuario">Usuario</label>
                <input id="password1" type="text" class="text" size="20" name="usuario">

                <label for="contrasena">Contraseña</label>
                <input id="password1" type="password" class="text" size="20" name="contrasena">

                <label for="confirmar">Confirmar contraseña</label>
                <input id="password2" type="password" class="text" size="20" name="confirmar">

                <label for="email">Email</label>
                <input type="text" class= "text" size="20" name="email">

        <div>
                <input type="submit" class="boton1" value="Regístrate" size="56">
        </div>
 </form>

これは私の jquery ajax 関数です。fancybox を使用してフォームと成功またはエラー応答を表示します。

$(document).ready(function(){   

$('.boton1').on('click', function(e){


e.preventDefault();

var name = $('#nombre').val();
var password1 = $('#password1').val();
var password2 = $('#password2').val();
var errors = '';

if(name.length < 5 || name == ''){
errors += '<p>tsads</p>'; 
} 




if(errors != ''){    
$("#login_error").show();       
$.fancybox.resize();

//$("#login_succes").hide();

} else {
var datos = $('#form2').serialize();
$.ajax({
    url:'Usuario.php',
    data:'datos',
    type:'POST',
    beforeSend: function(){
          $('#seccion_registro').html('<div id="carga" style="margin:0 auto;width:auto;background-position:center center;"></div>');
        },
    success: function(){
         $('#seccion_registro').html('<p class="text_enhorabuena">Enhorabuena, has sido registrado!</p>');
        $("#registro_succes").show();       
        $.fancybox.resize();
}
 });

 }



 });

最後に、これが私の PHP スクリプトです。

<?php

include 'conexion.php';

$_POST['nombre'];
$_POST['usuario'];
$_POST['contrasena'];
$_POST['email'];

$consulta = "INSERT INTO usuario (Usuario, password, email, nombre ) VALUES ('".$_POST['usuario']."', 
  '".$_POST['contrasena']."', '".$_POST['email']."', '".$_POST['nombre']."')";


if (!mysqli_query($conexion,$consulta))
  {
      die('Error: ' . mysqli_error($conexion));
  }
else{

//Do stuff

};
mysqli_close($conexion);

?>
4

1 に答える 1