manual php

 

Embed or link this publication

Popular Pages


p. 1

tutorial de php y mysql lucas página 1 de 54 tutorial de php y mysql completo © josé antonio rodríguez 2000 http es.tldp.org/manuales-lucas/manual_php/manual_php 1 instalación de apache+php+mysql instalación en windows instalación en linux/unix o o 5 comenzando con mysql 2 sintaxis en php ooooooooo mi primer script variables y operadores seriables y operadores sentencias de control las tablas las funciones include y require tiempo y fecha las clases en php 6 ooooooo mysql funciones php de acceso a mysql conectar a mysql desde php creación de una base de datos en mysql importar bases de datos desde ms access mostrar los datos de una consulta un buscador para nuestra base de datos operaciones con registros ooooañadir registros modificar registros borrar registros todo a la vez 3 formularios o o los formularios descarga de archivos desde un formulario 7 conexión a mysql con odbc 4 ficheros oooo instalación de mydobc conexión remota a mysql con ms access exportar tablas desde ms access a mysql importar tablas desde mysql a ms access o funciones de acceso a ficheros instalación de apache+php+mysql en windows en este capítulo describiremos el proceso de instalción de la base de datos mysql de un servidor web apache con php en una máquina con sistema operativo windows lo primero que debemos hacer es conseguirnos los programas necesarios y que mejor para ello que diriguirnos a las páginas web o cualquiera de sus mirros de los programas en cuestión cualquiera de sus mirros de los programas en cuestión o o o apache www.apache.org apache_1_3_x_win32.exe mysql www.mysql.com mysql-shareware-3.22.34-win.zip php www.php.net php-3.0.x-win32.zip nota la versión para sistemas windows de mysql no es gratuita por lo que usaremos la versión shareware que está limitada a 30 días la instalación de estos programas es muy fácil php y mysql vienen comprimidos en formato zip y sólo los tenemos que descomprimir en una carpeta mientras que apache es autoejecutable o descomprimimos php en c php3

[close]

p. 2

tutorial de php y mysql lucas página 2 de 54 o descomprimimos mysql en c mysql o hacemos doble click en el fichero de apache y aceptamos el directorio de instalación por defecto c archivos de programas apache group apache ya tenemos instalados los programas ahora sólo nos queda hacer unos pequeños ajuste de configuración apache de configuración apache editamos el fichero de configuración http.conf que se halla en c archivos de programas apache group apache conf buscamos la línea donde pone #servername new.host.name quitamos el comentario y la cambiamos por servername http localhost indicamos el directorio de php scriptalias /php3 c php3 definimos la extención de los script php addtype application/x-httpd-php3 .php3 addtype application/x-httpd-php3 .php addtype application/x-httpd-php3 .phtml y asignamos la aplicación para las extensiones php action application/x-httpd-php3 php3/php.exe por defecto los ficheros que son accesibles desde el navegador se encuentran el la carpeta htdocs del directorio de apache pero la podemos cambiar documentroot c www

[close]

p. 3

