FORMULARIO Y PROCESO DE DATOS RECUPERADOS CON PHP
Hola como están? espero que muy bien, hoy vamos a trabajar con un formulario que permitirá escribir un dato para luego buscarlo dentro de un campo de nuestra tabla de datos, para ello utilizaremos formulario, sentencia if, ciclo while y luego procesaremos esos datos recuperamos lanzando nueva información, el ejercicio lo haremos en base a el ingreso de datos que hicimos en la tabla salarios y los nuevos datos que lanzaremos serán el descuento de IGSS (en Guatemala 4.83% sobre sueldo) y el salario líquido, es decir sueldo + bonificación - IGSS.
Paso No. 1 - Usamos sentencia if para mostrar el formulario de consulta.
<?
if(!$_POST) {
?>
Paso No. 2 - Creamos el formulario de consulta.
<form action="<? $_POST ?>" method=POST >
¿Qué dato buscas? <input type=text required name=dato />
<input type=submit value=Buscar />
</form>
Paso No. 3 - Asignamos la variable $dato, luego conectamos con el servidor y seleccionamos la base de datos.
<?
} else {
$dato = $_POST['dato'];
$db = mysql_connect("localhost", "root", "123456") or die ("No conectó el servidor");
mysql_select_db("ejemplo") or die ("No se puede seleccionar la base de datos ejemplo");
Paso No. 4 - Hacemos la consulta (para ello bastará con escribir solamente parte del nombre del empleado que buscamos, por ejemplo Juan o car).
$consulta = "SELECT * FROM salarios WHERE nombre LIKE '%".$dato."%'";
$resultado = mysql_query($consulta);
while($row = mysql_fetch_array($resultado)) {
$id = $row['IdEmpleado'];
$nombre = $row['Nombre'];
$cargo = $row['Cargo'];
$sueldo= $row['Sueldo'];
$bono = $row['Bonificacion'];
$igss = $sueldo * 0.0483;
$liquido = $sueldo + $bonificación - $igss;
echo "No. $id <br>";
echo "Nombre $nombre <br>";
echo "Cargo $cargo <br>";
echo "Sueldo $sueldo <br>";
echo "Bonificación $bono <br>";
echo "IGSS $igss <br>";
echo "Sueldo Líquido $liquido <br>";
echo "------------------------<br>";
}
}
?>
Bien, ahora como siempre les dejo el ejemplo para que lo prueben y espero que les sirva mucho. Hasta la próxima.
lunes, 25 de febrero de 2013
Ejemplo: Consultar una tabla de datos
CONSULTAS SQL
Hola como están? espero que muy bien, en esta ocasión voy a trabajar en un programita para que puedan consultar sus tablas de datos desde php y vamos a utilizar instrucciones sql, condiciones if y ciclos for. La consulta la haremos en base al ejemplo de la entrada anterior (Formulario para guardar datos), recordemos que la base de datos se llama ejemplo y la tabla se llama salarios.
Paso No. 1 - Conectar con el servidor y seleccionar la base de datos.
<?
$db = mysql_connect("localhost", "root", "123456") or die ("No conectó el servidor");
mysql_select_db("ejemplo") or die ("No se puede seleccionar la base de datos ejemplo");
Paso No. 2 - Hacer la consulta
$consulta = "SELECT * FROM salarios";
$resultado = mysql_query($consulta);
$numero_resultados = mysql_num_rows($resultado);
Paso No. 3 - Crear un ciclo con for para recuperar los resultados y mostrarlos.
echo "<h2>Resultados encontrados: </h2>";
for($i=1; $i<=$numero_resultados; $i++) {
$registros = mysql_fetch_array($resultado);
$nombre = $registros['Nombre'];
$cargo = $registros['Cargo'];
$sueldo = $registros['Sueldo'];
$bono = $registros['Bonificacion'];
echo "No. $i <br>";
echo "Nombre $nombre <br>";
echo "Nombre $cargo <br>";
echo "Nombre $sueldo <br>";
echo "Nombre $bono <br>";
echo "----------------------------<br><br>";
}
Bueno, ya se que es bastante básico, pero les aseguro que si logran entenderlo les será de mucha utilidad, en la próxima oportunidad veremos como hacer una consulta utilizando formularios, siempre les dejo el ejemplo para que lo vean, solamente hagan clic en el botón Mostrar Datos. Hasta pronto.
Hola como están? espero que muy bien, en esta ocasión voy a trabajar en un programita para que puedan consultar sus tablas de datos desde php y vamos a utilizar instrucciones sql, condiciones if y ciclos for. La consulta la haremos en base al ejemplo de la entrada anterior (Formulario para guardar datos), recordemos que la base de datos se llama ejemplo y la tabla se llama salarios.
Paso No. 1 - Conectar con el servidor y seleccionar la base de datos.
<?
$db = mysql_connect("localhost", "root", "123456") or die ("No conectó el servidor");
mysql_select_db("ejemplo") or die ("No se puede seleccionar la base de datos ejemplo");
Paso No. 2 - Hacer la consulta
$consulta = "SELECT * FROM salarios";
$resultado = mysql_query($consulta);
$numero_resultados = mysql_num_rows($resultado);
Paso No. 3 - Crear un ciclo con for para recuperar los resultados y mostrarlos.
echo "<h2>Resultados encontrados: </h2>";
for($i=1; $i<=$numero_resultados; $i++) {
$registros = mysql_fetch_array($resultado);
$nombre = $registros['Nombre'];
$cargo = $registros['Cargo'];
$sueldo = $registros['Sueldo'];
$bono = $registros['Bonificacion'];
echo "No. $i <br>";
echo "Nombre $nombre <br>";
echo "Nombre $cargo <br>";
echo "Nombre $sueldo <br>";
echo "Nombre $bono <br>";
echo "----------------------------<br><br>";
}
Bueno, ya se que es bastante básico, pero les aseguro que si logran entenderlo les será de mucha utilidad, en la próxima oportunidad veremos como hacer una consulta utilizando formularios, siempre les dejo el ejemplo para que lo vean, solamente hagan clic en el botón Mostrar Datos. Hasta pronto.
Ejemplo de Formulario: Capturar y guardar datos
FORMULARIO, PHP Y MYSQL
Hola que tal, les deseo un buen día. Hoy vamos a escribir un programita que nos permitirá capturar datos (Nombre, Cargo, Sueldo y Bonificación) y luego los guardará en una base de datos, debo aclarar que en este programa voy a escribir la instrucción que permitirá crear esta base de datos en caso de que no exista.
Paso No. 1 - Usamos la sentencia if para mostrar el formulario.
<?
if(!$_POST) {
?>
Paso No. 2 - Hacemos el formulario en HTML
<form action="<? $_POST ?>" method=POST>
Nombre: <input type=text name=nombre required /><br>
Cargo: <input type=text name=cargo required /><br>
Sueldo: <input type=text name=sueldo required /><br>
Bonificación: <input type=text name=bono required /><br>
<input type=submit value=Procesar />
</form>
Paso No. 3 - Asignación de variables con los datos del formulario.
<?
} else {
$nombre = $_POST['nombre'];
$cargo= $_POST['cargo'];
$sueldo= $_POST['sueldo'];
$bono = $_POST['bono'];
Paso No. 4 - Conectamos con el servidor y seleccionamos la base de datos (en este caso nuestra base de datos se llamará ejemplo y la tabla salarios.)
$db = mysql_connect("localhost", "root", "123456") or die ("No conectó con el servidor");
mysql_select_db("ejemplo") or die ("No se pudo seleccionar la base de datos ejemplo");
Paso No. 5 - Verificamos que la tabla salarios exista en la base y si no la creamos.
$tabla = mysql_list_tables("ejemplo");
$num_tabla = mysql_num_rows($tabla);
$existe = "NO";
for ($i=0; $i<$num_tabla; $i++) {
if (mysql_tablename($tabla, $i) == "salarios") {
$existe = "SI" ;
}
}
if ($existe == "NO") {
$tabla_nueva = "CREATE TABLE salarios (IdEmpleado INT(3) NOT NULL
AUTO_INCREMENT PRIMARY KEY, Nombre VARCHAR(35), Cargo VARCHAR(20),
Sueldo DOUBLE(6,2), Bonificacion DOUBLE(6,2), UNIQUE (IdEmpleado))";
mysql_query($tabla_nueva);
}
Paso No. 6 - Insertamos los datos en la tabla.
$insertar = "INSERT INTO salarios (Nombre, Cargo, Sueldo, Bonificacion) VALUES (
'$nombre', '$cargo', '$sueldo', '$bono')";
$resultado = mysql_query($insertar);
Paso No. 7 - Confirmamos que los datos hayan sido insertados y luego los mostramos.
if(!$resultado) {
echo "No se guardaron datos, vuelva a intentarlo más tarde";
} else {
echo "$nombre <br>$cargo <br>$sueldo <br>$bono<br>Los datos fueron guardados con
éxito";
}
}
?>
Eso es todo, como siempre les dejo el ejemplo para que lo prueben y deseo que todo salga bien. Hasta la próxima.
Hola que tal, les deseo un buen día. Hoy vamos a escribir un programita que nos permitirá capturar datos (Nombre, Cargo, Sueldo y Bonificación) y luego los guardará en una base de datos, debo aclarar que en este programa voy a escribir la instrucción que permitirá crear esta base de datos en caso de que no exista.
Paso No. 1 - Usamos la sentencia if para mostrar el formulario.
<?
if(!$_POST) {
?>
Paso No. 2 - Hacemos el formulario en HTML
<form action="<? $_POST ?>" method=POST>
Nombre: <input type=text name=nombre required /><br>
Cargo: <input type=text name=cargo required /><br>
Sueldo: <input type=text name=sueldo required /><br>
Bonificación: <input type=text name=bono required /><br>
<input type=submit value=Procesar />
</form>
Paso No. 3 - Asignación de variables con los datos del formulario.
<?
} else {
$nombre = $_POST['nombre'];
$cargo= $_POST['cargo'];
$sueldo= $_POST['sueldo'];
$bono = $_POST['bono'];
Paso No. 4 - Conectamos con el servidor y seleccionamos la base de datos (en este caso nuestra base de datos se llamará ejemplo y la tabla salarios.)
$db = mysql_connect("localhost", "root", "123456") or die ("No conectó con el servidor");
mysql_select_db("ejemplo") or die ("No se pudo seleccionar la base de datos ejemplo");
Paso No. 5 - Verificamos que la tabla salarios exista en la base y si no la creamos.
$tabla = mysql_list_tables("ejemplo");
$num_tabla = mysql_num_rows($tabla);
$existe = "NO";
for ($i=0; $i<$num_tabla; $i++) {
if (mysql_tablename($tabla, $i) == "salarios") {
$existe = "SI" ;
}
}
if ($existe == "NO") {
$tabla_nueva = "CREATE TABLE salarios (IdEmpleado INT(3) NOT NULL
AUTO_INCREMENT PRIMARY KEY, Nombre VARCHAR(35), Cargo VARCHAR(20),
Sueldo DOUBLE(6,2), Bonificacion DOUBLE(6,2), UNIQUE (IdEmpleado))";
mysql_query($tabla_nueva);
}
Paso No. 6 - Insertamos los datos en la tabla.
$insertar = "INSERT INTO salarios (Nombre, Cargo, Sueldo, Bonificacion) VALUES (
'$nombre', '$cargo', '$sueldo', '$bono')";
$resultado = mysql_query($insertar);
Paso No. 7 - Confirmamos que los datos hayan sido insertados y luego los mostramos.
if(!$resultado) {
echo "No se guardaron datos, vuelva a intentarlo más tarde";
} else {
echo "$nombre <br>$cargo <br>$sueldo <br>$bono<br>Los datos fueron guardados con
éxito";
}
}
?>
Eso es todo, como siempre les dejo el ejemplo para que lo prueben y deseo que todo salga bien. Hasta la próxima.
Ejemplo de formulario: Fecha de nacimiento
FORMULARIOS Y PHP
Hola que tal, una vez más vamos a adentrarnos en la programación de PHP y en esta ocasión haremos un ejemplo de un formulario que solicite el nombre de una persona, presente las opciones para que el usuario ingrese el día, mes y año en que nació. Para esto vamos a utilizar las sentencias if, for, switch y los formularios de html.
Paso No. 1 - Usamos el condicional if para mostrar el formulario y luego procesarlo.
<?
if(!$_POST) {
?>
Paso No. 2 - Escribimos el código de formulario y los campos dia, mes y año los procesamos con un ciclo for.
<form action="<? $_POST ?>" method=POST >
Nombre: <input type=text required name=nombre /><br>
Fecha de Nacimiento: <br>
Día: <select name=dia>
<?
for($i=1; $i<=31; $i++) {
echo "<option value=$i>$i</option>";
}
?>
</select>
Mes: <select name=mes>
<?
for($i=1; $i<=12; $i++) {
echo "<option value=$i>$i</option>";
}
?>
</select>
Año: <select name=anio>
<?
for($i=1960; $i<=2013; $i++) {
echo "<option value=$i>$i</option>";
}
?>
</select><br>
<input type=submit value=Mostrar>
</form>
Paso No. 3 - Asignamos a nuestras variable de php el valor de cada uno de los campos del formulario.
<?
} else {
$nombre = $_POST['nombre'];
$dia= $_POST['dia'];
$mes = $_POST['mes'];
$anio = $_POST['anio'];
Paso No. 4 - Ahora convertiremos los meses de número a texto.
switch($mes) {
case 1:
$mestexto = "enero";
break;
case 2:
$mestexto = "febrero";
break;
case 3:
$mestexto = "marzo";
break;
case 4:
$mestexto = "abril";
break;
case 5:
$mestexto = "mayo";
break;
case 6:
$mestexto = "junio";
break;
case 7:
$mestexto = "julio";
break;
case 8:
$mestexto = "agosto";
break;
case 9:
$mestexto = "septiembre";
break;
case 10:
$mestexto = "octubre";
break;
case 11:
$mestexto = "noviembre";
break;
case 12:
$mestexto = "diciembre";
break;
}
Paso No. 5 - Mostramos los resultados
echo "$nombre usted nació el $dia de $mestexto de $anio";
}
?>
Bien eso es todo espero que al ejecutarlo no les de ningún problema. Siempre le dejo un ejemplo del funcionamiento aquí.
sábado, 28 de julio de 2012
Función Mail()
Enviar correo con un formulario desde PHP
Respondiendo a la inquietud que presentaron en clase mis estudiantes en clase les dejo un pequeño escript que les permitirá enviar información que capturen en un formulario html hacia un correo electrónico (hotmail o gmail).
Para comenzar el script es un php, pero lo trabajaremos de la siguiente manera:
Escribimos el código dentro las etiquetas <body> y </body>. En este caso iniciamos con la creación de una tabla (la tabla aportará orden a nuestro formulario).
<body>
<table width="100%" height="100%" border="0" align="center" cellspacing="0">
<tr>
<td>
<table width="100%" height="100%" border="0" align="center" cellspacing="0">
<tr>
<td>
Luego iniciamos con la etiqueta <form> y la configuramos de la siguiente manera:
<form action="<? $HTTP_POST_VARS ?>" method="post">
Ahora iniciamos php, este código evaluará si el formulario contiene o no datos, en caso que no contenga mostrará el formulario.
<?
if (!$HTTP_POST_VARS){
?>
Escribimos el formulario dentro de otra tabla para que se vea más bonito:
<h1 align="center" class="titulo1">Envíenos un correo</h1>
<table width="542" border="0" align="center">
<tr>
<th width="480" class="Estilo20" scope="row">
<div align="right">
Nombre:
<input name="nombre" type="text" size="40" />
<br />
Email:
<input name="email" type="text" size="40" />
<br />
Asunto:
<input name="asunto" type="text" size="40" />
<br />
Comentarios:
<textarea name="comentario" cols="40" rows="10"></textarea>
<br />
<input name="submit" type="submit" value="Enviar correo" />
</div>
</form>
<div align="center" class="Estilo2"><br />
Los comentarios enviados serán recibidos directamente en mi correo y te responderé en cuanto pueda.</div>
Después del formulario volvemos a abrir php y en este espacio contruimos el cuerpo del correo electrónico usando los datos del formulario:
<?
}
else {
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Correo enviado desde mi sitio web\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Asunto: " . $HTTP_POST_VARS["asunto"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentario"] . "\n";
Por ultimo envío el correo doy las gracias y cierro todas las etiquetas que antes había abierto:
mail("limacruzjuancarlos@hotmail.com","Formulario recibido desde mi sitio web",$cuerpo);
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</th>
</tr>
</table>
</td>
</tr>
</table>
</body>
Bien eso es todo, solamente debo aclarar que la función mail() funcionará unicamente en un servidor en línea y no en una de prueba. Como siempre les dejo el código completo para que lo prueben y lo mejoren.
<body>
<table width="100%" height="100%" border="0" align="center" cellspacing="0">
<tr>
<td>
<form action="<? $HTTP_POST_VARS ?>" method="post">
<?
if (!$HTTP_POST_VARS){
?>
<h1 align="center" class="titulo1">Envíenos un correo</h1>
<table width="542" border="0" align="center">
<tr>
<th width="480" class="Estilo20" scope="row">
<form action="libro_vis2.php" method="post">
<div align="right">
Nombre:<input name="nombre" type="text" size="40" />
<br />
Email: <input name="email" type="text" size="40" />
<br />
Asunto:<input name="asunto" type="text" size="40" />
<br />
Comentarios:<textarea name="comentario" cols="40" rows="10"></textarea>
<br />
<input name="submit" type="submit" value="Enviar correo" />
</div>
</form>
<div align="center" class="Estilo2"><br />Los comentarios enviados serán recibidos directamente en mi correo y te responderé en cuanto pueda.</div>
<?
}
else {
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Correo enviado desde mi sitio web\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Asunto: " . $HTTP_POST_VARS["asunto"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentario"] . "\n";
//mando el correo...
mail("limacruzjuancarlos@hotmail.com","Formulario recibido desde mi sitio web",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</th>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<table width="100%" height="100%" border="0" align="center" cellspacing="0">
<tr>
<td>
<form action="<? $HTTP_POST_VARS ?>" method="post">
<?
if (!$HTTP_POST_VARS){
?>
<h1 align="center" class="titulo1">Envíenos un correo</h1>
<table width="542" border="0" align="center">
<tr>
<th width="480" class="Estilo20" scope="row">
<form action="libro_vis2.php" method="post">
<div align="right">
Nombre:<input name="nombre" type="text" size="40" />
<br />
Email: <input name="email" type="text" size="40" />
<br />
Asunto:<input name="asunto" type="text" size="40" />
<br />
Comentarios:<textarea name="comentario" cols="40" rows="10"></textarea>
<br />
<input name="submit" type="submit" value="Enviar correo" />
</div>
</form>
<div align="center" class="Estilo2"><br />Los comentarios enviados serán recibidos directamente en mi correo y te responderé en cuanto pueda.</div>
<?
}
else {
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Correo enviado desde mi sitio web\n";
$cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Asunto: " . $HTTP_POST_VARS["asunto"] . "\n";
$cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentario"] . "\n";
//mando el correo...
mail("limacruzjuancarlos@hotmail.com","Formulario recibido desde mi sitio web",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</th>
</tr>
</table>
</td>
</tr>
</table>
</body>
Aquí un ejemplo del formulario, envíame un comentario.
jueves, 24 de mayo de 2012
Control de Acceso - Inicio de Sesión
Sesiones
Las sesiones en PHP permiten al programador de páginas web prolongar el uso de información de un usuario a través de accesos subsiguientes, esto permite la creación de páginas web más personalizadas y atractivas, al usuario que accede a nuestro sitio web se le asigna un único nombre de identificación que puede ser almacenado en una cookie y propagado por toda la dirección de nuestro sitio.
Antes de continuar con este documento, es necesario que aclare que el uso de este recurso está ampliamente expuesto en el sitio oficial de PHP o manual en línea de PHP, la dirección es: http://www.php.net/manual/es/book.session.php y es importante que cada programador que desea hacer uso de ésta herramienta consulte este magnifico documento.
Para esta entrada voy a crear un formulario para solicitar al usuario que proporcione su correo electrónico (que en este caso será su ID) y un password ambos datos estarán guardados en una tabla de la base de datos llamada usuarios. Bien como siempre ire explicando paso a paso las partes que componen el código.
Primera parte: se evalua si el formulario esta vacio, si es así se muestra el formulario.
<?
if(!$_POST) {
?>
if(!$_POST) {
?>
Segunda parte: se configura el formulario y como notamos en el parámetro action se establece el uso de la variable $_POST (Un array asociativo de variables pasadas al script actual a través del método HTTP POST.), el método a usar es POST y en Target usamos _parent para que el resultado del proceso del formulario quede en la misma pestaña o ventana del navegador.
<form action="<? $_POST ?>" method="post" target="_parent">
Tercera parte: se crea el formulario en una tabla con un ancho de 500px, un borde 0 y centrada, notemos que en color anaranjado he puesto el código correspondiente a CSS que da estilo y color al formulario, de color verde estan los campos del formulario y de color azúl esta el código HTML.
<table width="500" border="0" align="center">
<tr>
<td colspan="2" style="font-family:Arial; font-size:18px; color:#333333; text-align:center;">Por favor identificate</td>
</tr>
<tr>
<td width="40%" style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Correo electronico:</td>
<td width="60%"><input name="email" type="text" size="50" maxlength="100"></td>
</tr>
<tr>
<td style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Password:</td>
<td><input name="password" type="password" size="50" maxlength="15"></td>
</tr>
<tr>
<td> </td>
<td><input name="" type="submit" value="Entrar"></td>
</tr>
</table>
</form>
<tr>
<td colspan="2" style="font-family:Arial; font-size:18px; color:#333333; text-align:center;">Por favor identificate</td>
</tr>
<tr>
<td width="40%" style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Correo electronico:</td>
<td width="60%"><input name="email" type="text" size="50" maxlength="100"></td>
</tr>
<tr>
<td style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Password:</td>
<td><input name="password" type="password" size="50" maxlength="15"></td>
</tr>
<tr>
<td> </td>
<td><input name="" type="submit" value="Entrar"></td>
</tr>
</table>
</form>
Cuarta parte: al accionar el botón Entrar del formulario se hará uso de la siguiente parte del código, en esta sección veremos el paso de los datos de la variable $_POST a variales PHP definidas por el programador.
<?
} else {
$email = $_POST['email'];
$password = $_POST['password'];
} else {
$email = $_POST['email'];
$password = $_POST['password'];
Quinta parte: esta sección como vimos en una lección anterior validamos el formulario. Lo que pretendemos es evaluar que el usuario escriba su correo y su password, en caso contrario se mostrará el mensaje "Debe llenar los campos Correo Electrónico y Password" y el comando exit terminará el script en este punto.
if(!$email || !$password) {
echo "Debe llenar los campos Correo Electronico y Password";
exit;
}
echo "Debe llenar los campos Correo Electronico y Password";
exit;
}
Sexta parte: conectamos con el servidor y seleccionamos la base de datos.
$db = mysql_connect("localhost","root","123456");
mysql_select_db("esfuerzo");
Septima parte: Consultamos la tabla usuarios buscando en la en la misma que el usuario y el password coincidan con alguno de los registros, esto a través de WHERE.
$buscar = "SELECT * FROM usuarios WHERE usuario='$email' and password='$password'";
$resultado = mysql_query($buscar, $db);
Octava parte: Evaluamos con el condicional IF que los resultados sean positivos, es decir que el numero de registros encontrados sea diferente de 0.
if (mysql_num_rows($resultado)!= 0){
Novena parte: Si el usuario y la contraseña son validos se define el inicio de la sesión y guardo los datos que posteriormente usaré para validar al usuario al accesar al resto de las páginas de mi sitio.
session_start();
session_register("registrado");
$registrado = "SI";
Decima parte: Redirecciono el acceso a la página principal de mi sitio web en mi caso es esfuerzo.php.
header ("Location: esfuerzo.php");
Onceava parte: En caso de que el usuario o la contraseña sean erroneos se mostrará nuevamente el formulario
}else {
header("Location: index.php?errorusuario=si target: _self");
}
Doceava parte: libero toda la memoria asociada con el identificador del resultado, termino la conexión con el servidor y cierro PHP.
mysql_free_result($resultado);
mysql_close($db);
}
?>
A continuación les dejo el código completo del script para que lo puedan usar y seguido tambien un ejemplo de como validar la sesión en una de las páginas del sitio.
<?
if(!$_POST) {
?>
<form action="<? $_POST ?>" method="post" target="_parent">
<table width="500" border="0" align="center">
<tr>
<td colspan="2" style="font-family:Arial; font-size:18px; color:#333333; text-align:center;">Por favor identificate</td>
</tr>
<tr>
<td width="40%" style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Correo electronico:</td>
<td width="60%"><input name="email" type="text" size="50" maxlength="100"></td>
</tr>
<tr>
<td style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Password:</td>
<td><input name="password" type="password" size="50" maxlength="15"></td>
</tr>
<tr>
<td> </td>
<td><input name="" type="submit" value="Entrar"></td>
</tr>
</table>
</form>
<?
} else {
$email = $_POST['email'];
$password = $_POST['password'];
if(!$email || !$password) {
echo "Debe llenar los campos Correo Electronico y Password";
exit;
}
$db = mysql_connect("localhost","root","123456");
mysql_select_db("esfuerzo");
$buscar = "SELECT * FROM usuarios WHERE usuario='$email' and password='$password'";
$resultado = mysql_query($buscar, $db);
if (mysql_num_rows($resultado)!= 0){
session_start();
session_register("registrado");
$registrado = "SI";
header ("Location: esfuerzo.php");
}else {
header("Location: index.php?errorusuario=si target: _self");
}
mysql_free_result($resultado);
mysql_close($db);
}
?>
if(!$_POST) {
?>
<form action="<? $_POST ?>" method="post" target="_parent">
<table width="500" border="0" align="center">
<tr>
<td colspan="2" style="font-family:Arial; font-size:18px; color:#333333; text-align:center;">Por favor identificate</td>
</tr>
<tr>
<td width="40%" style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Correo electronico:</td>
<td width="60%"><input name="email" type="text" size="50" maxlength="100"></td>
</tr>
<tr>
<td style="font-family:Arial; font-size:18px; color:#333333; text-align:right;">Password:</td>
<td><input name="password" type="password" size="50" maxlength="15"></td>
</tr>
<tr>
<td> </td>
<td><input name="" type="submit" value="Entrar"></td>
</tr>
</table>
</form>
<?
} else {
$email = $_POST['email'];
$password = $_POST['password'];
if(!$email || !$password) {
echo "Debe llenar los campos Correo Electronico y Password";
exit;
}
$db = mysql_connect("localhost","root","123456");
mysql_select_db("esfuerzo");
$buscar = "SELECT * FROM usuarios WHERE usuario='$email' and password='$password'";
$resultado = mysql_query($buscar, $db);
if (mysql_num_rows($resultado)!= 0){
session_start();
session_register("registrado");
$registrado = "SI";
header ("Location: esfuerzo.php");
}else {
header("Location: index.php?errorusuario=si target: _self");
}
mysql_free_result($resultado);
mysql_close($db);
}
?>
Ejemplo de validación de inicio de sesión en paginas del sitio web, en caso de no estar validado correctamente llamará una aplicación con un mensaje de error, en este caso yo la nombre como recuerdo.php.
session_start();
session_register("registrado");
if ($registrado == "SI") {
?>
<html>
<head>
<title>Ferreteria "El Esfuerzo"</title>
<link href="esfuerzo_estilos.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="fondo">
<div id="encabezado">
Ferreteria "El Esfuerzo"
</div> <!-- Fin de encabezado -->
<div id="capamenu">
<ul id="menu">
<li><a href="bienvenido.php" target="contenido">Inicio</a></li>
<li><a>Consulta</a></li>
<li><a>Proforma</a></li>
<li><a>Facturar</a></li>
<li><a href="add-productos.php" target="contenido">Agregar</a></li>
</ul>
</div> <!-- Fin de capamenu -->
<div id="contenido">
<iframe width="100%" height="580" frameborder="0" name="contenido"
src="bienvenido.php" scrolling="auto"></iframe>
</div>
</div> <!-- Fin de la capa de fondo -->
</body>
</html>
<?
} else {
include('recuerdo.php');
}
?>
Bien hazta aquí con este documento, espero que les sirva y cuaquier duda o sugerencia será bien recibida.
jueves, 29 de marzo de 2012
Catorceava Clase
Formulario para restringir el acceso a páginas
Este formulario es importante sobre todo cuando queremos que cierta página no sea accesada por caulquier usuario, en esta ocación lo haremos de forma sencilla y en una proxima clase veremos como trarbajar con inicios de sesión.
Es bueno aclarar que el código HTML esta azúl, el código PHP esta en rojo y los comentarios en color verde.
Validamos el formulario.
Realizamos la consulta. En este caso condicionamos usando WHERE que el campo Usuario sea igual a la variable $usuario.
Asignamos al array $reg el contenido de la tabla.
Con este código evaluamos si la consulta falló, de ser así mostramos un mensaje y luego un link (este esta escrito en código javascript) para volver atrás.
Finalizamos el if inicial.
Finalizamos PHP.
Como siempre les dejo el código completo para que lo prueben y comenten sus resultados.
<?
if(!$_POST) {
?>
<table width="300" border="0">
<form action="<? $_POST ?>" method="post">
<tr>
<td colspan="2" align="center"><h3>LOGIN</h3></td>
</tr>
<tr>
<td>Usuario:</td>
<td><input name="usuario" type="text" size="15" maxlength="15"></td>
</tr>
<tr>
<td>Password:</td>
<td><input name="password" type="password" size="15" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="" type="submit" value="Ingresar"></td>
</tr>
</form>
</table>
<?
} else {
$usuario = $_POST['usuario'];
$password = $_POST['password'];
if(!$usuario || !$password) {
echo "Debe ingresar los datos en todos los campos.";
exit;
}
$consultar = "select * from datos where Usuario = '$usuario'";
$resultado = mysql_query($consultar);
$reg = mysql_fetch_array($resultado);
if($reg['Usuario'] != $usuario){
echo "Nombre de usuario incorrecto <br>";
?>
<a href="javascript:history.back(1)">Volver Atrás</a>
<?
exit;
}
if($password == $reg['Password']) {
?>
<script language="javascript">
location.href = "formulario.php";
</script>
<?
} else {
echo "Password Incorrecto";
?>
<a href="javascript:history.back(1)">Volver Atrás</a>
<?
}
}
?>
Iniciamos PHP y evaluamos que el formulario no contenga datos, se deja abierto el if para mostrar el formulario que esta escrito en HTML.
<?
if(!$_POST) {
?>
Escribimos el código HTML para el formulario que tendrá dos campos de texto una para Usuario y otro para Password.
En mi estructura de tabla he hecho una modificación, agregue un campo usuario para este programa, les dejo la imagen para que puedan hacer este cambio tambien.
<table width="300" border="0">
<form action="<? $_POST ?>" method="post">
<tr>
<td colspan="2" align="center"><h3>LOGIN</h3></td>
</tr>
<tr>
<td>Usuario:</td>
<td><input name="usuario" type="text" size="15" maxlength="15"></td>
</tr>
<tr>
<td>Password:</td>
<td><input name="password" type="password" size="15" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="" type="submit" value="Ingresar"></td>
</tr>
</form>
</table>
La siguiente porción de código es de PHP y corresponde al cierre de if y al inicio de else.
<?
} else {
Estas dos líneas de código asignan los valores de los datos capturados en el formulario a dos variables que usaremos para consultar en la tabla.
$usuario = $_POST['usuario'];
$password = $_POST['password'];
Validamos el formulario.
if(!$usuario || !$password) {
echo "Debe ingresar los datos en todos los campos.";
exit;
}
Conectamos con el servidor.
$db = mysql_connect("localhost", "root", "123456")
or die ("No se puede conectar con LOCALHOST");
Seleccionamos la base de datos.
mysql_select_db("colegioprueba")
or die ("No se puede abrir la base de datos COLEGIOPRUEBA");
Realizamos la consulta. En este caso condicionamos usando WHERE que el campo Usuario sea igual a la variable $usuario.
$consultar = "select * from datos where Usuario = '$usuario'";
Ejecutamos la consulta.
$resultado = mysql_query($consultar);
Asignamos al array $reg el contenido de la tabla.
$reg = mysql_fetch_array($resultado);
Con este código evaluamos si la consulta falló, de ser así mostramos un mensaje y luego un link (este esta escrito en código javascript) para volver atrás.
if($reg['Usuario'] != $usuario){
echo "Nombre de usuario incorrecto <br>";
?>
<a href="javascript:history.back(1)">Volver Atrás</a>
<?
exit;
}
En este código evaluamos que el password que ingreso el usuario sea igual al password registrado en la tabla, de ser así se le da acceso directo a la pagina llamada formulario.php (el redireccionamiento esta escrito en javascript) en caso contrario se da un mensaje y un link para regresar atrás (este link tambien esta escrito en javascript)
if($password == $reg['Password']) {
?>
<script language="javascript">
location.href = "formulario.php";
</script>
<?
} else {
echo "Password Incorrecto";
?>
<a href="javascript:history.back(1)">Volver Atrás</a>
<?
}
}
Finalizamos PHP.
?>
Como siempre les dejo el código completo para que lo prueben y comenten sus resultados.
<?
if(!$_POST) {
?>
<table width="300" border="0">
<form action="<? $_POST ?>" method="post">
<tr>
<td colspan="2" align="center"><h3>LOGIN</h3></td>
</tr>
<tr>
<td>Usuario:</td>
<td><input name="usuario" type="text" size="15" maxlength="15"></td>
</tr>
<tr>
<td>Password:</td>
<td><input name="password" type="password" size="15" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="" type="submit" value="Ingresar"></td>
</tr>
</form>
</table>
<?
} else {
$usuario = $_POST['usuario'];
$password = $_POST['password'];
if(!$usuario || !$password) {
echo "Debe ingresar los datos en todos los campos.";
exit;
}
$db = mysql_connect("localhost", "root", "123456")
or die ("No se puede conectar con LOCALHOST");
mysql_select_db("colegioprueba")
or die ("No se puede abrir la base de datos COLEGIOPRUEBA");
$consultar = "select * from datos where Usuario = '$usuario'";
$resultado = mysql_query($consultar);
$reg = mysql_fetch_array($resultado);
if($reg['Usuario'] != $usuario){
echo "Nombre de usuario incorrecto <br>";
?>
<a href="javascript:history.back(1)">Volver Atrás</a>
<?
exit;
}
if($password == $reg['Password']) {
?>
<script language="javascript">
location.href = "formulario.php";
</script>
<?
} else {
echo "Password Incorrecto";
?>
<a href="javascript:history.back(1)">Volver Atrás</a>
<?
}
}
?>
Suscribirse a:
Entradas (Atom)