miércoles, 28 de noviembre de 2007

MySql fecha

DATE_FORMAT()

DATE_FORMAT(fecha,formato)

Formatea el valor de fecha de acuerdo con la cadena de formato. Se pueden usar los siguientes especificadores para la cadena de formato:
Especificador Descripción
%M Nombre del mes (January..December)
%W Nombre de día (Sunday..Saturday)
%D Día del mes con sufijo en inglés (0th, 1st, 2nd, 3rd, etc.)
%Y Año, numérico con 4 dígitos
%y Año, numérico con 2 dígitos
%X Año para la semana donde el domingo es el primer día de la semana, numérico de 4 dígitos; usado junto con %V
%x Año para la semana donde el lunes es el primer día de la semana, numérico de 4 dígitos; usado junto con %v
%a Nombre de día de semana abreviado (Sun..Sat)
%d Día del mes, numérico (00..31)
%e Día del mes, numérico (0..31)
%m Mes, numérico (00..12)
%c Mes, numérico (0..12)
%b Nombre del mes abreviado (Jan..Dec)
%j Día del año (001..366)
%H Hora (00..23)
%k Hora (0..23)
%h Hora (01..12)
%I Hora (01..12)
%l Hora (1..12)
%i Minutos, numérico (00..59)
%r Tiempo, 12-horas (hh:mm:ss seguido por AM o PM)
%T Tiempo, 24-horas (hh:mm:ss)
%S Segundos (00..59)
%s Segundos (00..59)
%f Microsegundos (000000..999999)
%p AM o PM
%w Día de la semana (0=Sunday..6=Saturday)
%U Semana (00..53), donde el domingo es el primer día de la semana
%u Semana (00..53), donde el lunes es el primer día de la semana
%V Semana (01..53), donde el domingo es el primer día de la semana; usado con %X
%v Semana (01..53), donde el lunes es el primer día de la semana; usado con %X
%% Un '%' literal.

El resto de los caracteres se copian tal cual al resultado sin interpretación. El especificador de formato %f está disponible desde MySQL 4.1.1. Desde MySQL 3.23, se requiere el carácter '%' antes de los caracteres de especificación de formato. En versiones de MySQL más antiguas, '%' era opcional. El motivo por el que los rangos de meses y días empiecen en cero es porque MySQL permite almacenar fechas incompletas como '2004-00-00', desde MySQL 3.23.

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Saturday October 1997 |
+------------------------------------------------+
1 row in set (0.05 sec)

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
+------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s') |
+------------------------------------------------+
| 22:23:00 |
+------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
-> '%D %y %a %d %m %b %j');
+------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', |
'%D %y %a %d %m %b %j') |
+------------------------------------------+
| 4th 97 Sat 04 10 Oct 277 |
+------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
-> '%H %k %I %r %T %S %w');
+------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', |
'%H %k %I %r %T %S %w') |
+------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
+------------------------------------+
| DATE_FORMAT('1999-01-01', '%X %V') |
+------------------------------------+
| 1998 52 |
+------------------------------------+
1 row in set (0.00 sec)

Ver URL

miércoles, 21 de noviembre de 2007

Abrir un pop up y cerrarlo desde la ventana padre

<html>
<head>
<title>Ventana Principal</title>
<script>
//creamos la variable ventana_secundaria que contendrá una referencia al popup que vamos a abrir
//la creamos como variable global para poder acceder a ella desde las distintas funciones
var ventana_secundaria

function abrirVentana(){
//guardo la referencia de la ventana para poder utilizarla luego
ventana_secundaria = window.open("cerrar_window2.html","miventana","width=300,height=200,menubar=no")
}

function cerrarVentana(){
//la referencia de la ventana es el objeto window del popup. Lo utilizo para acceder al método close
ventana_secundaria.close()
}
</script>
</head>

<body>
Esta es la ventana principal
<form>
<input type=button value="Abrir ventana secundaria" onclick="abrirVentana()">
<br>
<br>

<input type=button value="Cerrar ventana secundaria" onclick="cerrarVentana()">
</form>

</body>
</html>

Al cerrar un popup que la ventana padre se refresque

<script>
function cerrarse()
{
opener.location.reload();
window.close()
}
</script>


<body bgcolor="#DDDDDD" onUnload="cerrarse()">

<form>
<input type=button value="Cerrar Ventana" onclick="cerrarse()">
</form>

</body>

martes, 20 de noviembre de 2007

Cerrar Ventana Javascript

<script>
function cerrarse()
{
window.close()
}
</script>

<form>
<input type=button value="Cerrar" onclick="cerrarse()">
</form>

Abrir ventana POP UP Javascript

<script language="JavaScript">