tutorial de php y mysql lucas copia el fichero php3.ini en c windows página 3 de 54 ejecución de los programas pues bien ya solo nos queda arrancar los programas c archivos de progrmas apache group apache apache.exe c mysql bin mysqld.exe #para la versión shareware c mysql bin mysqld-shareware.exe también podemos arrancar el servidor apache desde el menú de inicio inicio progrmas apache web server start para comprobar nuestra instalación crea un fichero llamado test.php3 con la siguiente linea php phpinfo colócalo en el directorio de documentos de apache y llámalo desde el navegadentos de apache y llámalo desde el navegador si lo hemos hecho todo bien nos saldrá una página con todas las variables de php nota cabe destacar que lo que hemos echo es una instalación básica por lo que recomendamos leer los manuales de las distintas aplicaciones para obtener más detalles sobre la instalación de éstas instalación de apache+php+mysql en linux/unix en este capítulo describiremos el proceso de instalción de la base de datos mysql de un servidor web apache con php en una máquina con sistema operativo linux o unix lo primero que debemos hacer es conseguirnos los paquetes necesarios y que mejor para ello que diriguirnos a las páginas web o cualquiera de sus mejor para ello que diriguirnos a las páginas web o cualquiera de sus mirros de los programas en cuestión · · · apache www.apache.org o o o apache-1.3.x.tar.gz mysql-3_22_22_tar.gz php-3.0.x.tar-gz mysql www.mysql.com php www.php.net para poder realizar todo el proceso de instalación has de tener acceso como root a la máquin linux lo primero que debemos hacer un directorio de instalación aunque lo normal sería que lo hicieramos en /usr/local /urs/src o bien en /opt como hay que escoger uno yo voy ha escoger el primero /usr/local aunque el proceso sería el mismo si nos declináramos por cualquier otro supongamos que ya nos hemos conseguido los paquetes y los tenemos en el directorio /root/install lo primiero que hacemos es descomprimirlos cd /usr/local tar zxvf /root/install/apache-1.3.x.tar.gz tar zxvf /root/instal/mysql-3.22.x.tar.gz toot/instal/mysql-3.22.x.tar.gz tar zxvf /root/instal/php-3.0.x.tar-gz

[close]

p. 4

tutorial de php y mysql lucas creamos enlaces sencillos blandos a código fuente ln -s /usr/local/apache-1.3.x /usr/local/apache ln -s /usr/local/mysql-3.22.x /usr/local/mysql ln -s /usr/local/php-3.0.x /usr/local/php preparamos la fuentes par al compilación de apache cd /usr/loca/apache configure prefix usr/local/apache compilamos e instalamos mysql cd /usr/local/mysql configure witout-debug prefix usr/local/mysql make make install cp /usr/local/support-files/mysql.server /etc/rc.d/init.d/mysql chmod 755 /etc/rc.d/init.d/mysql creamos la bases del datos del sistema mysql /usr/local/mysql/bin/mysql_install_db arrancamos el servidor mysql /etc/rc.d/init.d/mysql start/etc/rc.d/init.d/mysql start asignamos la password del adminstrador root de mysql /usr/local/mysql/bin/mysqladmin -u root password clave ya hemos terminado con mysql ahora compilaremos php como módulo de apache cd /usr/local/php configure with-mysql usr/local/mysql with-apache usr/local/apache enable-track-vars make make install #cp php3.ini-dist /usr/local/lib/php3.ini compilamos apache cd /usr/local/apache configure prefix usr/local/apache activate-module=src/modules/php3/libphp3.a si hemos compilado php4 utilizaremos activate-module=src/modules/php4/libphp4.a quitar los comentarios para habilitar el módulo de proxy activate-module=src/modules/proxy/libproxy.a proxy modules make make install página 4 de 54 para definir las extenciones de los scripts php hay que añadir las siguientes lineas en el fichero de configuración de apache httpd.conf addtype application/x-httpd-php3 .php3 addtype application/x-httpd-php3 .php addtype application/x-httpd-php3 .phtml ahora ya sólo nos queda arrancar el servidor pero primero copiamos el script de arranque en /etc/rc.d/init.d

[close]

p. 5

tutorial de php y mysql lucas cp /usr/local/apache/bin/apachecte /etc/rc.d/init.d/apache /etc/rc.d/init.d/apache start para comprobar nuestra instalación crea un fichero llamado test.php3 con la siguiente linea php phpinfo página 5 de 54 colócalo en el directorio de documentos de apache y llámalo desde el navegador si lo hemos hecho todo bien nos saldrá una página con todas las variables de php nota cabe destacar que lo que hemos echo es una instalación básica por lo que recomendamos leer los manuales de las distintas aplicaciones para obtener más detalles sobre la instalación de éstas mi primer script una vez que ya tenemos instalados php y mysql y el servidor apache configurado para usarlos podemos comenzar a escribir nuestro primer script en php ejemplo script php

[close]

p. 6

