Anda di halaman 1dari 43

PHP

El PHP inicio como una modificacin a Perl



Escrita por Rasmus Lerdorf a finales de 1994. Su primer uso fue el de
mantener un control sobre quien visitaba su curriculum en su web.

En los siguientes tres aos, se fue convirtiendo en lo que se conoce como
PHP/FI 2.0. Esta forma de programar llego a muchos usuarios, pero el
lenguaje no tomo el peso actual hasta que Zeev Surasky y Andi Gutmans le
incluyeron nuevas caractersticas en 1997, que dio por resultado el PHP 3.0.

La versin 5 es la ms reciente. Segn estudios ms de un milln de
servidores tienen esta capacidad implementada y los nmeros continan
creciendo.


PHP
El PHP es un lenguaje de script incrustado dentro del HTML.

La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas
caractersticas especificas de si mismo. La meta del lenguaje es permitir
rpidamente a los desarrolladores la generacin dinmica de paginas.

En PHP se puede hacer cualquier cosa que podemos realizar con un script
CGI, como el procesamiento de informacin en formularios, manipulacin
de cookies y pginas dinmicas

El CGI por sus siglas en ingls Common Gateway Interface es de las
primeras formas de programacin web dinmica.

Esta tecnologa tiene la ventaja de correr en el servidor cuando el usuario
lo solicita por lo que es dependiente del servidor y no de la computadora del
usuario.

PHP

Donde el contenido visualizado se genera de la informacin alcanzada en una
base de datos u otra fuente externa.

Una de sus caractersticas ms potentes es su suporte para gran cantidad de
bases de datos. Entre su soporte pueden mencionarse InterBase, mSQL,
MySQL, Oracle, Informix, PosgreSQL, entre otras.

PHP ofrece una solucin simple y universal para las paginaciones dinmicas
del Web de fcil programacin. Su diseo elegante lo hace perceptiblemente
ms fcil de mantener y ponerse al da que el codigo comparables en otros
lenguajes.

Debido a su amplia distribucin PHP esta perfectamente soportado por una
gran comunidad de desarrolladores. Como producto de cdigo abierto,




PHP



PHP goza de la ayuda de un gran grupo de programadores, permitiendo
que los fallos de funcionamiento se encuentren y se reparan
rpidamente. El cdigo se pone al da continuamente con mejoras y
extensiones de lenguaje para ampliar las capacidades de PHP.

PHP es utilizado en aplicaciones Web-relacionadas por algunas de las
organizaciones ms prominentes tales como Mitsubishi, Redhat, Der
Spiegel, MP3-Lycos, Ericsson y NASA.

PHP es la opcin natural para los programadores en mquinas con linux
que ejecutan servidores web con Apache, pero funciona igualmente bien
en cualquier otra plataforma de UNIX o de Windows




PHP

PHP (acrnimo de "PHP: Hypertext Preprocessor") es un
lenguaje interpretado de alto nivel embebido en pginas
HTML y ejecutado en el servidor.

Que necesito para que Funcione PHP?

Si quieres hacer funcionar PHP en tu propio PC
entonces necesitars un servidor web con PHP y MySQL,
puedes bajarte el AppServ o Xampp que ya trae todo esto
preparado.


PHP
En teora necesitas lo siguiente;

Apache -> Esto hace que tu PC sea un servidor.

MySql -> Esto trabaja como una base de datos que se necesita.

PHP-> Esto hace que puedas usar esa base de datos con PHP

y PHP-> Es la web o portal que tendrs que ir administrando a tu
gusto.


Programa "Funciona" en PHP
En teora en este curso suponemos que se conoce las marcas principales
de HTML y algn lenguaje de programacin, por lo menos un poquito.

Para agregar un programa PHP dentro de una pgina HTML debemos
por un lado al crear el archivo definirlo con extensin php
Ejemplo:
programa.php o incluir.php o borrar.php
y dentro del contenido de la pgina, encerrar el programa entre los
smbolos
<?php
{ aqu
el programa PHP }
?>
Programa "Funciona" en PHP


El comando de PHP para imprimir en la pantalla
llama echo.
Nuestro programa "Esto Funciona"
Ser entonces:
<html>
<head></head>
<body>
<?php

echo "Esto Funciona";
?>
</body>
</html>
Variables en PHP


