Hola a Todos, Aki les enseñare lo basico de Php. Segun algunos, el mejor lenguaje de creacion de webs, y para mi tambien, jeje:D... Bueno, empezemos:
I. Introduccion:
PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por Rasmus Lerdorf como un CGI escrito en C que permitía la interpretación de un número limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas. Dada la aceptación del primer PHP y de manera adicional, su creador diceñó un sistema para procesar formularios al que le atribuyó el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI.
Php es un lenguaje que se ejecuta en el servidor, osea primero escribes la direccion que tenga php, luego el navegador va al server, ve que la pagina es PHP, la transforma a HTML, y devuelve un resultado HTML a el navegador, aki veremos una imagen sobre lo dicho:
(Webestilo.Com)
II. 1- Lo Basico
Para poder agregar algo de PHP en nuestra pagina, debemos abrir el codigo php kon un tag y un interrogante (<?), y para cerrarlo primero el interrogante y despues el tag (?>).No falta decir que hay 4 formas de iniciar un php:
- <?php echo ('Primera forma'); ?>
- <? echo ('Segunda Forma'); ?>
- <script language="php"> echo ('Tercera Forma'); </script>
- <% echo ('Forma Tipo ASP') %>
Aki les mostrare un ejemplo de komo escribir algo en una pagina html:
<html>
<head>
<title>Mi Primera Pagina Php</title>
...
</head>
<body>
Aki escribiriamos nuestra pagina html
<!-- Aki parte la sentencia PHP -->
<?php echo "Hola a Todos, Este es mi primer Codigo PHP"; ?>
</body>
</html>
Al terminar una sentencia PHP, SIEMPRE, devemos escribir un punto coma ( ; ), exepto kuando el codigo tiene una sola linea, por ejemplo:
<?php echo "Hola" ; ?>
<?php echo "Hola" ?>
Estos 2 estarian bien, pero si escribimos:
<?php
$a = Hola
$b = Mundo
echo "$a + $b"
?>
Estaria mal, ya que no pusimos los punto coma ( ; )
1.1- Comentarios para PHP
Los comentarios en php son parecidos (mas bien los mismos) que se okupan en C, C++ y en las Shells de Unix. Aki veremos Ejemplos:
<?php
echo "Para poner comentarios" // Asi se pone un comentario de una linea
?>
<?php
echo "Para poner comentarios de mas de una linea"
/*
Aki estoi poniendo
Comentarios de mas de una linea
en PHP
*/
?>
<?php
echo "Mas y Mas Comentarios" #Comentario tipo Shell de Unix
?>
1.2- Includes y Requires
Muchos de ustedes deben de haber visto alguna vez el "include", o el require, y pues bueno, aqui les enseñare a usarlos:
Include():
Este sirve para Incluir un archivo, tal como su nombre lo dice. Por ejemplo siesque queremos que nuestra pagina tenga un contador de visitas, pero el contador de visitas es un archivo aparte, escribiriamos dentro del archivo esto:
<html>
<head>
<title>Includes...</title>
</head>
<body>
<?php
include ('contador_visitas.php');
?>
Aqui el contenido de la pagina
</body>
</html>
Require():
Sirve para decirle al archivo que Requiere de algo, por ejemplo cuando un usuario entra sus datos, y los guardamos en un archivo aparte, debemos decirle al archivo que requiere de ese archivo para escribir sus datos, entonces ponemos:
tunombre.php
<?php
$nombre = $_GET ['nombre'];
$apellido = $_GET ['apellido'];
$pais = $_GET ['pais'];
$telefono = $_GET ['telefono'];
?>
procesa.php
<html>
<head>
<title>Requires</title>
</head>
<body>
<?php
require (tunombre.php');
echo "Tu te llamas $nombre $apellido , Vives en $pais, y tu telefono es $telefono." ;
?>
</body>
</html>
Otra cosa importante sobre los includes y requires, esque cuando no queramos que salga un error cuando la pagina no se encuentra, debemos poner una @ (Arroba) antes del include o el require, Ejemplo:
<?php
@include ('pagina.php') ;
?>
III- 1. Variables
Aquii entraremos a lo esencial de todos los lenguajes, las Variables. En una variable uno puede guardar algo, despues sumarlo, restarlo, ver si es igual a otra variable o otra cosa, etc... Las variables deben tener un signo de plata al principio, SIEMPRE ($variable)
Aqui veremos un ejemplo:
<?php
$a = Hola; // Le asignamos el valor Hola a la variable A
$b = Mundo; // Le asignamos el valor Mundo a la variable B
$c = $a + $b; // Le asignamos el valor de A y B a la variable C
echo " $c " ; // Esto imprimiria "Hola Mundo"
?>
Otra cosa muy importante, es que las variables son sencibles a Mayusculas y Minusculas, osea que si escribimos lo siguiente:
<?php
$uno = Hola;
$Uno = Mundo;
echo "$uno $Uno";
?>
Nos daria Hola mundo.
III- 1.1 Cadenas
El unico operador de cadenas que existe, es el punto. Ejemplo:
<?php
$a = Hola ;
$b = $a . "Mundo" ; //Esto tiene Hola Mundo
?>
Aki hay que aklarar una cosa, es distinto hacer una cadena kon comilla simple, y una con comilla doble, por ejemplo, si escribimos esto:
<?php
$a = Mundo ;
echo 'Hola $a'; //Escribiriamos Hola $a
echo "Hola $a"; //Esto si escribira Hola Mundo
III- 1.2 Caracteres Protegidos
Al igual que en otros lenguajes, la barra invertida, slash, o komo lo llamen ( \ ), se usa para okupar los karakteres protegidos:
\n Esto crearia otra linea
\r Retorno
\t Tabulacion
\\ Barra Invertida
\$ Signo de Plata
\" Comillas dobles
IIII- 1.1- Operadores de Comparacion
$a < $b $a es menor que $b
$a > $b $a es mayor que $b
$a <= $b $a es menor o igual a $b
$a >= $b $a es mayor o igual a $b
$a == $b $a es igual a $b
$a != $b $a es distinto a $b
1.2 Operadores Logicos
$a AND $b Verdadero si los 2 son verdaderos
$a && $b Verdadero si los 2 son verdaderos
$a !! $b Verdadero si alguno de los 2 es verdadero
$a OR $b Verdadero si alguno de los 2 es verdadero
$a XOR $b Verdadero si solo uno es verdadero
!$a Verdadero si $a es falso
1.3 Operadores de Asignacion
$a = $b Asigna $a a $b
$a += $b Le suma $a a $b
$a -= $b Le resta $a a $b
$a *= $b Multiplica $a por $b y el resultado va para $a
$a /= $b Divide $a por $b y el resultado va para $a
$a .= $b Añade $a a $b
IV. 1- Sentencias de Control
Con esto podremos ver si algo es verdadero o falso, y depende del resultado hacer algo:
If, Else
Con esto podemos ejecutar un codigo si algo es verdadero, y si es falso ejecutar otro codigo, por ejemplo:
<?php
$a = 3 ;
if ($a == 3) { // si $a es igual a 3
echo "La Variable A es igual a 3";
}
else {
echo "La variable A no es igual a 3";
}
?>
If, Elseif, Else
Este es parecido a If, Else, solo que en este podemos hacer varios Ifs con Elseif:
<?php
$a = 8 ;
if ($a == 1) {
echo "A es igual a 1";
}
elseif ($a == 2) {
echo "A es igual a 2";
}
else {
echo "A no es igual ni a 1 ni a 2";
}
?>
Switch, Case, Default
Este evalua y compara cada una de las expresiones de la sentencia case con la exprecion que evaluamos, si llegamos al final de la lista y no encuentra una condicion verdadera, ejecuta el codigo que hay en default, pero si encuentra una condicion que sea verdadera, la ejecuta y okupa break para que no siga ejecutandose el codigo:
<?php
switch ($mes) {
case "Enero":
echo "Estamos en el mes de Enero";
break;
case "Febrero":
echo "Estamos en el mes de Febrero";
break;
case "Marzo":
echo "Estamos en el mes de Marzo";
break;
case "Abril":
echo "Estamos en el mes de Abril";
break;
case "Mayo":
echo "Estamos en el mes de Mayo, Es mi cumpleaños!! ";
break;
case "Junio":
echo "Estamos en el mes de Junio";
break;
case "Julio":
echo "Estamos en el mes de Julio";
break;
case "Agosto":
echo "Estamos en el mes de Agosto";
break;
case "Septiembre":
echo "Estamos en el mes de Septiembre";
break;
case "Octubre":
echo "Estamos en el mes de Octubre";
break;
case "Noviembre":
echo "Estamos en el mes de Noviembre";
break;
case "Diciembre":
echo "Estamos en el mes de Diciembre, El ultimo mes del año!";
break;
default:
echo "Pos que raro, no estamos en ningun mes xD";
}
?>
While
Esta sentencia ejecuta un codigo mientras una condicion se este cumpliendo (while, en castellano es MIENTRAS... ). Ejemplo:
<?php
$num = 1;
while ($num < 5) {
echo " $num ";
$num++
}
?>
Al igual que en Switch, aki tambien podemos parar el codigo kon break:
<?php
$num = 1;
while ($num < 5) {
echo " $num ";
if ($num == 3) {
echo "Aki paramos";
break;
}
$num++
}
?>
V- Variables y Formularios, Un exelente ekipo xD
Sieske sabemos trabajar kon variables y formularios, podriamos hacer kasi kualkier kosa (bueno, estoi exagerando jejeje)... por ejemplo, podriamos hacer un recomendador de webs, un programilla que adivine "las posibilidades de amor" (yo ise uno xDDD http://www.elextremo.cl/adi/adivina.htm), Algo que pregunte el nombre de una persona y lo escriba, etc...
Lo que tenemos que hacer es hacer un formularion dentro de una web html (<form action="pagina_que_procese.php" method=get/post>)
Primero preguntamos que nombre tiene, kon un input de text (aki ya entramos a html... xD si no sabes que es un input o un form, etc, en este mismo subforo hay tutoriales de html...ve hay!!:D) y despues, en la pagina que procese, recuperamos los datos, con $_GET, aqui les explicaré como, con un ejemplo:
nombre.htm
<html>
<head>
<title>Como te llamas?</title>
</head>
<body>
Como te llamas?
<form action="nombre.php" method="get">
<input type="text" size="30" name="tunombre">
<!-- name=tunombre es muy importante, ya que esa sera la variable que tomaremos en la pagina procesadora -->
<input type="submit" value="Enviar">
</form>
</body>
</html>
nombre.php
<?php
$tunombre = $_GET ['tunombre'];
/*
Con este codigo recuperamos los datos de
nombre.htm y los guardamos en $tunombre
*/
echo "Tu te llamas $tunombre";
?>
Este era un ejemplo kon un input text, aora veamos uno con un input checkbox:
que.htm
<html>
<head>
<title>que haras Hoydia?</title>
</head>
<body>
Que haras Hoy Dia?
<form action="que.php" method="get">
Ire al cine<input type="checkbox" name="check1">
Ire al Colegio<input type="checkbox" name="check2">
Jugare Futbol<input type="checkbox" name="check3">
Dormire todo el dia <input type="checkbox" name="check4">
<input type="submit" value="Enviar">
</form>
</body>
</html>
que.php
<?php
$check1 = $_GET ['check1'];
$check2 = $_GET ['check2'];
$check3 = $_GET ['check3'];
$check4 = $_GET ['check4'];
if (isset ($check1))
echo "$chek1<br><br>";
if (isset ($check2))
echo "$chek2<br><br>";
if (isset ($check3))
echo "$chek3<br><br>";
if (isset ($check4))
echo "$chek4<br><br>";
?>
Como pueden ver, Para ver si esta marcado el checkbox, utilizo el "Isset" (en castellano, esta puesto), por lo que seria "si esta puesto el check 1, etc...."
Despues pondre mas ejemplos.
VI- Almacenamiento y Envio de Datos
Aki veremos el uso de fopen, fread y fwrite, y como enviar mails.
fopen
Abre un archivo o Url
Descripcion: int fopen (string filename, string mode [, int use_include_path])
Si filename empieza con http//:, se abre una conexion HTTP 1.0 hacia el servidor dado y debuelkve un apuntador al archivo al comienzo del texto de respuesta.
Siempre se deve incluir una barra final.
Si filename empieza con ftp:// se abre una conexion ftp acia el servidor dado y se devuelve el aputandor del archivo rekerido
Si filename no empieza con lo dado anteriormente, el archivo se abre de los archivos que se encuentran en el servidor.
Mode, puede ser cualkiero de lo siguiente:
"r" - Abre el archivo solo para lectura
"r+" - Abre el archivo para lectura y escritura
"w" - Abre el archivo solo para escritura, si el archivo no existe, trata de crearlo.
"w+" - Aber el archivo para lectura y escritura, si el archivo no existe, trata de crearlo.
"a" - Abre el archivo solo para escribir (añadir), si el archivo no existe, trata de crearlo.
"a+" - Abre el archivo para escribir (añadir) y para lectura. Si el archivo no existe, trata de crearlo.
fwrite
Escribe en modo Binario
Descripcion: int fwrite (int fp, string string [, int length])
fwrite() escribe el contenido de string al fichero apuntado por fp. Si se da el argumento length, la escritura acaba antes de que length bytes sean escritos o se alcance el final de string, lo que pase primero.
fread
Lee archivos en modo Binario
Descripcion: string fread (int fp, int length)
fread() lee hasta length bytes del apuntador del fichero referenciado por fp. La lectura acaba cuando length bytes se han leido o se alcansa EOF, lo que pase primero.
Bueno, sabiendo esto ya podriamos krear un contador... Aki les dejo uno
<?
$archivo = "contador.txt";
$abre = fopen($archivo, "r");
$total = fread($abre, filesize($archivo));
fclose($abre);
$abre = fopen($archivo, "w");
$total = $total + 1;
$grabar = fwrite($abre, $total);
fclose($abre);
echo "<font face='verdana' size='2'>Hemos tenido <b>".$total."</b> visitas desde FECHA DE CREACION</font>";
?>
VI- Envio de mails
Esta es una funcion muy fácil, y el codigo "mail" hace casi todo por nosotros... aqui va
mail (destinario, tema, mensaje, remitente);
Asi de simple, Aqui un ejemplo:
email.htm
<html>
<head>
<title>Manda un Mail</title>
</head>
<body>
<form action=email.php method=get>
Introduce tu direccion: <input type=text size=20 name=direccion><br>
Introduce el mensaje:<br>
<textarea rows=5 name=mensaje><br>
Introduce el Email de destino: <input type=text size=20 name=destino>
</form>
</body>
</html>
email.php
<?php
//recojemos los datos
$direccion = $_GET ['direccion'];
$mensaje = $_GET ['mensaje'];
$destino = $_GET ['destino'];
//Enviamos el mail
mail ($destino, "Hola!", $mensaje, "FROM: $direccion");
//Le decimos al user que su mail ha sido enviado con exito
echo "Tu mensaje ha sido enviado con exito ha: $destino !!";
?>
Bueno, Hasta aki llega el manual por hoy, de vez en cuando le ire agregando cosas de utilidad, espero que les haya gustado mi primer manual y que hayan kedado sabiendo php!! xD...
Salu2...