Capturar input con PHP

franderson7

Lanero Regular
21 Jun 2007
4
Saludos!

soy un usuario nuevo y estoy aprendiendo php
tengo una duda:

tengo una pagina de login llamada index, la cual debe mostrar un alert si el usuario o la contraseña es incorrecta.

la pagina tiene un form con un submit que envia los datos con el metodo post a una pagina llamada inscripcion.php en la cual realizo otra consulta.
tambien tiene el metodo onsubmit para q realize una funcion de js(javascript) que muestra un alert si los campos usuario y contraseña estan vacios

por lo tanto no puedo usar el metodo post para capturar los datos en la misma pagina(index).

lo que quiero es capturar el value del input de tipo text y almacenarlo en una variable de php, para luego hacer la consulta, y si el usuario no existe en la BD muestra el alert("usuario o contraseña incorrectos").

Asi esta mi script:

//esta es la funcion que muestra el alert
<script>
function valida(){
var user= document.login.usuario.value;
var pass= document.login.clave.value;
if(user=="" || pass==""){
alert("ingrese usuario y contraseña");
return false;
}
}
</script>

//este es el formulario
<form action="inscripcion.php" method="post" name="login" onSubmit="return valida()">
<input name="usuario" type="text">
<input name="clave" type="password">
<input name="entrar" type="submit" value="Entrar">
<input name="reset" type="reset" value="limpiar">
</form>


//esta es mi duda de como capturar el valor del input
<?php
$nom="<script>document.login.usuario.value;</script>"
$pas="<script>document.login.clave.value;</script>"

include('conexion.php');
$conexion=Conectarse();
$sql="select * from usuario where nom_usu='$nom' and pass='$pas'";
$rs=mysql_query($sql,$conexion) or die("Error".mysql_error());
if(!mysql_num_rows($rs)){
echo "<script>alert('usuario o contraseña incorrecta');</script>";
}
?>


esto debe ser sencillo para los que tienen experiencia con php
gracias de antemano por su ayuda
 
Pues no utilizas la pagina inscripcion.php sino self o index.php.
Tonces tenes
PHP:
if passwor!=NULL
para determinar si ya valores al formulario si los entro haces lo que que tenesw en inscripcion, sino haces lo que tenes en index.php

Me entendiste?
Sino me escribis que yo te muestro mas o menos el codigo
 
Gracias por responder pero...
poppetmaster el metodo post no lo puedo usar porque ya lo estoy usando para enviar los datos a una pagina llamada inscripcion php donde realizo otra consulta.

nelson60s no logro entender tu solucion si lo explicas mas detalladamente te lo agradeceria mucho.
 
bueno en el archivo inscripcion.php que es a donde vas a enviar el formulario... puedes hacer esto para que veas como recives los datos que envias:

<?php
//archivo inscripcion.php
echo $_POST['usuario'];
<?php


y veras que lo que digites en el campo de texto usuario, te lo imprimira al enviar el formulario
 
Listo, ya vi lo que escribi y ni yo lo entiendo!
Vamos a ponerlo asi,
1. Solo usas una pagina que se envia variables a ella misma.
2. Si las variables existe y son correctas se da el ingreso, si no son correctas se da el alert y se muestra el formulario de ingreso
3. Si las variables no exiasten se muestra el formulario de ingreso.

Asi se ve simple no?

lo primero es algo asi:
PHP:
<?PHP
if($POST[nonbre]!="NULL" && $POST[password]!="NULL")
{
$link = mysql_connect("localhost", "root");

mysql_select_db("tabla", $link) or die(mysql_errno() . ": " . mysql_errno() . "<br>");
$resultado_usuario = mysql_query("SELECT * FROM usuarios WHERE nombre = '$POST[nombre]' && password = '$POST[password]'"); 

 if($row = mysql_fetch_array($resultado_usuario)) 

  { 

  $id=$row["id"];	

  $nombre= $row["nombre"];

  $password = $row["password"];

  mysql_query($sql);  

  mysql_free_result($resultado_usuario);

  }

  else

  {

   echo "El formulario de ingreso con el alert";

  }  

mysql_close();
}
else
{
echo "El formulario de ingreso";
}
?>
Si pillas el flujo de programa?
Si no se han enviado variables tipo post muestra un formulario.
Si se enviaron las verifica en la base de datos, si coinciden ingresa si no coinciden mustra de nuevo el formulario con un alert.

Preguntas o sugerencias me las envias por MP

El "visage" con el formulario es:
PHP:
<form action="para aca mismo" method="post" name="login" onSubmit="esta funcion solo para que se ingresen ambos valores">
<input name="usuario" type="text">
<input name="clave" type="password">
<input name="entrar" type="submit" value="Entrar">
<input name="reset" type="reset" value="limpiar">
</form>
 

Los últimos temas