function Abrir_Ventana2(el_url,an,al) {

// centra la ventana en la pantalla con el ancho y el alto
var x=(screen.width/2)-(an/2);
var y=(screen.height/2)-(al);


var especificaciones="top="+y+", left="+x+", toolbar=no,location=no, status=no,menubar=no,scrollbars=no, resizable=no, width="+an+",height="+al
var titulo="Titulo"
window.open(el_url,titulo,especificaciones);
}

</script>





<a href="javascript:Abrir_Ventana2('borraMiembro.php?miembro=&grupo=',350,160)" title='Borrar suscriptor' onMouseOut="window.status=''; return true;" onMouseOver="window.status='Borrar suscriptor'; return true;">
Borrar suscriptor
</a>




//****************************************

<script language="JavaScript">
<!--
function Abrir_Ventana(el_url,an,al) {
var especificaciones="top=200, left=200, toolbar=no,location=no, status=no,menubar=no,scrollbars=no, resizable=no, width="+an+",height="+al
var titulo="Titulo"
window.open(el_url,titulo,especificaciones);
}
//-->
</script>





<a href="javascript:Abrir_Ventana('../zonapublica/presupuestos/recuperarpresu.php?<?echo $row['presuurl'];?>',550,510)" title='Ver Presupuesto' onMouseOut="window.status=''; return true;" onMouseOver="window.status='Ver presupuesto'; return true;"><?echo $row['presunombre'];?></a>

viernes, 9 de noviembre de 2007

Cambiar imagen al pasar el raton onmouseover Javascript

<script language="JavaScript">
<!--

// PRELOADING IMAGES
if (document.images)
{
img_on1 =new Image();
img_off1=new Image();

img_on2 =new Image();
img_off2=new Image();

img_on3 =new Image();
img_off3=new Image();

img_on4 =new Image();
img_off4=new Image();

img_on5 =new Image();
img_off5=new Image();

img_on6 =new Image();
img_off6=new Image();

img_on1.src ="./imagenes/menu_base_transparente_r2_c2_f2.png";
img_off1.src="./imagenes/menu_base_transparente_r2_c2.png";

img_on2.src ="./imagenes/menu_base_transparente_r2_c3_f2.png";
img_off2.src="./imagenes/menu_base_transparente_r2_c3.png";

img_on3.src ="./imagenes/menu_base_transparente_r2_c4_f2.png";
img_off3.src="./imagenes/menu_base_transparente_r2_c4.png";

img_on4.src ="./imagenes/menu_base_transparente_r2_c5_f2.png";
img_off4.src="./imagenes/menu_base_transparente_r2_c5.png";

img_on5.src ="./imagenes/menu_base_transparente_r2_c6_f2.png";
img_off5.src="./imagenes/menu_base_transparente_r2_c6.png";

img_on6.src ="./imagenes/menu_base_transparente_r2_c7_f2.png";
img_off6.src="./imagenes/menu_base_transparente_r2_c7.png";

}

function movr(k) {
if (document.images)
eval('document.img'+k+'.src=img_on'+k+'.src');
}

function mout(k) {
if (document.images)
eval('document.img'+k+'.src=img_off'+k+'.src');
}


//-->
</script>





<a href="http://www.ua.es" onMouseOver="movr(1);return true;" onMouseOut="mout(1);return true;"><img src="./imagenes/menu_base_transparente_r2_c2.png" name="img1" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(2);return true;" onMouseOut="mout(2);return true;"><img src="./imagenes/menu_base_transparente_r2_c3.png" name="img2" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(3);return true;" onMouseOut="mout(3);return true;"><img src="./imagenes/menu_base_transparente_r2_c4.png" name="img3" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(4);return true;" onMouseOut="mout(4);return true;"><img src="./imagenes/menu_base_transparente_r2_c5.png" name="img4" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(5);return true;" onMouseOut="mout(5);return true;"><img src="./imagenes/menu_base_transparente_r2_c6.png" name="img5" border="0"></a>

manejo de Strings cadena de caracteres

Alteración del contenido

En ocasiones es necesario emplear dichas funciones para alterar el formato de salida de las cadenas. Las funciones empleadas para modificar dicho formato son:

- chop(cadena); Devuelve la cadena de caracteres con los caracteres de blanco y nueva línea eliminados
- ltrim(cadena); Elimina los blancos que aparecen a la izquierda de una cadena de caracteres
- rtrim(cadena) ; Elimina los blancos que aparecen por la derecha en una cadena de caracteres
- trim(cadena); Elimina los blancos que aparecen a izquierda y derecha de la cadena de caracteres
- str_pad(cadena,longitud,relleno,lugar); Comprueba si la longitud es menor que el valor indicado, si es así añade los caracteres necesarios.El lugar de añadir puede ser:
str_pad_left añade por la derecha(opción por defecto), str_pad_right añade por la izquierda y str_pad_both añade por ambos extremos.
- str_repeat(caracter,numero_veces); Repite un caracter el numero de veces indicado
- strtolower(cadena); Pasa toda la cadena a letras minúsculas
- strtoupper(cadena); Pasa toda la cadena a letras mayúsculas
- ucfirst(cadena); Pasa a mayúscula el primer caracter de una cadena
- ucwords(cadena); Pone en mayúsculas el primer caracter de cada palabra de la cadena
- str_replace(subcadena1,subcadena2,cadena); Sustituye una palabra por otra dentro de una cadena
- strtr(cadena,originales,traducidos); Traduce ciertos caracteres .Ejemplo: $persona=strt($persona,"áéíóú","a,e,i,o,u"); de esta forma cambiaría todas las vocales con acento por vocales sin acento.
- substr_replace(cadena,nueva,comienzo,longitud); Sustituye una porción del contenido de una cadena

Acceso al contenido

- strlen(cadena); Indica el nº de caracteres de una cadena
- count_chars(cadena,modo); Numero de repeticiones de un caracter en una cadena. Los modos posibles son:

0->Matriz indexada con frecuencia de aparición de todos los caracteres del código ASCII
1->Matriz con caracteres ASCII con frecuencia mayor que 0
2->Matriz con caracteres que no aparecen en la cadena
3->Cadena con caracteres usados en el código ASCII
4->Cadena con caracteres no usados en el código ASCII

- substr_count(cadena,subcadena); Frecuencia de aparición de una cadena
-strchr(cadena,caracter); Devuelve la subcadena que comienza en la primera aparición del caracter indicado
- strstr(cadena,subcadena); Localiza subcadena dentro de la cadena original
- stristr(cadena,subcadena); Igual que la función anterior pero sin distinción entre mayúsculas y minúsculas
- strpos(cadena,subcadena); Primera ocurrencia de una cadena en otra
- strrpos(cadena,subcadena); Ultima ocurrencia de una cadena en otra
- ord(cadena); Devuelve el valor ASCII de un caracter
- substr(cadena,comienzo,longitud); Porción de texto que empieza en una posición y tiene una longitud
- strcmp(cadena1,cadena2); Compara dos cadenas siendo sensible a mayúsculas y minúsculas
- strcasecmp(cadena1,cadena2); Compara dos cadenas sin ser sensible a mayúsculas y minúsculas
- strncmp(cadena1,cadena2,tamaño); Compara los N primeros caracteres de una cadena
- strnatcmp(cadena1,cadena2); Sensible a mayúsculas y minúsculas. Compara dos cadenas.
- strnatcasecmp(cadena1,cadena2); No sensible a mayúsculas y minúsculas. Compara dos cadenas.
- chunk_split(cadena,longitud,separador); Coge una cadena de caracteres e introduce separadores a una distancia determinada. No modifica el original sino que es una función nueva.
- explode(separador,cadena,limite); Permite obtener una matriz de cadenas de caracteres extraídas del original.
- implode(separador,elementos); Junta en una cadena los elementos de una matriz usando como concatenación el separador pasado como parámetro.
- parse_str(cadena); Permite extraer y crear variables que forman parte de una cadena que se corresponde con un "query string" recibido de una URL.

*Apoyo a HTML

- addcslashes(cadena,lista); Devuelve una cadena que tiene escapados todos los caracteres como parámetro.
- addslashes(cadena); Devuelve una cadena que tiene escapados todos los caracteres lógicos
- stripcslashes(); y stripslashes(); Reciben cadenas que pueden contener caracteres de de escapes y los desescapan
- quotemeta(cadena); Esacapa los caracteres especiales
- htmlspecialchars(cadena); Lleva a cabo conversiones como &->&amp,"->&quot
- htmlentities(); Convierte todos los caracteres a entidades html. á pasa a ser &aacute;
- get_html_translation_table(htmlentities o html_specialchars); Obtiene la relación de traducción de cada caracter especial.
- array_flip(); Intercambia las claves por los valores en array asociativo.
- get_meta_tags(nombre_fichero,include_path); Devuelve todos los meta tags que contiene un HTML.
- strip_tags(cadena,mostrar_tags); Omite etiquetas PHP y HTML , lo de mostrar_tags son las cadenas HTML y PHP no deben ser omitidas en la lectura.
- n12br(cadena); Permite sustituir saltos de línea por <br>
- parse_url(cadena_url); Devuelve una matriz asociativa con los siguientes campos:
Campo Significado
scheme Http
host Ip o DNS
port puerto
user nombre usuario
password contraseña
path path completo al recurso
query query string con datos al recurso
urldecode decodifica la información
urlencode Codifica la informació