Importante
Los nombres de variables son sensibles a maysculas y minsculas,
jose NO ES IGUAL a JOse
Por lo que si la escribimos en minscula inicialmente debemos respetarlo en el
resto del programa.
En cambio las instrucciones del lenguaje PHP no son sensibles por lo que si
deseamos escribir IF o if, las dos formas estarn bien.
Los que venimos de otros lenguajes como C, C++, Java tenemos por
costumbre escribir las palabras claves en minsculas, pero esto es solo por
costumbre.
Variables en PHP


Variables numricas
Almacenan cifras
Enteros $entero=2007; Nmeros sin decimales
Real $real=3.14159; Nmeros con o sin decimal

Variables Alfanumricas
Cadenas Almacenan variables alfanumricas
$cadena="Hola amigo";


Variables en PHP


Tablas
Almacenan series de informaciones numricas y/o alfanumricas
Arrays Son las variables que guardan las tablas
$sentido[1]="ver"; $sentido[2]="tocar";
$sentido[3]="oir"; $sentido[4]="gusto";
$sentido[5]="oler";
A diferencia de otros lenguajes, PHP posee una gran flexibilidad a la
hora de operar con variables.
En efecto, cuando definimos una variable asignndole un valor, el
ordenador le atribuye un tipo.
Variables en PHP


Si por ejemplo definimos una variable entre comillas, la variable ser
considerada de tipo cadena:
$variable="5"; //esto es una cadena
Sin embargo si pedimos en nuestro script realizar una operacin matemtica
con esta variable, no obtendremos un mensaje de error sino que la variable
cadena ser asimilada a numrica:
<?
$cadena= "5"; //esto es una cadena Este script dar como
$entero = 3; //esto es un entero resultado "8"
echo $cadena+$entero
?>
Variables en PHP


La variable cadena ha sido asimilada en entero (aunque su tipo sigue siendo
cadena) para poder realizar la operacin matemtica.
Del mismo modo, podemos operar entre variables tipo entero y real. No
debemos preocuparnos de nada,
PHP se encarga durante la ejecucin de interpretar el tipo de variable
necesario para el buen funcionamiento del programa.
<?
$dia=17;
$fecha="Hoy es $dia";
echo $fecha;
?>

Comentario en PHP


Para un comentario en PHP, se define como sigue
<?
las lineas
/* echo Hola como estas;
echo Estoy bien ; */
solo la linea
// echo Esta linea nada ms;
?>
Condiciones en PHP


Para las condiciones tener en cuenta que disponemos de los siguientes
operadores:
== para ver si una variable es igual a otra.
!= distinto.
>= mayor o igual.
> mayor.
<= menor o igual
< menor
Estructura Condicionales y Repetitivas
Cuando se pretende que el programa, una vez llegado a un cierto punto,
tome un camino concreto en determinados casos y otro diferente si las
condiciones de ejecucin difieren, se utiliza el conjunto de instrucciones:
if, else y elseif

Estructuras repetitivas (for - while do/while)

Que lo veremos mas adelante








El proceso para el manejo de FORMULARIOS requiere generalmente dos
pginas, una que implementa el formulario y otra que procesa los datos
cargados en el formulario.
La estructura mnima de un formulario es la siguiente:
Para la entrada de un nombre de persona, un objeto text
<input type="text" name="nombre">
Un botn para el envo del dato al servidor (submit):
<input type="submit" value="Enviar">
La marca <form> y </form> nos permite definir un formulario en la pgina.
Propiedades del FORM Obligatoriamente: action y method
Envo de datos de un FORMULARIO (controles text y submit)
Envo de datos de un Formulario (controles text y submit)
Programa codigo1.html

