Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

PHP

No description
by

Mario Peñate Fariñas

on 17 April 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of PHP

PHP
FTSI
¿Qué es PHP?
PHP es un lenguaje de programación multiplataforma de uso general del
lado del

servidor
. Normalmente se usa para el desarrollo web con contenido dinámico.

Fue creado por
Rasmus Lerdorf
y es uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento
HTML
.
Fin
Hecho por :

Mario Peñate Fariñas

Edgar Adrian
Muchas gracias!
¿Qué es PHP?
El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página web.

Se considera uno de los lenguajes más flexibles, potentes y de alto rendimiento conocidos hasta el día de hoy.

PHP está desarrollado con una política de código abierto. Actualmente se encuentra en su versión 5 y utiliza el motor de procesamiento
Zend
.
¿Cómo funciona PHP?
¿Qué son los scripts del lado del servidor?
Es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar páginas HTML dinámicamente como respuesta.
¿Qué es el motor Zend?
Es un motor de procesamiento para la interpretación y cifrado del código PHP.

Fue desarollado por
Zend Technologies
con el proposito de brindar un equipo de soporte y acelerar la carga de aplicaciones realizadas con PHP.
¿Qué necesitamos para programar en PHP?
Un editor de texto
Un servidor
Base de Datos (opcional)
Instalación en Centos
yum install httpd (apache)
yum install php
yum install mysql (cliente)
yum install mysql-devel
yum install mysql-server

mysqladmin -u root password tu-password
Instalación en Centos (opcional)
rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm

yum check-update
yum install phpMyAdmin
C
onfigurar los proyectos
cd /var/www
mkdir ftsi y creamos todos los arhivos en la carpeta ftsi

nano /etc/httpd/conf/httpd.conf

buscamos donde pone
DocumentRoot
y le ponemos
"/var/www"

Iniciar los servicios y detener servicios
service httpd start
service mysqld start

service httpd stop
service mysqld stop
Lenguaje PHP
Imprimir texto:

<?php

echo "Hola Mundo";
echo 'Hola Mundo';
echo "Hola " . "Mundo";

?>
Variables
Simples
Compuestas
Especiales
Predefinidas
Variables Simples
boolean
= true, false
integer
= números enteros
double
= números en coma flotante
string
= array de carácteres

ejemplos:

$flag = true;
$num = 12;
$pi = 3.14159265359;
$frase = "Hola Mundo";
Variables Compuestas
array:

$vector1= ["1","Mundo"];
$vector2 = array("1","Mundo");
$mat = [[1,2],3];
$asoaciativo = ["Nombre" => "FTSI", "Curso" => 3];


echo $vector1[1];
echo $mat[0][1];
echo $asociativo["Nombre"];
Variables Compuestas
object:
class Persona {
private $nombre, $edad;
public function __construct($nombre, $edad) {
$this->nombre = $nombre;
$this->edad = $edad;
}
public function getNombre() {return $this->nombre;}
public function getEdad() {return $this->edad;}
}

$ftsi = new Persona("FTSI",3);

echo $ftsi->getNombre();
Variables Especiales
NULL:

$nada = null;

resource:
son referencias a recursos externos (por ejemplo, a una conexión a una base de datos)

msql_connect()
msql_close()

http://php.net/manual/es/resource.php
Variables Predefinidas
Son variables superglobales, es decir están definidas en todos los ámbitos.

$GLOBALS
$_SERVER,
$_GET
$_POST
$_REQUEST
$_SESSION
$_COOKIE
Constantes
define('ITSI',3);
define('ABC','LOL');

echo ITSI;
echo ABC;
Operadores
aritméticos: + , -, *, /, %, **

asignación: =, +=, -=, *=, /=, %=

comparación: ==, ===, !=, !==, >, <, >=, <=

pre-incremento: ++$x, --$x

pos-incremento: $x++, $x--

lógicos: &&, ||, !
Estructura Condicional
if(condición) {
}
else {
}

switch ($x) {
case 'valor':
break;

default:
break;
}

Bucles
for ($i=0; $i < 10; $i++) {
}

$colores = array("rojo", "azul", "verde");

foreach ($colores as $valor) {
echo "$valor <br>";
}

while ($i++ <= 10) {
}

$i = 0;

do {
echo "$colores[$i] <br>";
$i++;
} while ($i < count($colores));
Funciones
function hola() {
echo "Hola Mundo <br>";
}

function saludar($nombre) {
return "Hola $nombre <br>";
}

hola();
echo saludar("FTSI");
Generar urls dinámicas
$nombre = "FTSI";
$curso = 3;

echo "<a href='formulario.php?nombre=$nombre&curso=$curso'>enviar</a>";
Formulario GET
<form action="formulario.php" method="GET">
<input type="text" name="f_usuario" placeholder="usuario" required />
<input type="password" name="f_pwd" placeholder="contraseña" required />
<input type="submit" value="login" name="submit" />
</form>