Ver URL

Mostrar la URL del navegador

echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

Mandar un email con ficheros adjuntos

<?php

function mandarmail($de,$para,$asunto,$texto,$ficheros)
{

$email_from = $de; // Who the email is from
$email_subject = $asunto; // The Subject of the email
$email_message = $texto; // Message that the email has in it

$email_to = $para; // Who the email is too

$headers = "From: ".$email_from;



$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";



/*
Aqui va adjuntando por ficheros que se le pasan
*/

for ($i=0;$i<sizeof($ficheros);$i++)
{


// aqui hay q cambiar la direccion donde se encuentran los ficheros en el servidor
$fileatt = "../presupuestos/condiciones/".$ficheros[$i]; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name =$ficheros[$i]; // Filename that will be used for the file as the attachment


$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);


$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}\n";
unset($data);
unset($file);
unset($fileatt);
unset($fileatt_type);
unset($fileatt_name);

}



$ok = @mail($email_to, $email_subject, $email_message, $headers);


return $ok;


}





$ficheros[]="foto1.jpg";
$ficheros[]="foto2.jpg";
$ficheros[]="foto3.jpg";

mandarmail("pgarcia@cpo.es","pgarcia@cpo.es","quieres pipas","no tengo",$ficheros);


?>

miércoles, 31 de octubre de 2007

Suma dias a una fecha

// suma a una fecha dada el numero de dias que se le diga
function suma_fechas($fecha,$ndias)
{

if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha))


list($dia,$mes,$año)=split("/", $fecha);


if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha))


list($dia,$mes,$año)=split("-",$fecha);
$nueva = mktime(0,0,0, $mes,$dia,$año) + $ndias * 24 * 60 * 60;
$nuevafecha=date("d/m/Y",$nueva);


return ($nuevafecha);
}


//suma 30 dias a la fecha de hoy
echo suma_fechas(date("d/m/Y"),30);

martes, 30 de octubre de 2007

CSS border redondeados

//**************** niftyCorners.css

.rtop,.rbottom{display:block}
.rtop *,.rbottom *{display:block;height: 1px;overflow: hidden}
.r1{margin: 0 5px}
.r2{margin: 0 3px}
.r3{margin: 0 2px}
.r4{margin: 0 1px;height: 2px}

.rs1{margin: 0 2px}
.rs2{margin: 0 1px}






//**************** nifty.js

function NiftyCheck()
{
if(!document.getElementById || !document.createElement)
return(false);
var b=navigator.userAgent.toLowerCase();
if(b.indexOf("msie 5")>0 && b.indexOf("opera")==-1)
return(false);
return(true);
}

function Rounded(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
var l=v.length;
for(i=0;i<l;i++){
AddTop(v[i],bk,color,size);
AddBottom(v[i],bk,color,size);
}
}

function RoundedTop(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
for(i=0;i<v.length;i++)
AddTop(v[i],bk,color,size);
}

function RoundedBottom(selector,bk,color,size){
var i;
var v=getElementsBySelector(selector);
for(i=0;i<v.length;i++)
AddBottom(v[i],bk,color,size);
}

function AddTop(el,bk,color,size){
var i;
var d=document.createElement("b");
var cn="r";
var lim=4;
if(size && size=="small"){ cn="rs"; lim=2}
d.className="rtop";
d.style.backgroundColor=bk;
for(i=1;i<=lim;i++){
var x=document.createElement("b");
x.className=cn + i;
x.style.backgroundColor=color;
d.appendChild(x);
}
el.insertBefore(d,el.firstChild);
}

function AddBottom(el,bk,color,size){
var i;
var d=document.createElement("b");
var cn="r";
var lim=4;
if(size && size=="small"){ cn="rs"; lim=2}
d.className="rbottom";
d.style.backgroundColor=bk;
for(i=lim;i>0;i--){
var x=document.createElement("b");
x.className=cn + i;
x.style.backgroundColor=color;
d.appendChild(x);
}
el.appendChild(d,el.firstChild);
}

function getElementsBySelector(selector){
var i;
var s=[];
var selid="";
var selclass="";
var tag=selector;
var objlist=[];
if(selector.indexOf(" ")>0){ //descendant selector like "tag#id tag"
s=selector.split(" ");
var fs=s[0].split("#");
if(fs.length==1) return(objlist);
return(document.getElementById(fs[1]).getElementsByTagName(s[1]));
}
if(selector.indexOf("#")>0){ //id selector like "tag#id"
s=selector.split("#");
tag=s[0];
selid=s[1];
}
if(selid!=""){
objlist.push(document.getElementById(selid));
return(objlist);
}
if(selector.indexOf(".")>0){ //class selector like "tag.class"
s=selector.split(".");
tag=s[0];
selclass=s[1];
}
var v=document.getElementsByTagName(tag); // tag selector like "tag"
if(selclass=="")
return(v);
for(i=0;i<v.length;i++){
if(v[i].className==selclass){
objlist.push(v[i]);
}
}
return(objlist);
}







