Foros del Web » Programando para Internet » Javascript » Frameworks JS »

consulta php + ajax prototype

Estas en el tema de consulta php + ajax prototype en el foro de Frameworks JS en Foros del Web. Hola a todos. Tengo el siguiente problema: Estoy intentando realizar un registro de usuarios usando PHP y Ajax Prototype. la funcion que utilizo para guardar ...
  #1 (permalink)  
Antiguo 24/03/2008, 09:39
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 0
consulta php + ajax prototype

Hola a todos. Tengo el siguiente problema:

Estoy intentando realizar un registro de usuarios usando PHP y Ajax Prototype. la funcion que utilizo para guardar un usuario con prototype es la siguiente:

Código:
function GuardarUsuario() {	
	// objeto login
  var objeto = $('login');
	//alert(usuario);	
	// valor del elemento login
	var usuario = $F('login');
	//alert(usuario2);
	// FUNCION AJAX
	var ajax = new Ajax.Request("usuarios.php", {      
      parameters: { action:"guardar", boton:"guardar", data:usuario },
      onSuccess: function(transport){
			$("mensaje").innerHTML = transport.responseText;
			$("mensaje").show();
		  }
    });
}
y ese codigo procesa la informacion con el siguiente codigo php:

Código PHP:
function Guardar()
    {
        $data = $_POST;
        $login = $_POST['usuario2'];

        if ( $data['boton']=="guardar" ) {
        
          // SELECCIONANDO EL ID_CANAL DE LA COLUMNA CANALES
          /*
      $this->db->PConnect();
          $canales = array();
          $celda_canal = $excel->sheets[0]['cells'][$fil][1];
          $sql = "SELECT * FROM canales WHERE canal_nombre = '$celda_canal'";
          $res = $this->db->GetRow($sql);
          if ( $res ) {
              $canales = $res;
          }
          $this->db->Close();
          $data['id_canal'] = $canales['id_canal'];
          */
          
          // BUSCANDO EL LOGIN
          $this->db->PConnect();
          $usuarios = array();
          $sql_buscar = "SELECT * FROM usuarios WHERE usu_login = $login";
          $res_buscar = $this->db->GetRow($sql_buscar);
          if( $res_buscar ){
          $usuarios = $res_buscar;
      }
      $this->db->Close();
      
      // si no existen registros
      if( $usuarios['usu_login'] == NULL ){
        $comentario = "No existen registros";
        ?>
          <div id="mensaje" style="display:none"><?php echo $comentario ?></div>
        <?php
      
}
      else{
        
// si el registro es igual al ingresado
        
if( $usuarios['usu_login'] == $login ){
          
$comentario "el usuario ya existe";
          
?>
            <div id="mensaje" style="display:none" class="comment-body"><?php echo $comentario ?></div>
          <?php
        
}
        
// si el usuario es diferente al ingresado
        
if( $usuarios['usu_login'] != $login ){
          
$comentario "el usuario no existe";
          
?>
            <div id="mensaje" style="display:none" class="comment-body"><?php echo $comentario ?></div>
          <?php
        
}
      }
      } 
// fin boton guardar        
}
en este codigo rescato las variables para procesarlas en prototype:

function Formulario()
{
/*

$this->db->PConnect();
$data = $this->db->MetaColumnNames("videos");
foreach ($data as $value)
$data[$value] = "";
$titulo = "INGRESAR VIDEO";

if ( isset($_POST['id']) && $_POST['id']!="" ) {
$sql = "SELECT * FROM videos WHERE id_video='{$_POST['id']}'";
$data = $this->db->GetRow($sql);
$titulo = "MODIFICAR VIDEO";
}
$this->db->Close();

*/

// *********************************
// OBTENCION DE LOS NOMBRES DE PERFIL
$this->db->PConnect();
//$this->db->debug=1;

$array = array();
$sql = "SELECT * FROM perfiles ORDER BY perfil_nombre";
$res = $this->db->GetArray($sql);
if ( $res ) {
//$array = $res;
$perfiles = $res;
}
$this->db->Close();

?>

<html>
<head>
<link href="../css/style.css" rel="stylesheet" type="text/css" media="all" />
<!-- Funciones Prototype -->
<script src="../js/usuarios.js" type="text/javascript"></script>
<!-- Libreria Prototype -->
<script src="../js/prototype.js" type="text/javascript"></script>
</head>

<body style="background:#FFF">
<div class="box" style="width:740px !important; margin:0; border:0">
<form id="data_form">

<div class="box-form">
<center>
<label class="form-header" style="width:99%"><?php echo "Registro Usuarios" ?></label>
</center>

<div class="form-title">* Nombre:</div>
<div class="form-data"><?php echo $this->html->inputText("usuario_nombre", "", 60, 60, "", "id=\"nombre\"") ?></div>

<div class="form-title">* Usuario:</div>
<div class="form-data"><?php echo $this->html->inputText("usuario_login", "", 60, 100, "", "id=\"login\"") ?></div>

<div class="form-title">* Password:</div>
<div class="form-data"><?php echo $this->html->inputText("usuario_password", "", 15, 15, "", "id=\"password\"") ?></div>

<div class="form-title">* Perfil:</div>
<div class="form-data">
<select name="perfiles" size="1">
<option value="none" selected> Seleccione... </option>
<?php
foreach ($perfiles as $key => $row) {
?>
<option value="<?php echo $row["id_perfil"]; ?>"><?php echo $row["perfil_nombre"]; ?></option>
<?php
} // FIN FOREACH
?>
</div>
</div>

<div class="botones">
<?php
echo $this->html->botones("guardar", "button", "onclick=\"GuardarUsuario()\"");
echo $this->html->botones("cancelar", "button", "onclick=\"CancelarVideo()\"");
?>
</div>

</div>

</form>
</div>

<div id="existe">
</div>

</body>
<html>

<?php
}

el problema es que en la variable login no puedo rescatar el nombre de usuario para poder verificar si el usuario existe o no.

Estoy rescatando mal el nombre o estoy equivocado en el codigo Ajax?

Ojala puedan ayudarme, gracias
  #2 (permalink)  
Antiguo 24/03/2008, 09:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: consulta php + ajax prototype

Trasladado a AJAX.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:01.