Cita:
Iniciado por sneyder05
Saludos LuigBren
Puedes crear 1 único archivo PHP y usar switch para saber que código ejecutar y que respuesta retornar al AJAX, prueba algo como esto:
Nota como añadí otro parámetro más en la variable dataString, en este caso fué action=enviar, y que modifiqué la url del AJAX por chat.php.
Ahora puedes usar la misma estructura y cambiar el parámetro action de acuerdo a cada case que tengas en el switch
Pruébalo y nos comentas.
Gracias sneyder05, muy interesante tu idea, pero no me cuadra :( puede ser que estoy colocando mal las funciones, estoy probando en un archivo para verificar usuarios y siempre me dice no disponible.. te dejo el codigo de ejemplo que uso..
index.php Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="js.js" type="text/javascript"></script>
</head>
<body>
<?php
if($_POST){
$action = $_POST['action'];
if(!empty($action )){
switch ($action){
case "enviar":
include("conex.php");
$nick = $_POST["nick"];
$consulta = mysql_query("select username FROM chat where username = '$nick'",$link);
$numrows = mysql_num_rows($consulta);
if ($numrows > 0) {
echo 0;
}else{
echo 1;
}
break;
case "mostrar":
//Aqui tu código PHP
break;
}
}
}
?>
<form id="frmRegistro" onsubmit="return false">
<label> Nick: </label>
<input type="text" id="nick" name="nick" />
<input type="submit" name="btonsend" id="btonsend" disabled="disabled" value="Enviar"/>
<div id="msgUsuario"></div>
</form>
</body>
</html>
js.js
Código:
$(document).ready(function(){
$('#nick').focusout( function(){
if($('#nick').val()!= ""){
var username = $('#nick').val();
var dataString = 'action=enviar&nick=' + username;
$.ajax({
type: "POST",
url: "index.php",
data: dataString,
success: function( respuesta ){
if(respuesta == '1'){
$('#msgUsuario').html("Disponible");
$('#btonsend').removeAttr('disabled')
}else{
$('#msgUsuario').html("No Disponible");
$('#btonsend').attr('disabled','-1')
}
}
});
}
});
});
En cambio si uso ese mismo ejemplo pero quitandole la opcion "
action=enviar&" en el
dataString y agreando la url del otro archivo.php
url: "chequear.php" donde esta la misma consulta mysql para verificar el usuario que esta en el ejemplo si me funciona, que puede estar pasando? la pagina no recarga, no se si sera por eso..