//**************** EJEMPLO

<html>
<head>
<title>Nifty Corners: Javascript CSS rounded corners</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="HAPedit 3.1">
<style type="text/css">
body{padding: 20px;background-color: #377CB1;
font: 100.01% "Trebuchet MS",Verdana,Arial,sans-serif}
h1,h2,p{margin: 0 10px}
h1{font-size: 250%;color: #FFF}
h2{font-size: 200%;color: #f0f0f0}
p{padding-bottom:1em}
h2{padding-top: 0.3em}
div#nifty{ margin: 0 10%;background: #9BD1FA}
</style>
<link rel="stylesheet" type="text/css" href="niftyCorners.css">
<link rel="stylesheet" type="text/css" href="niftyPrint.css" media="print">
<script type="text/javascript" src="nifty.js"></script>
<script type="text/javascript">
window.onload=function(){
if(!NiftyCheck())
return;
Rounded("div#nifty","#377CB1","#9BD1FA");
}
</script>
</head>
<body>

<div id="nifty">
<h1>Nifty Corners</h1>
<p>Auiiui uieiouo auuaa oiaue uaou iioiiou uiio a io ieeoai uaouoe uoiaau eeauauou u oiauuie eo ui.</p>
<h2>Rounded corners without images</h2>
<p>Aaeao aiieuouiu io ueuiieu uei oeio uooiau uue ooiea ooiaui eue ouue i uiaoo iouieiuia uueeo ieieuiiau
ueaooa iou iaeieuo uoao iauoi u i oeioooe auo a ooe u uuuo oaooaae uoa iuiuiaeu iioaeu uuiu eeu ea eouoiuo ua o.</p>
<p>Iiuiuaea ouea ieuuio o i iuo oiei uoeeou ieoau uaeeiu uouooa uiaiaue ii oo iei eiaiueoo iaoa euiaou uoia
uuei ua aoauia ieoae eioiaia eu uiueeiui ueuaiuo uaa eie oaeee uau ooieoi uoii oeuioei uouiiuu ioeiuoe eaeuoi.</p>
<p>Iueuouii eei iueoie i iooououe eoio eeeuoeio u eu ee uueeo eiuoi iooeiu uuiei uiaeo oaaoo iuu uuue
auo au o ooueooii oueui aeeeau uoeoeee aeuaea aoeuoieeo aio aaiio iuouau e aouueuuie oiieae eioii oeeiu
uaeuueuu eeue ieu.</p>
</div>
</body>
</html>


//**************** FIN EJEMPLO


Ver URL

CSS transparente

.opaque {
opacity: .5;
filter: alpha(opacity=50);
}

Safari and Mozilla

These browsers support "opacity". It requires a fraction value, percentages are not allowed.
Explorer Windows

Explorer Windows requires:

filter: alpha(opacity=50);


//**************** ejemplo

<html>
<body background="http://www.fonditos.com/includes/imagen.php?ruta=/var/www/fonditos/www/wallpapers/1280x800/02766.jpg&nombre=tigre_de_bengala-1280x800.jpg">

<br>
<br>
<div style="background-color: #FF2233; width: 600; height: 300; filter: alpha(opacity=50); opacity: .5">
</div>

</body>
</html>


Ver URL 1
Ver URL 2
Ver URL 3

jueves, 18 de octubre de 2007

Mandar un email con codigo HTML

<?
$destinatario = "pgarcia@cpo.es";
$asunto = "Este mensaje es de prueba";

$cuerpo = '

<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<h1>Hola amigos!</h1>
<p>
<b>Bienvenidos a mi correo electrónico de prueba</b>. Estoy encantado de tener tantos lectores. Este cuerpo del mensaje es del artículo de envío de mails por PHP. Habría que cambiarlo para poner tu propio cuerpo. Por cierto, cambia también las cabeceras del mensaje.
</p>
</body>
</html>

';


//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

//dirección del remitente
$headers .= "From: Pablo Garcia <pgarcia@cpo.es>\r\n";

//dirección de respuesta, si queremos que sea distinta que la del remitente
$headers .= "Reply-To: pgarcia@cpo.es\r\n";

mail($destinatario,$asunto,$cuerpo,$headers)
?>

lunes, 15 de octubre de 2007

Pasar un string a int (entero) Javascript

numtotal=(parseInt(numcategorias)+parseInt(numnoticias)*3);

viernes, 5 de octubre de 2007

Mandar un email con fichero adjunto

//***************** index.php
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?
include 'mail_attachment.php';

//**** campos: de, para, asunto, mensaje, fichero
mail_attachment("pgarcia@cpo.es", "pgarcia@cpo.es", "subject", "message", 'mail_attachment.php');
?>
</body>
</html>




//***************** mail_attachment.php
<?php
function mail_attachment ($from , $to, $subject, $message, $attachment){
$fileatt = $attachment; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$start= strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1;
$fileatt_name = substr($attachment, $start, strlen($attachment)); // Filename that will be used for the file as the attachment

$email_from = $from; // Who the email is from
$email_subject = $subject; // The Subject of the email
$email_txt = $message; // Message that the email has in it

$email_to = $to; // Who the email is to

$headers = "From: ".$email_from;

$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$msg_txt="\n\nMail created using free code from 4word systems : http://4wordsystems.com";

$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

$email_txt .= $msg_txt;

$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_txt . "\n\n";

$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";


$ok = @mail($email_to, $email_subject, $email_message, $headers);

if($ok) {
} else {
die("Sorry but the email could not be sent. Please go back and try again!");
}
}

?>


Ver Enlace original

miércoles, 3 de octubre de 2007

Muestra todos los valores de las variables del POST

<?

/****
muestra el nombre y el valor de todos los campos
que se le pasen por POST
****/

foreach($_POST as $nombre_campo => $valor)
{
$asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
echo $asignacion."<br>";
}

?>

martes, 25 de septiembre de 2007

fecha de hoy, dia de hoy

<?

echo date("d/m/Y");

?>

VER URL

martes, 18 de septiembre de 2007

Hacer un href enlace con un div

<div onclick="javascript:location.href='http://www.ua.es';" style="width: 80px; height: 20px; cursor: pointer">
</div>

lunes, 17 de septiembre de 2007

EDITAR subiendo un fichero

//********** UPDATE

// si hay imagen la sube
$fichero="";
$enquery="";

$dir = "../cliente/descargas/"; // directorio donde se sube el fichero POST
$nombrefichero="fichero"; // nombre de la variable del fichero POST
$tamanyoimagen=200; // tamaño a redimensionar
$lado="w"; // w HORIZONTAL, h VERTICAL
$redimensiona="no"; // si PARA SI, no PARA NO
$variableentabla="descfichero"; // nombre del fichero en la tabla
$variabledeborrado="borrarfichero"; // nombre de varible de BORRAR el fichero
$valorvariableborradosi="1"; // valor de la varibale POST de borrar
$valorvariableborradono="0"; // valor de la varibale POST de NO borrar


// mira si habia un fichero antes
$query="SELECT * from descargas where descid='".$_POST['id']."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
$ficheroantiguo=$row[$variableentabla];


if (is_uploaded_file($_FILES[$nombrefichero]['tmp_name']))
{

// si habia un fichero antiguo lo borra
if ($ficheroantiguo!="")
{
$borrar = $dir.$row[$variableentabla];
unlink($borrar);
}
//***

// sube el nuevo fichero con la ID delante del nombre
$nombre = $_FILES[$nombrefichero]['name'];
$fichero=$_POST['id'].$nombre;
$temp = $dir.$fichero;

move_uploaded_file($_FILES[$nombrefichero]['tmp_name'], $temp);

if ($redimensiona=="si")
redimensionar_ok($temp2, $temp2, $lado, $tamanyoimagen);

$enquery=",".$variableentabla."='".$fichero."'";
}
else // SI NO SUBE FICHERO
{

// si se quiere borrar el antiguo sin subir ninguno
if ($_POST[$variabledeborrado]==$valorvariableborradosi)
{

// si habia un fichero antiguo lo borra
if ($ficheroantiguo!="")
{
$borrar = $dir.$row[$variableentabla];
unlink($borrar);
}
//***

$fichero="";

$enquery=",".$variableentabla."=''";
}

// si NO se quiere borrar el antiguo sin subir ninguno
if ($_POST[$variabledeborrado]==$valorvariableborradono)
{
$enquery="";
}
}



$query="UPDATE descargas set `desctitulo_es`='".$_POST['tituloes']."',`desctitulo_en`='".$_POST['tituloen']."',`desctitulo_va`='".$_POST['titulova']."' ".$enquery." where `descid`='".$_POST['id']."'";
$result = mysql_query($query) or die(mysql_error());

miércoles, 12 de septiembre de 2007

Imprimir pantalla Javascript

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">

function imprimir()
{
if (window.print)
{
window.print();
}
}

</SCRIPT>



<a href="javascript:imprimir()" class="enlace" title='Imprimir pantalla' onMouseOut="window.status=''; return true;" onMouseOver="window.status='Imprimir pantalla'; return true;">Imprimir pantalla</a>

redireccionar automaticamente

//***** en HTML

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.google.es">




//***** en PHP

header ("Location: http://www.google.es");

lunes, 10 de septiembre de 2007

Combobox relacionados dinamicos entre si

<script language="javascript">

function setOptions(chosen)
{
var selbox = document.miformu.opttwo;

selbox.options.length = 0;

if (chosen == " ")
{
selbox.options[selbox.options.length] = new Option('Please select one of the options above first',' ');
}

if (chosen == "1")
{
selbox.options[selbox.options.length] = new Option('first choice - option one','oneone');
selbox.options[selbox.options.length] = new Option('first choice - option two','onetwo');
}

if (chosen == "2")
{
selbox.options[selbox.options.length] = new Option('second choice - option one','twoone');
selbox.options[selbox.options.length] = new Option('second choice - option two','twotwo');
}

if (chosen == "3")
{
selbox.options[selbox.options.length] = new Option('third choice - option one','threeone');
selbox.options[selbox.options.length] = new Option('third choice - option two','threetwo');
}

}
</script>


<form name="miformu">
<div align="center">
<select name="optone" size="1" onchange="setOptions(document.miformu.optone.options[document.miformu.optone.selectedIndex].value);">
<option value=" " selected="selected"> </option>
<option value="1">First Choice</option>
<option value="2">Second Choice</option>
<option value="3">Third Choice</option>
</select>

<br><br>

<select name="opttwo" size="1">
<option value=" " selected="selected">Please select one of the options above first</option>
</select>

<input type="button" name="go" value="Value Selected" onclick="alert(document.miformu.opttwo.options[document.miformu.opttwo.selectedIndex].value);">
</div>
</form>

jueves, 6 de septiembre de 2007

enlace href en un area de una imagen

<img src="../imagenes/contacto.png" USEMAP="#mapa1" border="0">

<MAP NAME="mapa1">
<AREA SHAPE=rectangle COORDS="0,125,325,155" HREF="mailto:<?echo $row['paremail'];?>" ALT="Email">
<AREA SHAPE=rectangle COORDS="0,235,325,280" HREF="somos.php?seccion=formulario" ALT="Email">
</MAP>

VER CODIGO EN URL

viernes, 24 de agosto de 2007

Buscar en una cadena un string

function instr($patron,$cadena)
{

// crea un vector con los cortes de la cadena
/*
p.e. Patron=a , Cadena=las vacas son blancas

$resultado =['l','s','v','c','s son bl','n','nc','s']
*/
$resultado = explode($patron, $cadena);

// si el tamaño del vector es 0 entonces no hay cortes --> no hay coincidencias
if ((sizeof($resultado)-1)==0)
return 0;
else
return 1;
}

Variable $_SERVER

// saber el nombre del navegador del cliente
$navegador = $_SERVER["HTTP_USER_AGENT"];

// saber la ip local del cliente
$ip = $_SERVER["REMOTE_ADDR"];

viernes, 10 de agosto de 2007

Javascript encontrar elementos formulario pasarlos por GET

<script language="javascript">

function recargar(num,tarifa)
{
var url ='?';

for (i=1;i<num+1;i++)
{
url = url+"personas"+i+"="+document.getElementById('personas'+i).value+"&dto"+i+"="+document.getElementById('dto'+i).value+"&";
}

url=url+"nuevo=no&lineas="+num+"&tarifa="+tarifa;
location.href="administrar/tarifas/modificardescuentostarifa.php"+url;
}
</script>


<input type="button" onclick="recargar(<?echo $lineas;?>,<?echo $_GET['tarifa'];?>);" value=" Finalizar ">

miércoles, 8 de agosto de 2007

cambiar el formato de la fecha MYSQL

//***** funcion que cambia el formato de la fecha de 2000-01-01 a 01/01/2000
function cambiaf_desde_mysql($fecha){
ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $regs );
$lafecha=$regs[3]."-".$regs[2]."-".$regs[1];
return $lafecha;
}


//***** funcion que cambia el formato de la fecha de 01/01/2000 a 2000-01-01
function cambiaf_a_mysql($fecha){
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha);
$lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1];
return $lafecha;
}

