PHP AVANZADO
COOKIES
setCookie(“nombrecookie”,valorcookie,expiración); ->Si valor es false se elimina la cookie
->Valor nunca puede ser un valor binario. Excepto usando:
Serialize(valorcookiebinario);
SESIONES
Crear sesión
<?php>
Sesión_start();
$SESSION[“nombre”]=”Jorge”;
?>
<?php>
Sesión_start();
?>
<body>
<?= “Hola”. $SESSION[“nombre”]=” ?>
</body>
Eliminar sesión
Unset($_SESSION);
Sesión_destroy();
BASES DATOS
1. MySQL es la versión antigua e historica que se da para conectar a la base de datos, en
cambio MySQLi es la nueva versión de la anterior dicha MySQL , orientada a objetos (POO).
2. Si se debe utilizar para un mayor rendimiento, se recomienda MySQLi puesto a que tiene mayor
opciones de optimizar la velocidad.
WINDOWS
CARPETAS
La carpeta donde guardar en Windows con XAMPP los archivos html y php será en :
C:\xampp\htdocs->Ej: c:\xampp\htdocs\maite\ej1.php
USUARIOS
1º Cambio contraseñaen SQL con PHPMYADMIN
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';->versiones nuevas Base Datos
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');->versiones antiguas Base Datos(*)
2ºFichero config.inc.php en XAMPP
Cambiar ‘config’ por ‘cookie’;
ESTABLECER CONEXIÓN /CERRAR CONEXIÓN
CON BASE DATOS YA CREADA CON PHPMYADMIN
Forma1:
$mysqli=new mysqli(“servidor”,”usuario”,”contraseña”);->CONEXIÓN
$mysqli->select_db(“base datos”); //ME CONECTO A ESTA BASE DATOS
$mysqli->close(); ->CERRAR
Forma2:
$mysqli=new mysqli(“servidor”,”usuario”,”contraseña”,”base datos”,[puerto]);->CONEXIÓN
$mysqli->close(); ->CERRAR
CON BASE DATOS NO CREADA .USANDO PHP
1º Creo Base Datos
$link=new mysqli(“servidor”,”usuario”,”contraseña”);->CONEXIÓN
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
$sql = 'CREATE DATABASE nombrebd';
if (mysqli_query($link,$sql)) { // HACER DDL A LA BASE DATOS
echo "La base de datos nombrebd se creó correctamente\n";
else die('No pudo crear base datos: ' . mysql_error());
2º Creo Tabla
$link->select_db(“nombrebd”); //ME CONECTO A ESTA BASE DATOS
$sql = 'CREATE TABLE nombretabla (campo1 tipo,campo2 tipo)’;
If (mysqli_query($link,$sql)){ // HACER DDL A LA BASE DATOS
echo "La tabla nombretabla se creó correctamente\n";
else die('No pudo crear tabla: ' . mysql_error());
3º Inserto datos
HACER DML A LA BASE DATOS
Forma1: Mostrar datos directos con echo
Probar:1) con base datos creada con phpmyadmin, 2)base datos creada con php
$link=new mysqli(“servidor”,”usuario”,”contraseña”,”base datos”,[puerto]);->CONEXIÓN
If ($link) //SI LA CONEXIÓN FUE CORRECTA
$sql = ‘select campo1,campo2 from tabla order by campo3’;
$res=mysqli_query($link,$sql); //consulta DML
If ($res)
// mysqli_fetch_assoc :Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
while ($fila = mysqli_fetch_assoc($res)) {
Echo $fila[“campo1”];
Echo $fila[“campo2”];
mysqli_free_result($res);
$mysqli->close(); ->CERRAR
Forma2: Mostrar datos directos con formulario
LINUX
CARPETAS
La carpeta donde guardar en Linux con LAMPP los archivos html y php será en :
/var/www/html->Ej:/var/www/html/ej1.php
Probar con ejercicio básico:
/var/www/html/maite/sudo nano ej1.html
<html>
<body>
<form action=”ej1.php” method=”post”>
<p>Nombre<input type=”text” name=”nombre”/>
<p><input type=”submit”/>
</form>
</body>
</html>
/var/www/html/maite/sudo nano ej1.php
<?php>
echo “hola”.$_POST[“nombre”];
?>
Ejecutar ejercicio
Forma1(forma local):
Instalar lynx: Sudo apt install lynx
Ejecucion: lynx http://localhost/maite/ej1.html
Forma2(con IP):
http://10.62.4.132/maite/ej1.html
CREAR TABLAS CON MYSQL.OPCION1
Sudo mysql -h localhost -u root –p
Mysql>
Mysql>show databases; ->muestra las bases datos hechas
Mysql>CREATE DATABASE bdmaite;->crea la base datos “bdmaite” //Nota:drop database bdmaite->la borra
Mysql>USE bdmaite; ->se conecta a esta base de datos en concreto
Mysql>show tables;->muestra las tablas de esta base de datos
Mysql>créate table tmaite(nombre varcharer(20), edad int)->crea la tabla
Mysql>insert into table tmaite values(‘pedro’,23);
Mysql>insert into table tmaite values(‘juan’,34);
Mysql>select * from tmaite;
Mysql>exit;
CREAR TABLAS CON PHPMYADMIN.OPCION2
ESTABLECER CONEXIÓN /CERRAR CONEXIÓN
CON BASE DATOS YA CREADA O CON PHPMYADMIN O CON MYSQL
Forma1:
$mysqli=new mysqli(“servidor”,”usuario”,”contraseña”);->CONEXIÓN
$mysqli->select_db(“base datos”); //ME CONECTO A ESTA BASE DATOS
$mysqli->close(); ->CERRAR
Forma2:
$mysqli=new mysqli(“servidor”,”usuario”,”contraseña”,”base datos”,[puerto]);->CONEXIÓN
$mysqli->close(); ->CERRAR
CON BASE DATOS NO CREADA .USANDO PHP
1º Creo Base Datos
$link=new mysqli(“servidor”,”usuario”,”contraseña”);->CONEXIÓN
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
$sql = 'CREATE DATABASE nombrebd';
if (mysqli_query($link,$sql)) { // HACER DDL A LA BASE DATOS
echo "La base de datos nombrebd se creó correctamente\n";
else die('No pudo crear base datos: ' . mysql_error());
2º Creo Tabla
$link->select_db(“nombrebd”); //ME CONECTO A ESTA BASE DATOS
$sql = 'CREATE TABLE nombretabla (campo1 tipo,campo2 tipo)’;
If (mysqli_query($link,$sql)){ // HACER DDL A LA BASE DATOS
echo "La tabla nombretabla se creó correctamente\n";
else die('No pudo crear tabla: ' . mysql_error());
3º Inserto datos
HACER DML A LA BASE DATOS
Forma1: Mostrar datos directos con echo
Probar:1) con base datos creada mysql con comandos,2) base datos creada con phpmyadmin, 3)base datos
creada con php
$link=new mysqli(“servidor”,”usuario”,”contraseña”,”base datos”,[puerto]);->CONEXIÓN
If ($link) //SI LA CONEXIÓN FUE CORRECTA
$sql = ‘select campo1,campo2 from tabla order by campo3’;
$res=mysqli_query($link,$sql); //consulta DML
If ($res)
// mysqli_fetch_assoc :Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
while ($fila = mysqli_fetch_assoc($res)) {
Echo $fila[“campo1”];
Echo $fila[“campo2”];
mysqli_free_result($res);
$mysqli->close(); ->CERRAR
Forma2: Mostrar datos directos con formulario