tutorial de php y mysql lucas página 6 de 54 ahora antes de seguir vamos a ver un poco de teoría la sintaxis en php variables como vimos antes todas la variables deben precedidas por signo dólar y le asignamos contenido con el signo igual con las variables php distingue entre mayúsculas y minúsculas por lo que bles php distingue entre mayúsculas y minúsculas por lo que no es lo mismo $myvar que $myvar éstas son dos variables totalmente distintas

[close]

p. 7

tutorial de php y mysql lucas $a $b &ss=codigoenlinea a $b división $a $b resto de la división de $a por $b $a incrementa en 1 a $a $a-resta 1 a $a operadores de cadenas página 7 de 54 el único operador de cadenas que existen es el de concatenación el punto pero no os asustéis php dispone de toda una batería de funciones que os permitirán trabajar cómodamente con las cadenas $a hola $b $a mundo ahora $b contiene hola mundo en este punto hay que hacer una distinción la interpretación que hace php de las simples y dobles comillas en el segundo caso php interpretará el contenido de la cadena $a mundo echo hola $a esto escribirá hola $a echo hola $a esto escribirá hola mundo&q esto escribirá hola mundo operadores de comparación $a $a $a $a $a $a $b $b $b $b $b $b $a $a $a $a $a $a menor que $b mayor que $b menor o igual que $b mayor o igual que $b igual que $b distinto que $b operadores lógicos $a and $a $a or $a $a xor a $b $b $b $b $b verdadero verdadero verdadero verdadero verdadero verdadero si si si si si si ambos son verdadero ambos son verdadero alguno de los dos es verdadero alguno de los dos es verdadero sólo uno de los dos es verdadero $a es falso y recíprocamente operadores de asignación $a $a $a $a $a $a $b $b $b $b $b $b asigna a $a el contenido de $b le suma a $b a $a le resta a $b a $a multiplica $a por $b y lo asigna a $a divide $a por $b y lo asigna a $a añade la cadena $b a la cadena $a sentencias de control las sentencias de control permiten ejecutar bloque de códigos dependiendo de unas condiciones para php el 0 es equivalente a falso y cualquier otro número es verdadero if else la sentencia if else permite ejecutar un bloque de instrucciones si la condición es verdadera y otro bloque de instrucciones si ésta es falsa es importante tener en cuenta q instrucciones si ésta es falsa es importante tener en cuenta que la condición que evaluemos ha de estar encerrada entre paréntesis esto es aplicable a todas la sentencias de control

[close]

p. 8

tutorial de php y mysql lucas if condición este bloque se ejecuta si la condición es verdadera else este boque se ejecuta si la condición es falsa página 8 de 54 existe una forma sencilla de usar la sentencia if cuando no tenemos que usar el else y solo tenenemos que ejecutar una línea de código if a 4 echo a es mayor que 4 if elseif else la sentencia if elseif else permite ejecuta varias condiciones en cascada para este caso veremos un ejemplo en el que utilizaremos los operadores lógicos php if nombre echo tú no tienes nombre elseif nombre eva or nombre eva echo echo tu nombre es eva else echo tu nombre es $nombre switch case default una alternativa a if elseif else es la sentencia switch la cuál evalúa y compara cada expresión de la sentencia case con la expresión que evaluamos si llegamos al final de la lista de case y encuentra una condición verdadera ejecuta el código de bloque que haya en default si encontramos una condición verdadera debemos ejecutar un break para que la sentencia switch no siga buscando en la lista de case veamos un ejemplo php switch dia case lunes echo hoy es lunes break c case martes echo hoy es martes break case miercoles echo hoy es miercoles break case jueves echo hoy es jueves break case viernes echo hoy es viernes break case sábado echo hoy es sábado break case domingo echo hoy es domingo break default default echo esa cadena no corresponde a ningún día de la semana

[close]

p. 9