tamaño de un string

$cadena = 'abcdef';
echo strlen($cadena); // 6

$cadena = ' ab cd ';
echo strlen($cadena); // 7

tamaño de un vector array

if (sizeof($fecha)!=10)
{
header("Location: http://www.google.es");
}

//***************** ó

echo count($vector);

martes, 7 de agosto de 2007

javascript POPUP POP-UP

<a href="/index.htm" target="_blank" onClick="window.open(this.href, this.target, 'width=300,height=400'); return false;">Lanzar correctamente</a>

martes, 31 de julio de 2007

enviar formulario con href

<a href="#" style="text-decoration: none;" onclick="document.formu.submit();">Enviar</a>

viernes, 27 de julio de 2007

Tipo de los atributos de una tabla MySQL

$query = "select * from tarifas";
$result = mysql_query($query) or die(mysql_error());

// numero de campos de la tabla
$fields = mysql_num_fields($result);

// nombre de la tabla
$table = mysql_field_table($result, 0);

for ($i=0;$i<$fields;$i++)
{
$tipo = mysql_field_type($result,$i);
echo $tipo."<br>";
}


Manual PHP


Más ayuda

lunes, 23 de julio de 2007

Subir ficheros PHP

//*********** FORMULARIO HTML

<form action="subir.php" method="post" enctype="multipart/form-data">
<INPUT type="file" name="archivo">
<input type="submit" value="OK">
</form>