<html>
<head>
<title>Formulario de entrada del dato</title>
</head>
<body>
<form method="post" action="codigo2.php">
Ingrese su nombre:
<input type="text" name="nombre">
<br>
<input type="submit" value="confirmar">
</form>
</body>
</html>
Envo de datos de un Formulario (controles text y submit)
Action indica el nombre del archivo que recibir los datos ingresados por el
operador en el formulario y que sern enviados al servidor cuando se
presione el botn (submit).
Method indica como se organizan esos datos para enviarlos al servidor,
pudiendo ser mediante los mtodos post o get (normalmente los datos de un
formulario se envian mediante el mtodo post).Action indica el nombre del
archivo que recibir los datos ingresados por el operador en el formulario y
que sern enviados al servidor cuando se presione el botn (submit).
Para crear un cuadro de texto para el ingreso del nombre debemos definir
un objeto de tipo "text" y darle un nombre:
<input type="text" name="nombre">
La propiedad type nos permite definir el tipo de control y con la
propiedad name indicamos el nombre del control.
Envo de datos de un Formulario (controles text y submit)
Por ltimo todo formulario tiene un botn de tipo submit:
<input type="submit" value="confirmar">
Tambin utilizamos la marca input pero en la propiedad:
type indicamos que se trata de un botn de envio de datos.
En la propiedad value indicamos el texto que queremos que aparezca en
el botn.
Ahora necesitamos una pgina con un pequeo programa en PHP que
procese los datos ingresados en el formulario:


Envo de datos de un Formulario (controles text y submit)
Programa codigo2.php
<html>
<head>
<title>Captura de datos del form</title>
</head>
<body>
<?php
echo "El nombre ingresado es:";
echo $_REQUEST['nombre'];
?>
</body>
</html>
Para acceder al dato en PHP se cuenta con un vector llamado $_REQUEST
indicando como subndice el nombre del cuadro de texto que definimos en el
formulario (dicho nombre es sensible a maysculas y minsculas)
En nuestro problema slo mostramos por pantalla el valor ingresado en la pgina
anterior:
echo $_REQUEST['nombre']
FORMULARIO (control radio)
Programa radio.html (suma o resta de dos enteros)
<html>
<head>
<title>Problema</title>
</head>
<body>
<form method="post" action="radio1.php">
Ingrese primer valor:
<input type="text" name="valor1">
<br>
Ingrese segundo valor:
<input type="text" name="valor2">
<br>
<input type="radio" name="radio1" value="suma">sumar
<br>
<input type="radio" name="radio1" value="resta">restar
<br>
<input type="submit" value="operar">
</form>
</body>
</html>
FORMULARIO (control radio)

Es importante notar que se trata nuevamente de un archivo HTML puro, que no
tiene cdigo PHP.

La entrada de los dos nmeros se efectua en dos controles

Para seleccionar el tipo de operacin a efectuar disponemos dos controles de tipo
radio:

<input type="radio" name="radio1" value="suma">sumar<br>
<input type="radio" name="radio1" value="resta">restar

Es importante notar que los dos controles tienen el MISMO nombre.

Esto es necesario para que el navegador sepa que los dos controles estn
relacionados (recordar que cuando uno selecciona un radio se debe deseleccionar
el otro)
FORMULARIO (control radio)
Programa radio1.php
<html>
<head> <title>Problema</title> </head>
<body>
<?php
if ($_REQUEST['radio1']=="suma")
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma;
}
else
{
if ($_REQUEST['radio1']=="resta")
{
$resta=$_REQUEST['valor1'] - $_REQUEST['valor2'];
echo "La resta es:".$resta;
}
}
? >
</body>
</html>
FORMULARIO (control radio)
El vector asociativo $_REQUEST tiene tres componentes:

$_REQUEST['radio1']
$_REQUEST['valor1']
$_REQUEST['valor2']

En la componente $_REQUEST['radio1'] almacena la cadena "suma" o "resta"
segn cual se seleccion en el formulario.

Con dos if verificamos cual operacin est seleccionada y procedemos a
efectuarla:

if ($_REQUEST['radio1']=="suma")
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma;
.
.

FORMULARIO (control checkbox)
Programa check.html
<html>
<head> <title> Problema </title> </head>
<body>
<form action = " check1.php " method = "post"> Ingrese primer
valor: <input type = "text" name= "valor1">
<br>
Ingrese segundo valor <input type = "text" name = "valor2">
<br>
<input type="checkbox" name="check1"> sumar
<br>
<input type="checkbox" name="check2">restar
<br>
<input type="submit" value="operacion>
</form>
</body>
</html>

FORMULARIO (control checkbox)
En el programa anterior Disponemos de dos controles de tipo checkbox que nos
permitan seleccionar si queremos sumar y/o restar los valores ingresados.

Lo nuevo en este programa son los dos controles de tipo checkbox:

<input type="checkbox" name="check1">sumar

<input type="checkbox" name="check2">restar


Es importante notar que cada checkbox tiene un nombre distinto.