tutorial de php y mysql lucas página 9 de 54 while la sentencia while ejecuta un bloque de código mientras se cumpla una determinada condición php $num 1 while num 5 echo $num $num podemos romper un bucle while utilizando la sentencia break php $num 1 while num 5 echo $num if num 3 echo aquí nos salimos n break $num do while esta sentencia es similar a while salvo que con esta sentencia primero ejecutamos el bloque de código y después se evalúa la condición por lo que el bloque de código se ejecuta siempre al menos una vez php $num 1 do echo $num if num 3 echo aquí nos salimos n break $num while num 5 for el bucle for no es estrictamente necesario cualquier bucle for puede ser sustituido fácilmente por otro while sin embargo el bucle for resulta muy útil cuando debemos ejecutar un bloque de código a condición de que una variable se encuentre entre un valor mínimo y otro máximo el bucle for también se puede romper mediante la sentencia break php for num 1 snum 5 $num echo $num if num 3 echo aquí nos salimos n break }

[close]

p. 10

tutorial de php y mysql lucas las tablas página 10 de 54 las tablas o array en inglés son muy importantes en php ya que generalmente las funciones que devuelven varios valores como las funciones ligadas a las bases de datos lo hacen en forma de tabla en php disponemos de dos tipos de tablas el primero sería el clásico utilizando índices php $ciudad parís $ciudad parís $ciudad roma $ciudad sevilla $ciudad londres print yo vivo en $ciudad[2 br n esta es una forma de asignar elementos a una tabla pero una forma más formal es utilizando la función array php $ciudad array parís roma sevilla londres contamos el número de elementos de la tabla $numelentos count ciudad imprimimos todos los elementos de la tabla for i=0 $i $numelentos $i print la ciudad $i es $ciudad i

[close]

p. 11

tutorial de php y mysql lucas $visitas array luodigo visitas array lunes 200 martes 186 página 11 de 54 ahora bien recorrer una tabla y mostrar su contenido es sencillo utilizando los índices pero ¿cómo hacerlo en las tablas asociativas la manipulación de las tabas asociativas se a hace través de funciones que actúan sobre un puntero interno que indica la posición por defecto el puntero se situa en el primer elemento añadido en la tabla hasta que es movido por una función current pos reset end next prev count devuelve el valor del elemento que indica el puntero realiza la misma función que current mueve el puntero al primer elemento de la tabla mueve el puntero al último elemento de la tabla mueve el puntero al elemento siquiente mueve el puntero al elemento anterior devuelve el número de elementos de una tabla veamos un ejemplo de las funciones anteriores php $semana array lunes martes miércoles jueves viernes sábado domindo echo count semana 7 situamos el puntero en el primer elemento reset semana echo current semana lunes next semana echo pos semana martes end semana echo pos semana domingo prev semana echo current semana sábado recorrer una tabla con las funciones anteriores se hace un poco lioso para ello se recomienda utilizar la función each php $visitas array lunes 200 martes 186 miércoles 190 jueves 175 reset visitas while list clave $valor each visitas echo el día $clave ha tenido $valor visitas

[close]

p. 12

tutorial de php y mysql lucas $cadena $varlor[1 $cadena es el mes número $valor[0 $cadena y tiene $varlor[2 días

[close]

p. 13

tutorial de php y mysql lucas if x $y $msg $x es mayor que y else $msg $y es mayor que x return $msg página 13 de 54 con la instrución return puede devolverse cualquier tipo de valor incluyendo tablas y objetos php solo permite a las funciones devolver un valor y para solventar este pequeño problema si queremos que nuestra función devuelva varios tenemos que utilizar una tabla array parámetros de las funciones existen dos formas de pasar los parámetros a una función por valor o por referencia cuando pasamos una variable por valor a una funcion ocurra lo que ocurra en ésta en nada modificará el contenido de la variable mientras que si lo hacemos por referencia cualquier cambio acontecido en la función sobre la variable lo hará para siempre e variable lo hará para siempre en php por defecto las variables se pasan por valor para hacerlo por referencia debemos anteponer un ampersand a la variable php function suma x $y $x $x 1 return $x y $a 1 $b 2 parámetros por valor echo suma a $b imprimirá 4 echo $a imprimirá 1 parámetros por referencia echo suma a $b imprimirá 4 echo $a imprimirá 2 si queremos que un parámetro de una función se pase siempre por referencia debemos anteponer un ampersand al nombre del parámetro en la definición de la función en php podemos definir valores por defecto para los parámetro de una función estos valores tienen que ser una expresión constante y no una variable o miembro de una clase además cuando usamos parámetros por defectos éstos deben estar a la derecha de cualquier parámetro sin valor por defecto de otra forma php nos devolverá un error php function suma x=1 $y $x $x 1 return $x y

[close]

p. 14

tutorial de php y mysql lucas página 14 de 54 si ejecutarmos esta función nos daría error ya que hemos dado a $x el valor 1 por defecto y la hemos colocado a la izquierda de un parámetro que no tiene valor por defecto la forma correcta es php php function suma y $x=1 $x $x 1 return $x y cabe destacar que php3 no soporta un número variables de parámetros pero php4 sí llegados a este punto damos un paso atrás y volvemos a las variables para distinguir entre variables estáticas static y globales global las variables estáticas se definen dentro de una función la primera vez que es llamada dicha función la variable se inicializa guardando su valor para posteriores llamadas php function contador static $count 0 $count $count 1 return $count echo contador br imprimirá 1 echo contador br imprimirá 2 echo contador br imprimirá 3 las variables globales no se pueden declarar dentro de una función lo que hacemos el llamar a una variable que ya ha sido declarada tomando el valor que tenga en ese momento pudiendo se modificado en la función php var $a 1 function ver_a global $a echo $a br imprimirá el valor de $a $a 1 sumamos 1 a echo ver_a imprimirá echo ver_a imprimirá $a 7 echo ver_a imprimirá echo ver_a imprimirá $a 1 2 7 8 funciones variable php soporta el concepto de funciones variables esto es significa que si una variable tiene unos parentesis añadidos al final php buscará un función con el mismo nombre que el contenido de la variable e intentará ejecutarla php function imprime texto echo $texto n function imprimenegrilla texto echo b texto b n }

[close]

p. 15

tutorial de php y mysql lucas $mifunc imprime $mifunc hola imprimirá hola $mifunc imprimenegrilla $mifunc hola imprimirá hola recursión php t>recursión página 15 de 54 php también permite la recursión es decir una función se puede llamar así misma para aclarar el concepto de recursión vamos a crear una función que comprueba si un número es entero o no un número que no sea entero 7 4 tiene una parte entera y otra decimal comprendida entre 0 y 1 lo que vamos a hacer para comprobar si un número es entero o no será restarle 1 al número en cuestión hasta que nos que demos sin parte entera y entoces comprobaremos si tiene parte decimal un poco lioso todo ésto php function esentero numero if numero 1 return esentero numero -1 elseif numero 0 como los núm son simétricos chequeamos lo convertimos a positvo return esentero 1 $numero -1 elseif numero 0 and numero 1 return no else el cero es entero por definición return si fin function echo echo echo echo cómo ahorrarnos líneas de código en las lecciones anteriores hemos aprendido el uso básico de las funciones de php para trabajar con mysql en esta lección y sucesivas vamos a ver nuevas funciones que nos facilitan y potencian nuestras páginas web por lo general todos nuestros script tienen partes de código iguales las funciónes include y require nos van ahorrar muchas de estas lineas de código ambas funciones hacen una llamada a un determinado fichero pero de dos maneras diferentes con include insertamos lo que contenga el fichero que llamemos de manera literal en nuestro script mientras que con require le decimos que el script necesitará parte de código de se encuentra en el fichero que llama require como todo esto es un poco lioso veamos unos ejemplos que nos lo aclará php include header.inc echo hola mundo include footer.inc si tenemos encuenta que el fichero header.inc contiene

[close]

Comments

no comments yet