//*********** subir.php

$nombrefic = $HTTP_POST_FILES['archivo']['name'];
$destino= "../../../zonapublica/presupuestos/condiciones/".$nombrefic.".pdf";
move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'],$destino);

jueves, 19 de julio de 2007

SQL contar numero de lineas que devuelve la consulta

$result = mysql_query("select * from valtar where vtatar='1'");
if (!$result)
{
die('Invalid query: ' . mysql_error());
}

$num = mysql_num_rows($result);

echo $num;

//********************************************************************
// si es un update o un delete o un insert

mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());

Javascript comprobar formulario

<script language="javascript">

function comprobar()
{
var nombre = document.formu.nombre.value;

var i;

i=14;

for (i=5;i<8;i++)
{
if (document.formu.elements[i].value=="")
{
alert("Rellene todos los campos.");
return false;
}
}

return true;
}
</script>


<form action="reservas.php" method="post" name="formu"
id="formu" onsubmit="return comprobar();">

<input name="nombre" size="20" type="text">
<input name="apellidos" size="40" type="text">
<input name="dni" size="20" type="text">
<input value=" Enviar " type="submit">
</form>

Javascript Boton recargar pagina

<script language="javascript">

function recargar()
{
if (document.datosPresupuesto.asegur.value=='')
{
alert('Inserte un número de Asegurados.');
}
else
{
location.href="privado.php?seccion=presusalud&paso=1&lineas="
+document.datosPresupuesto.asegur.value;
}

}
</script>