FORMULARIO (control checkbox)

Programa check1.php
<html>
<head> <title>Problema</title> </head>
<body>
<?php
if (isset($_REQUEST['check1']))
/* isset Determinar si una variable est definida
Devuelve TRUE si check1 existe; FALSE de lo contrario. */
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma."<br>";
}
if (isset($_REQUEST['check2']))
{
$resta=$_REQUEST['valor1'] - $_REQUEST['valor2'];
echo "La resta es:".$resta;
}
?>
</body> </html>
FORMULARIO (control checkbox)
Si el checkbox no est seleccionado en el formulario no se crea una
entrada en el vector asociativo $_REQUEST.

Para saber si existe una determinada componente en un vector se
emplea la funcin isset, si retorna true significa que existe y por lo tanto
el checkbox est seleccionado.

Disponemos dos if a la misma altura ya que los dos controles de tipo
checkbox podran estar seleccionados.
FORMULARIO (control select)
Programa select.html
<html>
<head> <title>Select </title> </head>
<body>
<form action="select1.php" method="post">
Ingrese primer valor: <input type="text" name="valor1">
<br>
Ingrese segundo valor: <input type="text" name="valor2">
<br>
<select name="operacion">
<option value="suma">sumar</option>
<option value="resta">restar</option>
</select>
<br>
<input type="submit" name="operar">
</form>
</body>
</html>
FORMULARIO (control select)

Programa selec1.php
<html>
<head> <title>Formulario select</title> </head>
<body>
<?php
if ($_REQUEST['operacion']==suma)
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma;
}
else
{
if ($_REQUEST['operacion']==resta)
{
$resta=$_REQUEST['valor1'] - $_REQUEST['valor2'];
echo "La resta es:".$resta;
}
}
?>
</body>
</html>
PHP con MySql

Uno de los empleos principales de PHP es el acceso a una base de
datos en el servidor. Las operaciones bsicas se hacen empleando como
lenguaje el SQL.

PHP implementa distintas funciones segn la base de datos a
emplear. Existen funciones actualmente para acceder a las siguientes
servidores de bases de datos:

- MySQL - Microsoft SQL Server - Oracle - PostgreSQL - SysBase

- FrontBase Informix InterBase - Ingres mSQL - dBase SQLlite

El ms empleado en la actualidad en la web es el gestor de base de
datos MySQL (debido que cuando se lo emplea sin fines de lucro se puede
emplear el software en forma gratuita).

PHP con MySql
Ya se ha creado una base de datos llamada curso, Tablas estudiante,
cargaacademica, materias.

Ahora Aprendamos primero algunos comandos php para la conexin con
MySql

mysql_connect intenta establecer una conexin con un motor de bases de
datos MySQL ejecutndose en host.

mysql_connect debe completarse con xito antes de que se pueda ejecutar
cualquier otra funci, cuando hay acceso a bases de datos.

mysql_select_db-- Selecciona un base de datos MySQL

mysql_query -- Enva una consulta de MySQL

mysql_fetch_array Extrae la fila de resultado como una matriz
asociativa


PHP con MySql

La Sintaxis para comunicar php con MySql es la siguiente:
<html> <head> relacion.php </head><body>
<?php
/* Defino coneccion con el Host */
$enlace=mysql_connect("localhost","root");

/* Selecciono base de datos con la cual trabajare */
mysql_select_db("curso",$enlace);

/* El Query o sql para Mostrar datos de la tabla o tablas */
$elsql= "SELECT * FROM estudiante";

$resultado=mysql_query($elsql,$enlace);
while ($row = mysql_fetch_array($resultado)) {
echo $row[cedula];
echo $row[apelnomb];
echo $row[direccion];
echo <br>;
}
mysql_free_result($resultado); ?></body> </html>
Ordenando la Programacin.


Programa conectar.php
<?php
Function Conectarse()
{
if (!($enlace=mysql_connect("localhost","root")))
{
echo "Error conectando al Host.";
exit();
}
if (!mysql_select_db("curso",$enlace))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $enlace;
}
?>


Ordenando la Programacin.
Programa relacion.php

<html> <body> <head> </head>
<?php
include(conectar.php)
$enlace=Conectarse()
$elsql= "SELECT * FROM estudiante";

