domingo, 3 de noviembre de 2013

php elminar duplicados de un array

<?php
 
 $lista = array(2010,2009,1999,2010,2010,2008,2010);
 $lista = array_unique($lista);
 $lista = array_values($lista);
 
?>
 
 
 
 
. 

mysql eliminar duplicados dejando una muestra


CREATE TABLE `prueba` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titulo` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

--
-- Volcar la base de datos para la tabla `prueba`
--

INSERT INTO `prueba` VALUES (1, 'titulo1');
INSERT INTO `prueba` VALUES (2, 'titulo2');
INSERT INTO `prueba` VALUES (3, 'titulo1');
INSERT INTO `prueba` VALUES (4, 'titulo3');
INSERT INTO `prueba` VALUES (5, 'titulo1');
INSERT INTO `prueba` VALUES (6, 'titulo2');
INSERT INTO `prueba` VALUES (7, 'titulo1');

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


NOTA: COPIADO DE
http://andalinux.wordpress.com/2013/04/15/sql-eliminar-entradas-duplicadas-dejando-una-de-muestra/



Dejar la entrada más antigua

Si queremos eliminar todas las entradas duplicadas dejando la primera aparición (la más vieja, la que tiene menor ID) lanzaremos la siguiente sentencia SQL





DELETE n1
FROM prueba n1, prueba n2
WHERE n1.titulo = n2.titulo
AND n1.id > n2.id;

Dejar la última aparición

Si queremos eliminar todas las entradas duplicadas menos la más reciente (la más nueva, la que tiene mayor ID) lanzaremos la siguiente consulta SQL
 




DELETE n1
FROM prueba n1, prueba n2
WHERE n1.titulo = n2.titulo
AND n1.id < n2.id;
NOTA: Observa que el único cambio ha sido n1.id < n2.id en lugar de n1.id > n2.id

martes, 29 de octubre de 2013

php suma y resta horas

date_default_timezone_set('Europe/Madrid');

$Hora = Time(); // Hora actual  
echo date('H:i:s',$Hora);     

$Hora = Time() + (60 *60 * -1);  
echo "<br>";
echo date('H:i:s',$Hora); //  -1 hora

$Hora = Time() + (60 *60 * 2);  
echo "<br>";
echo date('H:i:s',$Hora); //  +2 hora


....  O TAMBIEN

$Hora = strtotime('14:00:01') + (60 *60 * -1); ;
echo date('H:i:s',$Hora);   


.... O EN FUNCION

//***************************************************
function sumaRestaHoras($hora, $incremento)
{
$hora = strtotime($hora) + (60 *60 * $incremento);

return date('H:i:s',$hora);
}

echo sumaRestaHoras('14:00:01',-5);
 






.

php suma a una fecha un numero de dias

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,$anyo)=split("/", $fecha);

    if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha))
    list($dia,$mes,$anyo)=split("-",$fecha);

    $nueva = mktime(0,0,0, $mes,$dia,$anyo) + $ndias * 24 * 60 * 60;
    $nuevafecha=date("d/m/Y",$nueva);

    return ($nuevafecha);
}

lunes, 28 de octubre de 2013

JAVASCRIPT saber la altura del body


var alto=window.innerHeight;



 


//***
// si queremos cambiar la altura de un DIV por ejemplo.


alto=alto-500;
document.getElementById("div1").style.height=alto+'px';

viernes, 14 de junio de 2013

CAST en MySql

  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]

 // velocidad es string y lo pasamos a INT

SELECT max(CAST(velocidad AS UNSIGNED)) FROM coches
 
 
// para decimal
 
SELECT max(CAST(velocidad AS DECIMAL(2,2))) FROM coches 
 
si la maxima velocidad fuera 145.322456 saldria 45.32

//**
 
SELECT max(CAST(velocidad AS DECIMAL(3,2))) FROM coches 
 
si la maxima velocidad fuera 145.322456 saldria 145.32


domingo, 2 de junio de 2013

reemplazar todos los caracteres en javascript

function replaceAll( text, busca, reemplaza )
{
    while (text.toString().indexOf(busca) != -1)
        text = text.toString().replace(busca,reemplaza);
    return text;
}




.

sábado, 20 de abril de 2013

mover una columna de una tabla mysql

ALTER TABLE alumnos MODIFY COLUMN apellidos VARCHAR(255) AFTER nombre








.

martes, 19 de marzo de 2013

solucion appserv phpmyadmin no funciona en windows vista

1) instalar el appserv (en mi caso appserv-win32-2.6.0)
2) ir a la carpeta C:\AppServ\www\phpMyAdmin
3) editar el fichero config.inc.php

y cambiar la linea donde pone

$cfg['Servers'][$i]['host']          = 'localhost';
por
$cfg['Servers'][$i]['host']          = '127.0.0.1';

4) reiniciar el apache

y listo !! ;)


---------------------------------------
sacado de aquí
---------------------------------------

Recently I published an article about Windows Vista Home Premium and the “problems” I was running into when installing my programs. Well, this time I run into another problem when I installed appserv-win32-2.6.0 . Everything seemed to work just fine, Apache was working well, but when I tried opening PhpMyAdmin for some reason it was displaying a blank page after I entered my login information.

Method #1

The solution to this blank page problem is fairly easy. Simply modify this line in the phpmyadmin/config.inc.php
$cfg['Servers'][$i]['host']          = 'localhost';
to this:
$cfg['Servers'][$i]['host']          = '127.0.0.1';
In the above code, you’re changing your name server to 127.0.0.1 in order to use TCP/IP connection. After this, you should be able to see your PhpMyAdmin page by opening in your browser the address http://127.0.0.1/PhpMyAdmin
Hope this helps!
Note: Whenever you specify “localhost” or “localhost:port” as server, the MySQL client library will override this and try to connect to a local socket (named pipe on Windows). If you want to use TCP/IP, use “127.0.0.1″ instead of “localhost”. If the MySQL client library tries to connect to the wrong local socket, you should set the correct path as Runtime Configuration in your PHP configuration and leave the server field blank.

UPDATE Dec 15, 2010:

Doing further research on this subject, this problem seems to be caused by a PHP bug #45150. The problem seems to be with Windows resolving localhost, more specifically localhost resolving to ::1 when IPv6 is enabled. If you have Windows Vista or Windows 7 it’s most likely you have IPV6 enabled by default.

Method #2

1. Go to Network Connections-> Properties and on local area connection->uncheck IPV6.
2.Open up \%windir%\system32\drivers\etc\ with a text editor and comment out this line:
::1 localhost
and prefix it:
#::1 localhost
This fix will help the loopback interface 127.0.0.1 point to localhost.
Save it and your PHP/MySQL connections will immediately begin working.
This is another way of fixing this problem. Both methods will work, but I’d recommend to follow this last method over the first one since it’s updated and it solves the localhost issue in a more efficient way now that we have detected the source of the problem.
Big thanks: to my readers Joberror, Adrian, Brandon and everyone else for your contributions.





sábado, 16 de marzo de 2013

javascript ir a una pagina

<script>
//************************
function irAUrl(pag)
{
    location.href=pag;
}

</script>

<input type="button" value="IR A GOOGLE" onclick="irAUrl('http://www.google.es')">


domingo, 10 de marzo de 2013

Reemplazando texto en MySQL


UPDATE indiakaarticulos SET peso = REPLACE(peso,'gr.','');

jueves, 18 de octubre de 2012

javascript buscar dentro de un string instring instr

<script>

function inString(dato1, dato2)
{
    tam1=dato1.length;
    tam2=dato2.length;
    esta=false;
   
    if (tam1<=tam2)
    {
        for (i=0;i<(tam2);i++)
        {
            if ((tam2-i)>(tam1-1))
            {
                aux="";
               
                for (j=0;j<tam1;j++)
                {
                    aux=aux+((dato2[j+i]));                   
                }

                if (aux==dato1)
                    esta=true;
            }
        }
       
        return esta;
    }
}


if (inString("holaa","esto es hola y tu 123456789"))
    document.write("si esta");
else
    document.write("no esta");


</script>





.

martes, 20 de diciembre de 2011

html tipo radio radiobutton

<?
if (!(isset($_GET['tipoDeOferta'])))
{
$_GET['tipoDeOferta']="articulos";
}

if (($_GET['tipoDeOferta']!="articulos") && ($_GET['tipoDeOferta']!="servicios"))
{
$_GET['tipoDeOferta']="articulos";
}


if ($_GET['tipoDeOferta']=="articulos")
{
$aux1=" checked";
$aux2="";
}
else
{
$aux1="";
$aux2=" checked";
}


?>

<div class="tipoDeOferta">
Artículos <input type="radio" name="tipoDeOferta" <?echo $aux1;?>>
Servicios <input type="radio" name="tipoDeOferta" <?echo $aux2;?>>
</div>






.

lunes, 19 de diciembre de 2011

php redondear decimales euro

function redondearEuroAlAlzaAlAlza($number)
{
$resultado = explode(".", $number);

$aux1=$resultado[0];
$aux2=$resultado[1];

$aux="";
if (sizeof($resultado)==2)
{

if (strlen($aux2)>=3)
{
if ($aux2[2]>=5)
{
$aux2[2]=9;
$number=$aux1.".".$aux2;
$number+=0.001;

$resultado = explode(".", $number);

$aux1=$resultado[0];
$aux2=$resultado[1];
}
}

//***********************
if (strlen($aux2)>=3)
{
$aux2=$aux2[0].$aux2[1];
}

if (strlen($aux2)==1)
{
$aux2=$aux2[0]."0";
}

if (strlen($aux2)==0)
{
$aux2="00";
}

}
else
{
$aux2="00";
}


return $aux1.".".$aux2;
}

Notepad++ autocompletar

En el Menu:

Configuracion --> Preferencias --> Copia de seguridad/Autocompletar y darle a Habilitar autocompletar




.

domingo, 4 de diciembre de 2011

div degradado

.degradado
{
background-image:-moz-linear-gradient(top, #B2003C, #FFFFFF);
filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#B2003C', EndColorStr='#FFFFFF');
}



miércoles, 30 de noviembre de 2011

HTML PHP provincias españolas en combobox

<?
$auxProvincia="";

if ($_GET['provincia']!="")
{
    $auxProvincia="<option value='".$_GET['provincia']."' selected>".$_GET['provincia']."</option>";
}
?>

<select name="provincia">
<?echo $auxProvincia;?>
<option value=""></option>
<option value="Alicante">Alicante</option>
<option value="Alava">Alava</option>
<option value="Albacete">Albacete</option>
<option value="Almeria">Almeria</option>
<option value="Asturias">Asturias</option>
<option value="Avila">Avila</option>
<option value="Badajoz">Badajoz</option>
<option value="Baleares">Baleares</option>
<option value="Barcelona">Barcelona</option>
<option value="Burgos">Burgos</option>
<option value="Caceres">Caceres</option>
<option value="Cadiz">Cadiz</option>
<option value="Cantabria">Cantabria</option>
<option value="Castellon">Castellon</option>
<option value="Ceuta">Ceuta</option>
<option value="Ciudad Real">Ciudad Real</option>
<option value="Cordoba">Cordoba</option>
<option value="Cuenca">Cuenca</option>
<option value="Gerona">Gerona</option>
<option value="Granada">Granada</option>
<option value="Guadalajara">Guadalajara</option>
<option value="Guipuzcua">Guipuzcua</option>
<option value="Huelva">Huelva</option>
<option value="Huesca">Huesca</option>
<option value="Jaen">Jaen</option>
<option value="La Coruña">La Coruña</option>
<option value="La rioja">La rioja</option>
<option value="Las palmas">Las palmas</option>
<option value="Leon">Leon</option>
<option value="Lerida">Lerida</option>
<option value="Lugo">Lugo</option>
<option value="Madrid">Madrid</option>
<option value="Malaga">Malaga</option>
<option value="Melilla">Melilla</option>
<option value="Murcia">Murcia</option>
<option value="Navarra">Navarra</option>
<option value="Orense">Orense</option>
<option value="Palencia">Palencia</option>
<option value="Pontevedra">Pontevedra</option>
<option value="Salamanca">Salamanca</option>
<option value="Santa cruz de tenerife">Santa cruz de tenerife</option>
<option value="Segovia">Segovia</option>
<option value="Sevilla">Sevilla</option>
<option value="Soria">Soria</option>
<option value="Tarragona">Tarragona</option>
<option value="Teruel">Teruel</option>
<option value="Toledo">Toledo</option>
<option value="Valencia">Valencia</option>
<option value="Valladolid">Valladolid</option>
<option value="Vizcaya">Vizcaya</option>
<option value="Zamora">Zamora</option>
<option value="Zaragoza">Zaragoza</option>
</select>        




lunes, 28 de noviembre de 2011

Javascript Seleccionar texto

<script type="text/javascript">
function SelectAll(id)
{
document.getElementById(id).focus();
document.getElementById(id).select();
}
</script>


<textarea rows="3" id="txtarea" onClick="SelectAll('txtarea');" style="width:600px; height: 300px;"></textarea>




.

sábado, 26 de noviembre de 2011

clase php UPDATE



$obj = new sql;

$tabla = "almuerzos";

$campos[] ="fechaentrada";
$campos[] ="horaentrada";

$valores[] = date("Y-m-d");
$valores[] = date("H:i");    

$condicion = "empleado";
$vcondicion = $_GET['id'];
$condicion2 = "horaentrada";
$vcondicion2 = "";


$ok = $obj->update($tabla,$campos,$valores,$condicion,$vcondicion,$condicion2,$vcondicion2);    






.

clase php INSERT


$obj = new sql;

$tabla = "almuerzos";

$campos[] ="empleado";
$campos[] ="fechasalida";
$campos[] ="horasalida";

$valores[] = $_GET['id'];
$valores[] = date("Y-m-d");
$valores[] = date("H:i");

$ok = $obj->insert($tabla,$campos,$valores);






.

clase php DELETE

$obj = new sql;

//***
$tabla=$_GET['tabla'];
$campos[] ="id";
$valores[] = $_GET['id'];

$ok = $obj->delete($tabla,$campos,$valores);

clase PHP para insertar, borrar y actualizar una tabla mysql

<?

//*****************************
class sql
{

    //###################################### devuelve valor de vector
    function devuelveposicion($vector,$abuscar)
    {
        $encotrado = false;

        for ($i=0;$i<count($vector);$i++)
        {
            if ($vector[$i]==$abuscar)
            {
                return $i;
            }
        }

        return -1;
    }


    //###################################### elimina espacios en blanco delante y detras de una cadena
    function eliminaEspaciosEnBlancoDelanteYDetras($cadena)
    {

        $cadena = ltrim($cadena);
        $cadena = rtrim($cadena);

        return $cadena;
    }



    //###################################### insertar
    function insert($nombd,$campos,$valores)
    {

        //**** guarda los tipos de los atributos y su nombre
        $query = "select * from ".$nombd;
        $result = mysql_query($query) or die(mysql_error());

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

        for ($i=0;$i<$fields;$i++)
        {
            $nombre[$i] = mysql_field_name($result,$i);
            $tipo[$i] = mysql_field_type($result,$i);
        }

        for ($i=0;$i<$fields;$i++)
        {
            $valores[$i]= $this->eliminaEspaciosEnBlancoDelanteYDetras($valores[$i]);
        }


        //**** crea la query
        $query = "INSERT into ".$nombd." (";

        for ($i=0;$i<count($campos);$i++)
        {
            if ($i!=count($campos)-1)
                $query = $query." `".$campos[$i]."`, ";
            else
                $query = $query." `".$campos[$i]."` ";
        }

        $query = $query." ) values (";

        for ($i=0;$i<count($campos);$i++)
        {
            $j = $this->devuelveposicion($nombre,$campos[$i]);

            if (($tipo[$j]=="string") || ($tipo[$j]=="date") || ($tipo[$j]=="blob"))
                $comillas="'";
            else
                $comillas="";


            if ($i!=count($campos)-1)
                $query = $query." ".$comillas.$valores[$i].$comillas.", ";
            else
                $query = $query." ".$comillas.$valores[$i].$comillas." ";
        }

        $query = $query." )";

        //**** ejecuta la query
        return $result = mysql_query($query) or die(mysql_error());
    }



    //###################################### update
    function update($nombd,$campos,$valores,$condicion,$vcondicion,$condicion2,$vcondicion2)
    {

        //**** guarda los tipos de los atributos y su nombre
        $query = "select * from ".$nombd;
        $result = mysql_query($query) or die(mysql_error());

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

        for ($i=0;$i<$fields;$i++)
        {
            $nombre[$i] = mysql_field_name($result,$i);
            $tipo[$i] = mysql_field_type($result,$i);
        }

        for ($i=0;$i<$fields;$i++)
        {
            $valores[$i]= $this->eliminaEspaciosEnBlancoDelanteYDetras($valores[$i]);
        }


        //**** crea la query
        $query = "UPDATE ".$nombd." set ";

        for ($i=0;$i<count($campos);$i++)
        {
            $query = $query." `".$campos[$i]."` = ";

            $j = $this->devuelveposicion($nombre,$campos[$i]);

            if (($tipo[$j]=="string") || ($tipo[$j]=="date") || ($tipo[$j]=="blob"))
                $comillas="'";
            else
                $comillas="";

            if ($i!=count($campos)-1)
                $query = $query." ".$comillas.$valores[$i].$comillas.", ";
            else
                $query = $query." ".$comillas.$valores[$i].$comillas." ";
        }


        //*** condicion

        $j = $this->devuelveposicion($nombre,$condicion);

        if (($tipo[$j]=="string") || ($tipo[$j]=="date") || ($tipo[$j]=="blob"))
            $comillas="'";
        else
            $comillas="";

        $query = $query." where ".$condicion." = ".$comillas.$vcondicion.$comillas;

        //*** si hay otra condicion

        if ($condicion2!='')
        {
            $j = $this->devuelveposicion($nombre,$condicion2);

            if (($tipo[$j]=="string") || ($tipo[$j]=="date") || ($tipo[$j]=="blob"))
                $comillas="'";
            else
                $comillas="";

            $query = $query." and ".$condicion2." = ".$comillas.$vcondicion2.$comillas;
        }    


        //**** ejecuta la query
        return $result = mysql_query($query) or die(mysql_error());
    }


    //###################################### delete
    function delete($nombd,$campos,$valores)
    {

        //**** guarda los tipos de los atributos y su nombre
        $query = "select * from ".$nombd;
        $result = mysql_query($query) or die(mysql_error());

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

        for ($i=0;$i<$fields;$i++)
        {
            $nombre[$i] = mysql_field_name($result,$i);
            $tipo[$i] = mysql_field_type($result,$i);
        }

        //**** crea la query
        $query = "DELETE from ".$nombd." where ";

        for ($i=0;$i<count($campos);$i++)
        {
            $query = $query." `".$campos[$i]."` = ";

            $j = $this->devuelveposicion($nombre,$campos[$i]);

            if (($tipo[$j]=="string") || ($tipo[$j]=="date") || ($tipo[$j]=="blob"))
                $comillas="'";
            else
                $comillas="";

            if ($i!=count($campos)-1)
                $query = $query." ".$comillas.$valores[$i].$comillas.", ";
            else
                $query = $query." ".$comillas.$valores[$i].$comillas." ";

        }


        //**** ejecuta la query
        return $result = mysql_query($query) or die(mysql_error());
    }

}
?>

jueves, 24 de noviembre de 2011

javascript saber el valor de un combobox select

<script language="javascript">

function decir()
{
var color=document.getElementById('color').options[document.getElementById('color').selectedIndex].value;

alert(color);
}

</script>



<select id="color" name="color" size="1">
<option value="" selected="selected"> --------- </option>
<option value="carbon">carbon</option>
<option value="kiwi">kiwi</option>
<option value="rojo">rojo</option>
</select>





.

miércoles, 23 de noviembre de 2011

PHP redondear decimales arriba o abajo

<?

echo $aux = round(12.346 , 2); // 12.35
echo "<br>";
echo $aux = round(12.343 , 2); // 12.34
exit;

?>


.

PHP truncar decimales

<?

function truncarDecimales($number, $digitos)
{
$raiz = 10;
$multiplicador = pow ($raiz,$digitos);
$resultado = ((int)($number * $multiplicador)) / $multiplicador;
return number_format($resultado, $digitos);
}


?>



.

martes, 15 de noviembre de 2011

detectar tecla intro pulsada en javascript

<script>

//***********************************
function pulsadoIntro(e)
{

    tecla = document.all ? e.keyCode : e.which;

    if (tecla==13)
    {
        //enviar();
        alert('hola');
    }

}

</script>


(...)

<input type="text" name="nombre" style="width: 200px;" onkeypress="pulsadoIntro(event);">




.

viernes, 4 de noviembre de 2011

Foco al cargar la pagina

<script type="text/javascript">

function foco()
{
    document.getElementById('buscar').focus();
}

</script>


(...)

<body onload="foco();">

<input type="text" name="buscar" id="buscar">

div transparente

.noOpaco
{
opacity:0.4;
filter:alpha(opacity=40); /* For IE8 and earlier */
}



.

martes, 18 de octubre de 2011

centrar un div

<style type="text/css">


body
{
text-align: center;
}


.contenedor
{
position: relative;
width : 780px;
height: 500px;
margin : 0px auto;
padding: 0px;
text-align: left;
background-color:#00ff00;

}

.nombreProducto
{
position: absolute;
top: 100px;
left: 100px;


width : 80px;
height: 50px;

background-color:#EDEDED;
}

</style>

<body>

<div class="contenedor">

    <div class="nombreProducto">
    hola
    </div>

</div>

</body>

lunes, 3 de octubre de 2011

convertir de texto a codigo html

http://word2cleanhtml.com/

.

enlace hiperenlace sin subrayar ni color

a.hiperEnlace1:link, a.hiperEnlace1:visited, a.hiperEnlace1:hover
{
color: #000000;
text-decoration:none;
}

//*****

<a href="" class="hiperEnlace1">pincha aqui</a>

jueves, 29 de septiembre de 2011

exportar datos de MySQL con PHP

$con_base=mysql_connect("localhost","root","1234");
$base="indiaka";
$tablas=mysql_query("show tables from $base;",$con_base);
$texto.="create database if not exists $base;\n";
$texto.="use $base;\n";
while($tabla=mysql_fetch_array($tablas))
{
$mitabla=$tabla[0];
$creates=mysql_query("show create table $base.$mitabla;",$con_base);
while($create=mysql_fetch_array($creates))
{
$texto.=$create[1].";\n";
$datos=mysql_query("select * from $base.$mitabla;",$con_base);
$campos=mysql_num_fields($datos);
$regs=mysql_num_rows($datos);
for($i=0;$i<$regs;$i++)
{
$inserta="insert into $mitabla(";
for($j=0;$j<$campos;$j++)
{
$nombre=mysql_field_name($datos,$j);
$inserta.="$nombre,";
}
$inserta=substr($inserta,0,strlen($inserta)-1).") values(";
for($j=0;$j<$campos;$j++)
{
$tipo=mysql_field_type($datos,$j);
$valor=mysql_result($datos,$i,$j);
switch($tipo)
{
case "string":
case "date":
case "time":
$valor="'$valor'";
break;
}
$inserta.="$valor,";
}
$inserta=substr($inserta,0,strlen($inserta)-1).");";
$texto.=$inserta."\n";
}
}
$texto.="\n";
}
$archivo= date("Ymdis")."-seguridad.txt";
header("Content-disposition: attachment;filename=$archivo");
header("Content-Type: text/plain");
echo $texto;

miércoles, 25 de mayo de 2011

Cadena de conexión con PHPMyadmin (conectar)

//mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db=mysql_connect("hostingmysql149.nominalia.com","JAMP23_pau","1234");

//mysql_select_db("nombre_de_la_base_de_datos", $db);
mysql_select_db("talleresmontaner_com_montaner", $db);


sábado, 16 de octubre de 2010

borra ficheros del servidor


// borra el fichero 'a.php' del servidor
// Almacena el valor de retorno del comando en $retval.
$ultima_linea = system('del a.php', $retval);

// Imprimir informacion adicional
echo $ultima_linea;


?>

jueves, 7 de octubre de 2010

saber el dia de la semana de una fecha

$dias = array('Lunes','Martes','Miercoles','Jueves','Viernes','Sabado','Domingo');
echo $fecha = $dias[date('N', strtotime('2000-01-01'))-1];

viernes, 5 de marzo de 2010

Evitar Inyeccion SQL Hackear

<?
// Evitamos la inyeccion SQL

// Modificamos las variables pasadas por URL
foreach( $_GET as $variable => $valor ){
$_GET [ $variable ] = str_replace ( "'" , "'" , $_GET [ $variable ]);
}
// Modificamos las variables de formularios
foreach( $_POST as $variable => $valor ){
$_POST [ $variable ] = str_replace ( "'" , "'" , $_POST [ $variable ]);
}
?>




.

Saber si estas infectado con inyeccion SQL Hackear

<?
if(!isset( $_GET [ "inyeccion" ])){
header ( "location: ?inyeccion='" );
} else {
echo 'Tu servidor ' ;
if( $_GET [ "inyeccion" ] != "'" )echo 'no ' ;
echo 'tiene problemas de inyección' ;
}
?>




.

lunes, 22 de febrero de 2010

tamaño resolucion de la pantalla monitor


<script language="JavaScript1.2">
<!--
document.writeln("<b>Tú resolución es de:</b> " + screen.width + " x " + screen.height +"");
//-->
</script>

martes, 17 de noviembre de 2009

Coordenadas del raton con Javascript

<html>

<head>

<script type="text/javascript">

function raton(e) {

x = e.clientX;

y = e.clientY;

document.getElementById('co').innerHTML = x+'-'+y;

}

</script>

</head>

<body onmousemove="raton(event)">

<p id="co"></p>

</body>

</html>

jueves, 9 de julio de 2009

saber el numero de dias que tiene un mes

function DiasMes($mes,$anyo)
{
if (((fmod($anyo,4)==0) and (fmod($anyo,100)!=0)) or (fmod($anyo,400)==0)) {
$dias_febrero = 29;
} else {
$dias_febrero = 28;
}
switch($mes) {
case 1: return 31; break;
case 2: return $dias_febrero; break;
case 3: return 31; break;
case 4: return 30; break;
case 5: return 31; break;
case 6: return 30; break;
case 7: return 31; break;
case 8: return 31; break;
case 9: return 30; break;
case 10: return 31; break;
case 11: return 30; break;
case 12: return 31; break;
}
}






.

saber el primer dia que empieza un mes

function PrimerDiaMes($mes,$anyo)
{
// fecha actual (por ejemplo 2005-08-03)
$date = strtotime($anyo."-".$mes."-01");

// desglosamos la fecha y obtenemos el año, mes y dia del mes (0 hasta 31)
$array_date = getdate($date);
$year = $array_date["year"];
$month = $array_date["mon"];
$month_day = $array_date["mday"];

// construimos una nueva fecha que empieza en el dia "1" por ejemplo 2005-08-01
$array_date = getdate(mktime(0, 0, 0, $month, 1, $year));
return $primerDia = $array_date["wday"];
}







.

jueves, 26 de marzo de 2009

lipiar la cache del navegagor

Header('Cache-Control: no-cache');
Header('Pragma: no-cache');




Ver URL
Hacer test de cache


.

lunes, 13 de octubre de 2008

PHP Genera clave password random

<?
function createRandomPassword()
{
$chars = "123456";

srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;

do
{
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
while (strlen($pass)!=1);

return $pass;
}
?>

viernes, 3 de octubre de 2008

Valida comprueba comprobar un email

<script language="javascript">
// devuelve TRUE si es correcto
// FALSE si no es correcto o es vacio


function validaEmail()
{

var mailres = true;
var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";
var texto = document.getElementById("email").value;

var arroba = texto.indexOf("@",0);
if ((texto.lastIndexOf("@")) != arroba) arroba = -1;

var punto = texto.lastIndexOf(".");

for (var contador = 0 ; contador < texto.length ; contador++){
if (cadena.indexOf(texto.substr(contador, 1),0) == -1){
mailres = false;
break;
}
}

if ((arroba > 1) && (arroba + 1 < punto) && (punto + 2 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1))
mailres = true;
else
{
mailres = false;
alert("El email es incorrecto.");
}

return mailres;
}


</script>

jueves, 2 de octubre de 2008

Maquetar con css y hacer tablas

<style type="text/css">

.Contenedor
{
width:500px;
margin: auto;
}

.Fila{
width:100%;
height:35px;
position:relative;
}

.Columna
{
position:absolute;
top:0px;
white-space:nowrap;
}


.C01{left:0px;}
.C02{left:200px;}
.C03{left:400px;}


.color1{
background: #ffa500;
}

.color2{
background: #87ceeb;
}

.color3{
background: #ffff00;
}

.color4{
background: #FFFFa4;
}


</style>




<div class="Contenedor color4">

<div class="Fila">
<div class="Columna C01 color1">
0px
</div>
<div class="Columna C02 color2">
200px
</div>
<div class="Columna C03 color3 ">
400px
</div>
</div>


<div class="Fila">
<div class="Columna C01 color1">
0px
</div>
<div class="Columna C02 color2">
200px
</div>
<div class="Columna C03 color3 ">
400px
</div>
</div>

</div>





.

paginar

$query.="select * from tabla";

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


//**** total paginas
$porpagina=15;
$paginas=floor($total / $porpagina); // 2.3 --> 2 2.6 --> 2

if ($total % $porpagina!=0)
$paginas++;

//**** paginas
if ($_GET['pagina']=="")
$_GET['pagina']=1;

if ($_GET['pagina']=="0")
$_GET['pagina']=1;

if ($_GET['pagina']<0)
$_GET['pagina']=1;

$hasta=($_GET['pagina']*$porpagina)+1;
$desde =$hasta-$porpagina;

$i=1;
while($row = mysql_fetch_array($result))
{
if (($i>=$desde) && ($i<$hasta))
{
echo $row['campo_tabla'];
}
$i++;
}


if ($paginas>1)
{
echo "<div style='text-align: right;'>";
for ($i=1;$i<=$paginas;$i++)
{
if ($_GET['pagina']!=$i)
$auxEstilo=" style='font-size: 12px;' ";
else
$auxEstilo=" style='font-size: 9px;' ";

echo "<a href='index.php?sec=preenvio2&nombre=".$_POST['nombre']."&categoria=".$_POST['categoria']."&pagina=".$i."' ".$auxEstilo.">".$i." </a>";
}
echo "</div>";
}






---------------

Marcar y descarmar checkbox

function marcarTodo(){
for (i=0;i<document.formu.elements.length;i++)
if(document.formu.elements[i].type == "checkbox")
document.formu.elements[i].checked=1 ;
}


function desmarcarTodo()
{
for (i=0;i<document.formu.elements.length;i++)
if(document.formu.elements[i].type == "checkbox")
document.formu.elements[i].checked=0;
}

lunes, 29 de septiembre de 2008

validar fecha cuando sale del input

<script language="JavaScript">
function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){
var bOk = false;
bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
return bOk;
}
function finMes(oTxt){
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
var nRes = 0;
switch (nMes){
case 1: nRes = 31; break;
case 2: nRes = 29; break;
case 3: nRes = 31; break;
case 4: nRes = 30; break;
case 5: nRes = 31; break;
case 6: nRes = 30; break;
case 7: nRes = 31; break;
case 8: nRes = 31; break;
case 9: nRes = 30; break;
case 10: nRes = 31; break;
case 11: nRes = 30; break;
case 12: nRes = 31; break;
}
return nRes;
}
function valDia(oTxt){
var bOk = false;
var nDia = parseInt(oTxt.value.substr(0, 2), 10);
bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
return bOk;
}
function valMes(oTxt){
var bOk = false;
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
bOk = bOk || ((nMes >= 1) && (nMes <= 12));
return bOk;
}
function valAno(oTxt){
var bOk = true;
var nAno = oTxt.value.substr(6);
bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
if (bOk){
for (var i = 0; i < nAno.length; i++){
bOk = bOk && esDigito(nAno.charAt(i));
}
}
return bOk;
}
function valFecha(oTxt){
var bOk = true;
if (oTxt.value != ""){
bOk = bOk && (valAno(oTxt));
bOk = bOk && (valMes(oTxt));
bOk = bOk && (valDia(oTxt));
bOk = bOk && (valSep(oTxt));
if (!bOk){
alert("Fecha inválida");
oTxt.value = "";
oTxt.focus();
}
}
}
</script>


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


<input type="text" size="10" name="fecha" onblur="valFecha(this)">



//***

Mostrar u ocultar un div con javascript

<script language="javascript">

function confirmarborrado()
{
document.getElementById("div1").style.display='block';
}

function cancelar()
{
document.getElementById("div1").style.display='none';
}

</script>

<a href="javascript:confirmarborrado()">Borrar</a>

<div id="div1" style="display: none;">

<input type="button" onclick="cancelar();" value=" CANCELAR ">

</div>

viernes, 20 de junio de 2008

redondear a la baja o a la alta

$total=20;
$porpagina=3;


$paginas=floor($total / $porpagina); // 2.3 --> 2 2.6 --> 2


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

a la alta floor(...) +1 :D

jueves, 31 de enero de 2008

CSS Ajustar el texto a un div (solo para IE)

word-wrap: break-word;

Subir por FTP un fichero

if (file_exists($dirdefin)) unlink($dirdefin);

$server = "ftp.lomerperx.com";
$puerto = 21;
$user = "lomerftp";
$pass = "123456";
$modo = true;
$id_ftp=ftp_connect($server,$puerto); //Obtiene un manejador del Servidor FTP
ftp_login($id_ftp,$user,$pass); //Se loguea al Servidor FTP
ftp_pasv($id_ftp,$modo); //Establece el modo de conexión
$file = $HTTP_POST_FILES['documento']['tmp_name'];
$base_archivo = basename($HTTP_POST_FILES['documento']['name']);
$g_archivo = "httpdocs/zonapublica/revista/numeros/" . $base_archivo;

if (!ftp_put($id_ftp,$g_archivo, $file,FTP_BINARY)) {
?><script>alert('Ocurrió un error durante la subida. Error del FTP.');</script><?
} else {
$consulta = "UPDATE revista SET pdfrev = '".$_FILES['documento']['name']."' WHERE numrev = '".$_POST['numero']."'";
$resultado = mysql_query($consulta);
}
ftp_quit($id_ftp); //Cierra la conexion FTP

Crear dinamicamente inputs input en un formulario con Javascript

<script>

//***** variable global
var i=1;

function fEscribeDir()
{
addFormField(document.formu1,'file','fichero'+i);
document.formu1.numficheros.value=i;
i=i+1;
}


function addFormField (form, fieldType, fieldName, fieldValue)
{
if (document.getElementById)
{
var input = document.createElement('INPUT');
var div = document.createElement('DIV');

if (document.all)
{ // what follows should work
// with NN6 but doesn't in M14
input.type = fieldType;
input.name = fieldName;
input.value = fieldValue;
}
else if (document.getElementById)
{ // so here is the
// NN6 workaround
input.setAttribute('type', fieldType);
input.setAttribute('name', fieldName);
input.setAttribute('value', fieldValue);
}

input.style.width="320px";
div.appendChild(input);
document.getElementById('ficheros').appendChild(div);
}
}

</script>



<form name="FrmUpload">

<div id="ficheros" style="position: absolute; top: <?echo ($top+($salto*7));?>px; left: 40px; width: 340px; height: 90px; overflow: auto;">
<input type="button" name="boton" id="boton" value="Añadir otro fichero" onclick="javascript: fEscribeDir();">
<br>
<input type="file" name="fichero0" style="width: 320px;">

</div>

</form>

lunes, 14 de enero de 2008

Tamaño de un fichero en PHP en Kb

if (file_exists("imagenes/subidas/descargas/".$row['fich']))
{
echo round(filesize("imagenes/subidas/descargas/".$row['fich'])/1024)." Kb";
}
else
{
echo "No hay fichero";
}

Quitar eliminar TAGS etiquetas

//*********** Funcion de PHP
strip_tags($cadena);

ó

//***********
function quitatags($cadena)
{
return ereg_replace( "<[^>]+>", '',$cadena);
}

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