hola gente del foro tengo una prejunta sobre html, ajax, javascript y php
la cosa es que quiero editar un elemento de la base de dato, y quiero que al realizar sumit
se valide si los datos ya existan con anterioridad, los datos a manejar son los de un usuario, el nombre del usuario y su tipo los cuales son cargado por medio de php con eso todo bien, al hacer sumit llamo a una función de javascrip verifico que seleccione una opcion
validad de un objeto <select> realizo una llamada ajax con javascript la cual me devuelve los datos correctamente, los cuales son true o false los cuales son para ver si los datos existen o no para no duplicar basicamente el nombre de usuario, pero nose como rescatar los datos para usarlos,y mandar una aler si ya existen los datos y que ingrese otro, adjunto mi codigo
Código PHP:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="jquery.min.js"></script>
<link rel="stylesheet" href="style3.css">
<script>
function validarfrom(valor){
if(document.forms["frm1"]["usuario"].value==0){//valido que el input tipo select no sea el valor opcion
alert("Selecione a un tipo de usuario");
return false;
}else{
dato = consultar(valor);
//aca mi problema no resivo los datos y esta claro por que no llamo ala funcion procesar eventos la cual devuelve los datos y los cuales nose como rescatar para usar los
return false;
}
}
//aplico ajax con jquery
function consultar(valor){
$.get("validar_usuario.php",{nombre:valor},procesarEventos);
}
function procesarEventos(datos){
return datos;//aca optengo el valor a recatar y me lo muestra bien y todo pero nose como devolverlo o rescatarlo
}
</script>
<title>Usuario</title>
</head>
<body>
<section id="contenedor">
<h1>Editar usuario</h1>
<?php
require( "variables.php" );
echo "<form name='frm1' action='edit_user.php' onsubmit='return validarfrom(nombre.value)' method='post'>";//al hacer sumit llamo a la funcion
echo "<ul>";
$h = mysql_connect( $host, $admin_name, $admin_pass ) or die( "ERROR al conectar al servidor." );
if( isset( $h ) ){
$db = mysql_select_db( $db_name, $h ) or die( "ERROR al abrir base de datos." );
if( isset( $db ) ){
$sql = "SELECT * FROM usuario WHERE nombre='".$_GET["usuario"]."'";
$res = mysql_query( $sql, $h ) or die( "ERROR al ejecutar instruccion SQL.");
while( $fila = mysql_fetch_row( $res ) ){
session_start();
$_SESSION['id_usuario']=$fila[0];
echo "<li><label >Nombre:</label></li>";
echo "<li><input type='text' name='nombre' required value=\"".$_GET['usuario']."\" /></li>";
if($fila[3]==1){
echo "<li><label >Tipo de usuario</label></li>";
echo "<li><select name='usuario' required >";
echo "<option value='0'>Elegir una opciones</option>";
echo "<option value='1' SELECTED>Adminitrador</option>";
echo "<option value='2'>Garzon</option>";
echo "<option value='3'>Cocinero</option>";
echo "</select></li>";
}elseif($fila[3]==2){
echo "<li><label >Tipo de usuario</label></li>";
echo "<li><select name='usuario' required >";
echo "<option value='0'>Elegir una opciones</option>";
echo "<option value='1'>Adminitrador</option>";
echo "<option value='2' SELECTED>Garzon</option>";
echo "<option value='3'>Cocinero</option>";
echo "</select></li>";
}elseif($fila[3]==3){
echo "<li><label >Tipo de usuario</label></li>";
echo "<li><select name='usuario' required >";
echo "<option value='0'>Elegir una opciones</option>";
echo "<option value='1'>Adminitrador</option>";
echo "<option value='2'>Garzon</option>";
echo "<option value='3'SELECTED>Cocinero</option>";
echo "</select></li>";
}
echo "<li><input type='submit' name='submit' value='guardar'><a href='ver_usuario.php'>volver</a></li>";
}
}else{
echo "<label>Se produjo un error no se pudo ingresar el categoria intentelo nuevamente</label>";
}
}else{
echo "<label>Se produjo un error no se pudo ingresar el categpria intentelo nuevamente</label>";
}
mysql_close($h);
echo "</ul>";
echo "</form>";
?>
</section>
</body>
</html>
aca el archivo que verifica si los datos existen o no
Código PHP:
<?php
header('Content-Type: text/html; charset=ISO-8859-1');
require( "variables.php" );
$h = mysql_connect( $host, $admin_name, $admin_pass ) or die( "ERROR al conectar al servidor." );
if( isset( $h ) ){
$db = mysql_select_db( $db_name, $h ) or die( "ERROR al abrir base de datos." );
if( isset( $db ) ){
$sql = " select * from usuario where nombre='".$_GET['nombre']."'";
$res = mysql_query( $sql, $h ) or die( "ERROR al ejecutar instruccion SQL." );
if(mysql_num_rows($res)==0)
echo "false";
else
echo "true";
}
}
mysql_close($h);
?>
en el codigo deje unos comentarios basado al problema.
bueno de antemanos gracia por su ayuda le di varias vuelta al asunto de como realizarlo
pero no llege a puerto trate usando variables globales, pense en hacer un div oculto y guardarlo ahi pero no supe como