220 likes | 410 Views
INF340. PHP. Fernando Velasco fernando.velasco.p@mail.pucv.cl. Planificación específica. ¿HTML – PHP – PostgreSQL – PL/SQL?. HTML ( HyperText Markup Language ) Lenguaje de marcado de Hipertexto haciendo uso de etiquetas interpretado en el lado del navegador. (xEj: <body>..</body>).
E N D
INF340. PHP Fernando Velasco fernando.velasco.p@mail.pucv.cl
¿HTML – PHP – PostgreSQL – PL/SQL?. • HTML (HyperText Markup Language) • Lenguaje de marcado de Hipertexto haciendo uso de etiquetas interpretado • en el lado del navegador. (xEj: <body>..</body>). • Puede describir, hasta un cierto punto, la apariencia de un documento, • soporta scripts y también lenguajes de programación para Webs dinámicas. • PHP (Hypertext Pre-processor) • Lenguaje de programación interpretado en el lado del servidor. Interactúa • Con HTML incluye la creación de formularios e interacción con BDs. • Particularmente similar a C, C++, Java, Perl, AWK entre otros. • PostgreSQL • SGBD relacional objetual libre y de código abierto. • PL/SQL • Sus virtudes son la posibilidad que brinda de utilizar sentencias SQL • para manipular datos en la BD y sentencias de control de flujo para • organizar esta manipulación de datos.
Necesitamos... Editor de texto .Block de Notas, Herramienta CASE .DW o similar. Cuentas de BD . http://afrodita.inf.ucv.cl Servidor web . http://hera.inf.ucv.cl http://afrodita.inf.ucv.cl/~_______ Cliente FTP .WinSCP http://afrodita.inf.ucv.cl/~fvelasco/
Importante ! El código PHP comienza con <?php y termina con ?> similar a los tags que se utilizan en HTML. Estos símbolos se llaman php tags y le indican al Web server en donde comienza y termina el código de PHP. Cualquier código que se ponga dentro de estos tags se interpreta por el Web server como código de PHP. Lo que no esté dentro del tag de PHP se considera HTML. En PHP los nombres de las variables son CASE SENSITIVE (sensible a las mayúsculas/minúsculas). Es decir, $x != $X; La creación de variables y asignaciones a éstas son inmediatas, y sin importar el tipo de dato por utilizar. Es decir, $variableX=“stringX”; $variableY=valorY; Imprime por pantalla con la sentencia “echo”. Por ejemplo: <?PHP echo”No estés triste.”; ?>
Utilizando funciones PHP. • PHP tiene una librería de funciones que te permiten manipular y probar variables. • gettype() – Indica el tipo de dato de la variable. • settype() – Define la variable al tipo de dato especificado. • Ejemplo: • $a = 22; • echo gettype($a).’<br />’; // muestra integer • settype($a,’double’); // Lo cambia a double • echo gettype($a).’<br />’; // muestra double • Echo date(“Y”); //muestra el año actual
Utilizando funciones PHP. • Son funciones que cotejan el tipo de dato de la variable. Devuelven true o false. Ejemplos: • is_array() • is_double(), is_float, is_real()// Todas son lo mismo. • is_long(), is_int(), is_integer() // Todas son lo mismo. • is_string() • is_object() • is_resource() • is_null() • is_scalar() , is_numeric(), is_callable()
Crear Funciones. <?PHP /*Declaración de funciones*/ //sin parámentros function fin() { echo”<br><br>El programa ha finalizado correctamente.<br>”; } //con parámetros function compra($valor_ini, $costo) { $total=$valor_ini+$costo; return $total; } ?>
Estructuras de Control. Así como todos los lenguajes de programación similares a PHP poseen, control condicional, control iterativo, y control secuencial. Php ofrece: If / else Switch For Foreach While Do / While
Ejemplos. <?PHPswitch ($numero) { case 1: echo “Has puesto el uno"; break; case 2: echo “Has puesto el dos"; break; case 3: echo “Has puesto el tres"; break; default: echo "No has puesto ni uno, ni dos, ni tres";} ?> <?PHP $question=true; If($question) { header(“Location: bienvenido.html”); }else{ header(“Location: stop.html”); } ?>
Ejemplos. <?PHP for ( $cont=10 ; $cont>0 ; $cont--) { echo $cont.”<br>”;} If($cont==0) echo ”BOOM !!”; ?> <?PHP $cont=0;do {echo “$cont <br>”;$cont++; }while($cont>=1 && $cont<=100) ?>
Ejemplos. lunes martes miercoles jueves viernes sabado domingo <?PHP /*Creación del arreglo $SEMANA*/$semana=array("lunes","martes","miércoles","jueves","viernes","sábado","domingo"); /*Recorre todo el arreglo y es la variable $DIA la que va tomando los valores del mismo*/ foreach ($semana as $dia) { echo $dia “<br>”; } ?>
Concatena - Imprimep/p. <?PHP /*Declaración de variables*/ $nombre=“Josh”; $apellido=“Kalis”; $edad=27; $total_compra=0; echo “En el ejemplo: <br>”; echo “Cliente:”; echo $nombre.$apellido<br>; echo $apellido.”,”.$nombre.” - ”; echo “Edad: ”.$edad<br><br>; //hace una compra de $1000 .. $total=compra($total_compra,1000); echo “Compró un total de: $”.$total; fin(); ?> En el ejemplo: Cliente:JoshKalis Kalis,Josh – Edad: 27 Compró un total de: $1000 El programa ha finalizado correctamente.
Paso de Variables. Manda.php <?PHP <formmethod="post" id=form1 action=“recibe.php” name=form1> <input type="text" name="nombre”> /*Campo*/ <type=”submit” value=”Botón”> /*Botón*/ </form> ?> Recibe.php <?PHP $nom_cl = $_POST[“nombre”]; /*Recibe lo escrito en el campo nombre del formulario y se lo asigna a la variable $nom_cl*/ ?>
Variables Especiales. <?PHP $var= ”Algún valor pasadoporreferencia.”; setcookie("TestCookie", $var); ?> <?PHP Echo $_COOKIE[“TestCookie”]; ?> Las variables Cookies se almacenan en el equipo. El browser debe tener “las cookies activadas”. <?PHP session_start(); $rut_emp=98765432; $_SESSION[‘rut']=$rut_emp; ?> <?PHP session_start(); Echo S_SESSION[“rut”]; ?> Las variables Session son variables temporales. Existen mientras esté abierta la sessión, luego desaparecen.
Conexión a la BD. <?PHP $conn=pg_connect("host='afrodita.inf.ucv.cl' dbname='inf340' user='inf34022‘ password=‘12345' "); //$res=pg_query(“consulta_sql”); /*Realiza consulta sql*/ //pg_num_rows($res); /*Devuelve el número de filas*/ //$arreglo_res=pg_fetch_row($res); /*Asigna el valor de las filas*/ pg_close($conn); ?>
Ejercicio - PHP • SOLO USANDO PHP.. • Crear un INDEX.PHP donde hayan 3 campos de texto como se detalla en la figura. • Crear un VERIFICA.PHP donde reciba las variables ingresadas en Index.php : • Si el rut ingresado es mayor o igual a 17000000. Desplegar mensaje ‘Sin autorización para entrar al sistema’. • En caso contrario desplegar mensaje de bienvenida MOSTRANDO EL RUT INGRESADO. Si el digito verificador corresponde a ‘1’ desplegar mensaje con formato ‘xxxxxxxx-uno’. De similar manera para todas las posibilidades de ingreso.