if(isset($_GET['submit'])) {
$usuario = $_GET['f_usuario'];
$contraseña = $_GET['f_pwd'];

echo "$usuario <br> $contraseña";
}
Formulario POST
<form action="formulario.php" method="POST">
<input type="text" name="f_usuario" placeholder="usuario" required />
<input type="password" name="f_pwd" placeholder="contraseña" required />
<input type="submit" value="login" name="submit" />
</form>

if(isset($_POST['submit'])) {
$usuario = $_POST['f_usuario'];
$contraseña = $_POST['f_pwd'];

echo "$usuario <br> $contraseña";
}
Ataques XSS
XSS, del inglés Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera parte inyectar en páginas web vistas por el usuario código JavaScript o en otro lenguaje script similar (ej: VBScript), evitando medidas de control como la Política del mismo origen. Este tipo de vulnerabilidad se conoce en español con el nombre de Secuencias de comandos en sitios cruzados.

if(isset($_POST['submit'])) {
$usuario = strip_tags($_POST['f_usuario']);
$contraseña = strip_tags($_POST['f_pwd']);

echo "$usuario <br> $contraseña";
}
Encriptación de las url
$nombre = base64_encode("FTSI");
$pwd = base64_encode("123");

echo "<a href='formulario.php?f_usuario=$nombre&f_pwd=$pwd'>enviar</a>";
Ficheros
$lectura = fopen("./leer.txt","r");
$escritura = fopen("./escribir.txt","w");

while (!feof($lectura)) {
fwrite($escritura,
fgets($lectura)
);
}

fclose($lectura);
fclose($escritura);
Include vs Required
Ambos sirven para incluir archivos, la diferencia esta en que cuando el include no encuentra un archivo sigue la ejecución del programa mientras que con el require se para.

include('borrar.php1');
echo "Hola";





required('borrar.php1');
echo "Hola";
$_SESSION
Cuando trabajamos sin sesiones el servidor web no sabe quién eres o lo que haces. Las sesiones resuelven este problema mediante el almacenamiento de la información del usuario, por defecto las variables de sesión duran hasta que el usuario cierra el navegador.

// cargamos todas sesiones
session_start();

// creamos una sesion
$_SESSION['usuario'] = "FTSI";

if(isset($_SESSION['usuario']) && $_SESSION['usuario'] === "FTSI") {
echo "Bienvenido ". $_SESSION['usuario'];
}

// eliminar la sesion
unset($_SESSION['usuario']);
session_destroy();
$_COOKIE
Una cookie se utiliza a menudo para identificar a un usuario, es un pequeño archivo que el servidor le incrusta en el ordenador del usuario. Cada vez que el mismo equipo solicita una página con un navegador, se enviará la cookie también. Con PHP se puede tanto crear y recuperar valores de las cookies.

$nombre = "FTSI";
$valor = "3";

// nombre valor expira path
setcookie($nombre, $valor, time() + 3600, "/"); // 1h

if(isset($_COOKIE['FTSI'])) {
echo "Cookie " . $_COOKIE['FTSI'];
}
Excepciones
function dividir($a, $b) {
if($b == 0) throw new Exception("Error división por 0");
echo $a / $b;
}

try {
dividir(10,0);
}
catch(Exception $exception) {
echo $exception->getMessage();
}
PHP MYSQL
$db = ["host" => "localhost", "usuario" => "root", "pwd" => ""];

$enlace = mysql_connect($db["host"],$db["usuario"],$db["pwd"]) or die("error al conectarse a la db");
mysql_select_db("ftsi");

$query = mysql_query("SELECT * FROM usuario");

echo "<table border='1' style='border-collapse:collapse'>";
echo " <tr>";
echo " <td>Nombre</td>";
echo " <td>Correo</td>";
echo " <td>Contraseña</td>";
echo " </tr>";

while( $valor = mysql_fetch_array($query) ) {
echo "<tr>";
echo " <td>". $valor['nombre'] ."</td>";
echo " <td>". $valor['correo'] ."</td>";
echo " <td>". $valor['pwd'] ."</td>";
echo "</tr>";
}

echo "</table>";

mysql_close($enlace);
PDO (PHP DATA OBJECT)
PDO
connect_db.php
<?php
try {
$db = new PDO('mysql:host=localhost;dbname=ftsi', 'root', '');
}
catch(PDOException $exception) {
die('no se ha podido conectar con la base de datos ...');
}
?>

index.php
<?php
require 'connect_db.php';

$query = $db->query('SELECT * FROM usuario');

echo "<table border='1' style='border-collapse:collapse'>";
echo " <tr>";
echo " <th>Correo</th>";
echo " <th>Contraseña</th>";
echo " </tr>";
while ($row = $query->fetch()) {
echo "<tr>";
echo " <td>".$row['correo']."</td>";
echo " <td>".$row['pwd']."</td>";
echo "</tr>";
}
echo "</table>";
$db = null;
?>
Es una extensión de PHP que define una API ligera de acceso a bases de datos.
Full transcript