martes, 16 de septiembre de 2014
formatear miles punto de los miles javascript
function formato_numero(numero, decimales, separador_decimal, separador_miles){ // v2007-08-06
numero=parseFloat(numero);
if(isNaN(numero)){
return "";
}
if(decimales!==undefined){
// Redondeamos
numero=numero.toFixed(decimales);
}
// Convertimos el punto en separador_decimal
numero=numero.toString().replace(".", separador_decimal!==undefined ? separador_decimal : ",");
if(separador_miles){
// Añadimos los separadores de miles
var miles=new RegExp("(-?[0-9]+)([0-9]{3})");
while(miles.test(numero)) {
numero=numero.replace(miles, "$1" + separador_miles + "$2");
}
}
return numero;
}
.
lunes, 21 de julio de 2014
PHP Genera clave RAMDOM
function createRandomPassword()
{
$chars = "1234567890QAZWSXEDCRFVTGBYHNUJMIKOLPaqzwsxedcrfvtgbyhnujmikolp";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
do
{
$num = rand() % strlen($chars);
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
while (strlen($pass)!=15);
return $pass;
}
.
MGFLOTAS insertar records con NULL
$texto="
INSERT INTO `records` VALUES (8725194, 32, '38.2821632', '-0.7180091', '165', '2014-07-21', '07:08:20', '0', '12', '0', '1', '28', '382821632', '-7180091', '09:07:46', '0', '0', '0', 9);
INSERT INTO `records` VALUES (8725195, 32, '38.2823232', '-0.7176723', '165', '2014-07-21', '07:09:18', '0', '12', '0', '0', '2', '382823232', '-7176723', '09:07:46', '0', '0', '0', 9);
INSERT INTO `records` VALUES (8725196, 32, '38.2823232', '-0.7176723', '165', '2014-07-21', '07:09:19', '0', '13', '0', '1', '0', '382823232', '-7176723', '09:07:46', '0', '0', '0', 9);
INSERT INTO `records` VALUES (8725197, 32, '38.2823232', '-0.7176723', '165', '2014-07-21', '07:09:23', '0', '13', '0', '0', '0', '382823232', '-7176723', '09:07:46', '0', '0', '0', 9);
";
$vector=explode(";",$texto);
for ($i=0;$i<sizeof($vector);$i++)
{
$vector2=explode(",",$vector[$i]);
echo "INSERT INTO `records` VALUES (null";
for ($j=1;$j<sizeof($vector2);$j++)
{
echo ",".$vector2[$j];
}
echo ";<br>";
}
?>
.
jueves, 17 de julio de 2014
Evitar la inyeccion SQL
// Modificamos las variables pasadas por GET
foreach( $_GET as $variable => $valor )
{
$_GET[$variable]=str_replace("'", "",$_GET[$variable]);
$_GET[$variable]=str_replace("\"", "",$_GET[$variable]);
$_GET[$variable]=str_replace("`", "",$_GET[$variable]);
$_GET[$variable]=str_replace("´", "",$_GET[$variable]);
}
// Modificamos las variables pasadas por POST
foreach( $_POST as $variable => $valor )
{
$_POST[$variable]=str_replace("'","",$_POST[$variable]);
$_POST[$variable]=str_replace("\"","",$_POST[$variable]);
$_POST[$variable]=str_replace("`","",$_POST[$variable]);
$_POST[$variable]=str_replace("´","",$_POST[$variable]);
}
.
viernes, 6 de junio de 2014
php ver el arbol de directorios carpetas y archivos
$ruta=".";
$directorio = opendir($ruta); //ruta actual
$mas=0;
while ($archivo = readdir($directorio))
{
if (is_dir($archivo))
{
if (($archivo!=".") && ($archivo!=".."))
{
echo "[carpeta] ".$archivo;
echo "<br>";
}
}
else
{
if (file_exists($ruta."/".$archivo))
{
echo $archivo;
echo "<br>";
}
}
}
?>
.
jueves, 3 de abril de 2014
viernes, 7 de marzo de 2014
martes, 11 de febrero de 2014
subir ficheros PHP $HTTP_POST_FILES está deprecated
<html>
<body>
<form action="insert.php" method="post" enctype="multipart/form-data">
Foto:
<input type="file" name="foto" id="foto"><br>
<input type="submit" name="submit" value=" SUBIR ">
</form>
</body>
</html>
//**************** insert.php
<?php
if ($_FILES["foto"]["error"] > 0)
{
echo "Error: " . $_FILES["foto"]["error"] . "<br>";
}
else
{
echo "Subir: " . $_FILES["foto"]["name"] . "<br>";
echo "Tipo: " . $_FILES["foto"]["type"] . "<br>";
echo "Tamaño: " . ($_FILES["foto"]["size"] / 1024) . " kB<br>";
echo "Servidor: " . $_FILES["foto"]["tmp_name"];
}
?>
.
viernes, 24 de enero de 2014
php ver el contenido de una carpeta o directorio
$ruta=".";
$directorio = opendir($ruta); //ruta actual
$mas=0;
while ($archivo = readdir($directorio)) //obtenemos un archivo y luego otro sucesivamente
{
if (is_dir($archivo)==false) //verificamos si es o no un directorio
{
echo $archivo;
echo "<br>";
}
}
?>
miércoles, 22 de enero de 2014
php concatenar dos nombres para formar una variable variables unir juntar
$perro1="bola";
$perro2="toy";
$i=2;
echo $perro2;
${'perro'.$i}="nuevo nombre";
echo $perro2;
.
saber el valor de un select option con javascript
<option value="11">Person1</option>
<option value="27">Person2</option>
<option value="17">Person3</option>
<option value="10">Person4</option>
<option value="7">Person5</option>
<option value="32">Person6</option>
<option value="18">Person7</option>
<option value="29">Person8</option>
<option value="28">Person9</option>
<option value="34">Person10</option>
<option value="12">Person11</option>
<option value="19">Person12</option>
</select>
var pob=document.getElementById('poblacion').options[document.getElementById('poblacion').selectedIndex].value;
cambiar select option con javascript
<option value="11">Person1</option>
<option value="27">Person2</option>
<option value="17">Person3</option>
<option value="10">Person4</option>
<option value="7">Person5</option>
<option value="32">Person6</option>
<option value="18">Person7</option>
<option value="29">Person8</option>
<option value="28">Person9</option>
<option value="34">Person10</option>
<option value="12">Person11</option>
<option value="19">Person12</option>
</select>
document.getElementById('poblacion').value='Person8';
.
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 SQLDELETE n1FROM prueba n1, prueba n2WHERE n1.titulo = n2.tituloAND 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 SQLDELETE n1FROM prueba n1, prueba n2WHERE n1.titulo = n2.tituloAND n1.id < n2.id; |
martes, 29 de octubre de 2013
php suma y resta horas
$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
{
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)]DATEDATETIMEDECIMAL[(M[,D])]SIGNED [INTEGER]TIMEUNSIGNED [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
{
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
.
martes, 19 de marzo de 2013
solucion appserv phpmyadmin no funciona en windows vista
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 apachey 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/PhpMyAdminHope 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 toNetwork 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 localhostand prefix it:
#::1 localhostThis 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
//************************
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
jueves, 18 de octubre de 2012
javascript buscar dentro de un string instring instr
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
Configuracion --> Preferencias --> Copia de seguridad/Autocompletar y darle a Habilitar autocompletar
.
domingo, 4 de diciembre de 2011
div 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
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
//***
$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
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
//***********************************
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
function foco()
{
document.getElementById('buscar').focus();
}
</script>
(...)
<body onload="foco();">
<input type="text" name="buscar" id="buscar">
martes, 18 de octubre de 2011
centrar un div
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
enlace hiperenlace sin subrayar ni color
{
color: #000000;
text-decoration:none;
}
//*****
<a href="" class="hiperEnlace1">pincha aqui</a>
jueves, 29 de septiembre de 2011
exportar datos de MySQL con PHP
$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)
$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
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
{
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
{
// 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
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
// 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
.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
$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
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
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
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
$porpagina=3;
$paginas=floor($total / $porpagina); // 2.3 --> 2 2.6 --> 2
//*********************
a la alta floor(...) +1 :D
jueves, 31 de enero de 2008
Subir por FTP un fichero
$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
//***** 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
{
echo round(filesize("imagenes/subidas/descargas/".$row['fich'])/1024)." Kb";
}
else
{
echo "No hay fichero";
}
Quitar eliminar TAGS etiquetas
strip_tags($cadena);
ó
//***********
function quitatags($cadena)
{
return ereg_replace( "<[^>]+>", '',$cadena);
}
miércoles, 28 de noviembre de 2007
MySql fecha
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
<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
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
function cerrarse()
{
window.close()
}
</script>
<form>
<input type=button value="Cerrar" onclick="cerrarse()">
</form>
Abrir ventana POP UP 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
<!--
// 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
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 &->&,"->"
- htmlentities(); Convierte todos los caracteres a entidades html. á pasa a ser á
- 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
Mandar un email con ficheros adjuntos
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);
?>