$resultado=mysql_query($elsql,$enlace);
while ($row = mysql_fetch_array($resultado)) {
echo $row[cedula];
echo $row[apelnomb];
echo $row[direccion];
echo <br>;
}
mysql_free_result($resultado);
?> </body> </html>
Insertar Registros en Php
insertar.html
<html>
<body>

<h2>Insertar un registro</h2>
<br>
<FORM METHOD="POST" ACTION="insertar.php">
Cedula
<INPUT TYPE="TEXT" NAME="cedula"><br><br>
Apellidos y Nombres
<INPUT TYPE="TEXT" NAME="nombre"><br><br>
Direccion
<INPUT TYPE="TEXT" NAME="direccion"><br><br>
Fecha <INPUT TYPE="TEXT" NAME="fecha"><br><br>

<INPUT TYPE="SUBMIT" value="Suministrar">
</FORM>
</div>
</BODY>
</HTML>
Insertar Registros en Php
insertar.php

<?php
$fecha = date("Y-m-d");
$cedula = $_REQUEST['cedula'];
$nombre = $_REQUEST['nombre'];
$direccion = $_REQUEST['direccion'];
$fecha = $_REQUEST['fecha'];
include("conectar.php");
$enlace=Conectarse();

$elsql=mysql_query("SELECT * FROM estudiante WHERE cedula = $cedula );
if(!(($row=mysql_fetch_array($elsql,$enlace)))
{
$inserta= "INSERT INTO estudiante (cedula,apelnomb,direccion,fecha) VALUES
('$cedula','$nombre','$direccion','$fecha')";
$resultado=mysql_query($inserta);
echo "Insertado con exito";
}
else
{ echo ya existe;
}
?>
Eliminar Registros en Php
eliminar.html

<html>
<body>

<h2>Eliminarr un registro</h2>
<br>
<FORM METHOD="POST" ACTION="eliminar.php">
Cedula
<INPUT TYPE="TEXT" NAME="cedula"><br><br>


<INPUT TYPE="SUBMIT" value="Suministrar">
</FORM>
</div>
</BODY>
</HTML>
Eliminar Registros en Php

eliminar.php
<?
$cedula = $_REQUEST['cedula']; include("conectar.php");
$enlace=Conectarse();
$elsql= mysql_query("SELECT * FROM estudiante WHERE cedula =
'$cedula'");
if ($row=mysql_fetch_array($elsql,$enlace))
{
echo $row["cedula"];
echo "paso por aqii";
$borra=("DELETE FROM estudiante where cedula = '$cedula'");
$resultado = mysql_query($borra);
echo "Borrado con exito";
}
else
{ echo "No existe";
}
?>
Modificar Registros en Php



Modificar.html

<html>
<head> Modificar usuario</head>
<body>
<form name="form1" method="post" action="vermodificar.php">
<label>Ingrese cedula:
<input name="cedula" type="text" id="cedula">
</label>
<p>
<label>
<input type="submit" name="Submit" value="Entrar">
</label>
</p>
</form>
</body>
</html>



Modificar Registros en Php



vermodificar.php

<html> <head> Modificar usuario</head>
<body>
<?php
include("conectar.php"); enlace=Conectarse(); $cedula=$_POST["cedula"];

$elsql= mysql_query("SELECT * FROM prueba WHERE cedula = '$cedula'");

if ($row=mysql_fetch_array($elsql,$enlace))
{
?>
<form name="form1" method="post" action="modificar.php">
Cedula....
<input name="cedula" type="text" value="<?php echo $row["cedula"]; ?>">
<?php echo "<br>"; ?>
Nombre.. <input name="nombre" type="text" value="<?php echo $row["nombre"]; ?>">
<?php echo "<br>"; ?>

<input type= "submit" name="Submit" value="Modificar">
</form>
<?php
}
Else
{
echo "No existe"; } ?> </body> </html>



Modificar.php
<?php
include("conectar.php");
$enlace=Conectarse();
$nombre=$_REQUEST["nombre"];
$cedula = $_REQUEST['cedula'];
echo $cedula;
echo $_REQUEST["nombre"];

$gato=("update prueba set
cedula='$cedula',
nombre ='$nombre' where cedula='$cedula'");
$resultado=mysql_query($gato);
echo "<br>";
echo $gato;
echo "Modificado con exito";

?>

Anda mungkin juga menyukai