Bueno como vimos en el manual anterior de Php y MySQL, realmente no es tan complicado aprender este lenguaje.
Ahora que solo hemos visto como volcar los resultados de una consulta hecha a una base de datos MySQL, sin embargo vamos ha hacerlo mas creativo, ahoro procederemos acrear un formaulario donde nos permitira insertar nuevos registros y tambien otro donde nos permitira borrar los mismos.
Para empezar necesitamos un formulario que nos permita poder introducir datos y enviarlos mediante metodo post, le get no lo usamos por que se pueden enviar menos datos y ademas es mas inseguro.
Entoces hagamos nuestro formulario este archivo se llamara alta.php
-
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»>
-
<form method=“post” action=“alta.php”> <label>Escriba el nombre del alumno</label>
-
<input name=“nombre” type=“text” /> <label>Escriba la calificación del primer parcial</label>
-
<input name=“parcial1″ type=“text” /> <label>Escriba la calificación del segundo parcial</label>
-
<input name=“parcial2″ type=“text” /> <label>Escriba la calificación del segundo parcial</label>
-
<input name=“parcial3″ type=“text” /> <input value=“Aceptar” type=“submit” />
-
</form>
Una vez llenados los campos le damos click en aceptar y listo se envian los datos al mismo archivo; pero me imagino que se preguntaran por que lo mando al mismo archivo, pues para organizarlo mejor y no tener mil archivos ahora vamos a crear lo que nos permitira insertar datos en nuestra base.
Ahora haremos el script php que guardala la informacion recibida.
Nota importante: hare uso de la funcion var_dump, para verificar que información esta llegando,ya que var_dump revisa el contenido total de cierta variable y los muestra en pantalla.
-
var_dump($_POST);
-
/*
-
* use solo $_POST para que me diga todos los campos y valores que recibio mediante este metodo
-
* Ahora bajaremos todas las variables recibidas a variables normales esto lo hago para mejorar
-
* el mantenimiento de dicho script asi como por seguridad, ya que le agregare la funcion addslashes
-
* la cual escapa comillas simples, dobles y algunos caracteres extranos, evitando que alguien hackee nuestro sitio
-
*/
-
$nombre=addslashes($_POST[‘nombre’]);
-
$parcial1=addslashes($_POST[‘parcial1′]);
-
$parcial2=addslashes($_POST[‘parcial2′]);
-
$parcial3=addslashes($_POST[‘parcial3′]);
-
/*
-
* Con lo anterior ya podemos usar nuestras variables mas comodamente y mas seguras
-
* pero recuerden que, no con esto evitaremos ataques, o nuestra web sera 100% Segura
-
* Sera, mejor dicho un poco mas segura
-
* Ahora programemos la consulta que insertara los datos, recordemos que en el post anterior,
-
* ya vimos como hacer una insercion mediante instrucciones SQL
-
* tomaremos el mismo ejemplo
-
* el digo era # INSERT INTO `calificaciones` VALUES (1,’Tux’,10,8,8,9);
-
*/
-
/*
-
*Nos conectamos a la base de datos
-
*/
-
$DB=mysql_connect(“localhost”,“root”,“localhost”);
-
mysql_select_db(“Alumnos”);
-
/*
-
*creamos una varible que manejara la consulta, es similar al primer ejemplo
-
* solo que aqui usaremos mas variables
-
*/
-
$sql=‘INSERT INTO `calificaciones` VALUES («1″,»Tux»,10,8,8,9)’;
-
/*
-
* Aqui les mencionare un detalle, los valores anteriores se insertaran en los campos, en el orden
-
* dado, osea que si agregan un campo o reorganizan la base de datos la consulta fallara
-
* y por logica tambien fallara su a sitio web.
-
* para evitar eso usaremos set par asignar valores, uno por uno
-
* asi nos evitamos futuros problemas
-
*/
-
$sql=‘INSERT INTO `calificaciones` set Nombre=»Tux», Parcial1=10, Parcial2=8, Parcial3′;
-
/* Listo sin embargo siempre insertara los mismos valores, ha hora reemplazaremos
-
* los valores por variables y tenemos nuestro sql formado
-
* para poner valores, los concatenamos con un punto (.) y si el valor es texto, lo ponemos entre comillas
-
*/
-
$sql=‘INSERT INTO `calificaciones` set Nombre=»’.$nombre.‘», Parcial1=’.$parcial1.‘, Parcial2=’.$parcial2.‘, Parcial3=’.$parcial3;
-
/*
-
* Ahora ejecutamos la consulta
-
*/
-
$Q=mysql_query($sql,$DB);
-
/*
-
* Y listo ya insertamos los datos en nuestra base, sin embargo
-
* es mejor estar seguro de que se insertaron los datos con exito.
-
* por ello usando el operador if, preguntaremos si se inserto con exito
-
* si hay exito mostraremos un texto y si no mandaremos un mensaje de error
-
*/
-
if($Q)
-
{
-
echo ‘ El registro se agrego correctamente’;
-
}
-
else
-
{
-
echo ‘Ups!! hubo errores con el registro, trata de revisar tu script’;
-
}
-
/*
-
* Mucho mejor no
-
*
-
*/
Listo ahora metemos todo a un solo archivo y lo presentamos
Archivo alta.php
-
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
-
<style type=“text/css”>
-
/*<![CDATA[*/
-
*{
-
font-family: Verdana;
-
}
-
/*]]>*/
-
</style>
-
<?php
-
if(isset($_POST[‘aceptar’]))
-
{
-
$nombre=addslashes($_POST[‘nombre’]);
-
$parcial1=addslashes($_POST[‘parcial1′]);
-
$parcial2=addslashes($_POST[‘parcial2′]);
-
$parcial3=addslashes($_POST[‘parcial3′]);
-
$DB=mysql_connect(“localhost”,“root”,“localhost”);
-
mysql_select_db(“Alumnos”);
-
$sql=‘INSERT INTO `calificaciones` set Nombre=»’.$nombre.‘», Parcial1=’.$parcial1.‘, Parcial2=’.$parcial2.‘, Parcial3=’.$parcial3;
-
$Q=mysql_query($sql,$DB);
-
if($Q)
-
{ echo ‘ <span style=»color: blue»>El registro se agrego correctamente’; }
-
else
-
{ echo ‘<span style=»color: red»>Ups!! hubo errores con el registro, trata de revisar tu script</span>’; }
-
}
-
?>
-
</span>
-
Agregar un nuevo alumno
-
<form method=“post” action=“alta.php”> <label>Escriba el nombre del alumno</label> <input name=“nombre” type=“text” /> <label>Escriba la calificación del primer parcial</label> <input name=“parcial1″ type=“text” /> <label>Escriba la calificación del segundo parcial</label> <input name=“parcial2″ type=“text” /> <label>Escriba la calificación del segundo parcial</label> <input name=“parcial3″ type=“text” /> <input name=“aceptar” value=“Aceptar” type=“submit” /> </form>
Descargar el script con comentarios: Usando PHP y MySQL, Insertando datos de manera dinamica