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

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