<input type="text" size=2 name="asegurados" id="asegur">

<input type="button" onclick="recargar();" value="Recargar">

viernes, 13 de julio de 2007

INSERT, DELETE, UPDATE

$query = "INSERT INTO tarifas ('tarcod','tardes','tar_M') VALUES ('6', '6', NULL)";

$query = "DELETE FROM tarifas where id=".$_GET['tarifa'];

$query = "UPDATE tarifas set precio = 333, peso = 12 where tipo = 'accion'";

Redireccionar a URL

OJO no poner ningun ECHO delante porque no va !!!


header("Location: http://www.ua.es");

Javascript cuadro de diálogo YES NO

<script language="javascript">
function confirmarborrado<?echo $row['tarcod'];?>()
{
if (confirm('&iquest;Seguro que quiere borrar la promocion?'))
{
location.href="../zonaprivada/administrar/tarifas/borrartarifa.php?tarifa=<?echo $row['tarcod'];?>";
}
}

</script>

<a href="javascript:confirmarborrado<?echo $row['tarcod'];?>()">OK</a></td>

Parametros GET y POST

$_GET['id]; // por URL

$_POST['id]; // por FORM

//******


$id = $_GET['id];

$id = $_POST['id];

martes, 10 de julio de 2007

Consultar Base de datos VECTOR

$query = "SELECT * FROM example";

$result = mysql_query($query) or die(mysql_error());


while($row = mysql_fetch_array($result))
{
echo $row['name']. " - ". $row['age'];
}

Consultar Base de datos

$query = "SELECT * FROM example";
$result = mysql_query($query) or die(mysql_error());

$row = mysql_fetch_array($result) or die(mysql_error());
echo $row['name']. " - ". $row['age'];

lunes, 9 de julio de 2007

Sesion abierta o cerrada


session_start();

//Comprueba si ya se ha registrado
if(!isset($_SESSION["usuario"]))
{
echo "no hay sesion";
}
else
{
echo "si hay sesion";
}

?>

Hola Mundo


El blog del Pau para PHP :D

Archivo del blog