Foro oficial de PHP

Muchas gracias por la ayuda, ya pude probarlo y funcionó a la perfección. En cuanto a la duda sobre subir imágenes al servidor con o sin BD para mostrarlas con PHP mejor me fui por el camino de subir las imágenes a una carpeta y con PHP poner el link para mostrarlas.

Ahora lo que ando buscando es como hacer que un campo tipo texto me muestre siempre un determinado numero de caracteres, por ejemplo si el texto contiene 300 caracteres me muestre solamente 100... Gracias.
mediante BD mira
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring

o por PHP
http://php.net/manual/en/function.substr.php
 
Buenas noches tengo la siguiente pregunta
tengo un sitio que tiene esta estructura para realizar descargas
download.php?id=1

hay alguna forma de abrir n links yo poniendo donde inicia y donde termina y asi bajar todo el contenido sin necesidad de estar cambiando el identificador manualmente....
ejem

http://www.907th.com/file.php?id=1
http://www.907th.com/file.php?id=2
...
http://www.907th.com/file.php?id=999
gracias

gracias
No se si aplica, pero hay un plugin para firefox que se llama batchdownload, si la solucion es a nivel de usuario podria servir. Si quieres hacer algo desde el servidor, crea un formulario donde te especifiquen cuales bajar y crea un zip con el contenido en el servidor, busca en php.net como hacerlo, es facil. Por ultimo devuelvele al usuario un link al zip y sale...pa pintura :D
 
Hola a todos
Primero que todo ofresco disculpas si este mensaje molesta a alguien porque más bien parece un spam pero por favor espero me comprendan.

Soy colombiano y estoy sin trabajo y para no oxidarme en mis conocimientos en PHP, he decidido desarrollar un "intento de red social" poro a poro iré metiendo cositas, pero por ahora está muy pero muy simple. Mejor dicho está en su versión Alpha.

La idea con este mensaje es conseguir un número de personas que deseen ayudarme a testear mi sitio, el cual les pido el favor a quienes estén interesados.

Desde ya muchas gracias y disculpen las molestias, la dirección es www.yosque.com
 
Muy buenas.

Algún desarrollador PHP en Cali que ande desempleado que quiera trabajar un proyecto de 6 meses por favor mandar MP.

Saludos.
 
PHP 5.3.7 Released!

[18-Aug-2011]
The PHP development team would like to announce the immediate availability of PHP 5.3.7. This release focuses on improving the stability of the PHP 5.3.x branch with over 90 bug fixes, some of which are security related.
Security Enhancements and Fixes in PHP 5.3.7:

  • Updated crypt_blowfish to 1.2. (CVE-2011-2483)
  • Fixed crash in error_log(). Reported by Mateusz Kocielski
  • Fixed buffer overflow on overlog salt in crypt().
  • Fixed bug #54939 (File path injection vulnerability in RFC1867 File upload filename). Reported by Krzysztof Kotowicz. (CVE-2011-2202)
  • Fixed stack buffer overflow in socket_connect(). (CVE-2011-1938)
  • Fixed bug #54238 (use-after-free in substr_replace()). (CVE-2011-1148)
Key enhancements in PHP 5.3.7 include:

  • Upgraded bundled Sqlite3 to version 3.7.7.1
  • Upgraded bundled PCRE to version 8.12
  • Fixed bug #54910 (Crash when calling call_user_func with unknown function name)
  • Fixed bug #54585 (track_errors causes segfault)
  • Fixed bug #54262 (Crash when assigning value to a dimension in a non-array)
  • Fixed a crash inside dtor for error handling
  • Fixed bug #55339 (Segfault with allow_call_time_pass_reference = Off)
  • Fixed bug #54935 php_win_err can lead to crash
  • Fixed bug #54332 (Crash in zend_mm_check_ptr // Heap corruption)
  • Fixed bug #54305 (Crash in gc_remove_zval_from_buffer)
  • Fixed bug #54580 (get_browser() segmentation fault when browscap ini directive is set through php_admin_value)
  • Fixed bug #54529 (SAPI crashes on apache_config.c:197)
  • Fixed bug #54283 (new DatePeriod(NULL) causes crash).
  • Fixed bug #54269 (Short exception message buffer causes crash)
  • Fixed Bug #54221 (mysqli::get_warnings segfault when used in multi queries)
  • Fixed bug #54395 (Phar::mount() crashes when calling with wrong parameters)
  • Fixed bug #54384 (Dual iterators, GlobIterator, SplFileObject and SplTempFileObject crash when user-space classes don't call the parent constructor)
  • Fixed bug #54292 (Wrong parameter causes crash in SplFileObject::__construct())
  • Fixed bug #54291 (Crash iterating DirectoryIterator for dir name starting with \0)
  • Fixed bug #54281 (Crash in non-initialized RecursiveIteratorIterator)
  • Fixed bug #54623 (Segfault when writing to a persistent socket after closing a copy of the socket)
  • Fixed bug #54681 (addGlob() crashes on invalid flags)
  • Over 80 other bug fixes.
Windows users: please mind that we do no longer provide builds created with Visual Studio C++ 6. It is impossible to maintain a high quality and safe build of PHP for Windows using this unmaintained compiler.
For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual Studio C++ 9 version of Apache. We recommend the Apache builds as provided by ApacheLounge. For any other SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable server), everything works as before. Third party extension providers must rebuild their extensions to make them compatible and loadable with the Visual Studio C++9 builds that we now provide.
All PHP users should note that the PHP 5.2 series is NOT supported anymore. All users are strongly encouraged to upgrade to PHP 5.3.7.


 
perdón el doble post

PHP 5.3.8 Released!

[23-Aug-2011] The PHP development team would like to announce the immediate availability of PHP 5.3.8. This release fixes two issues introduced in the PHP 5.3.7 release:

  • Fixed bug #55439 (crypt() returns only the salt for MD5)
  • Reverted a change in timeout handling restoring PHP 5.3.6 behavior, which caused mysqlnd SSL connections to hang (Bug #55283).
All PHP users should note that the PHP 5.2 series is NOT supported anymore. All users are strongly encouraged to upgrade to PHP 5.3.8.
 
Muy buenas.

Algún desarrollador PHP en Cali que ande desempleado que quiera trabajar un proyecto de 6 meses por favor mandar MP.

Saludos.

Es una pena que esté trabajando en varios proyectos con diferentes tecnologías (VB con Oracle, VB con MySql, VB con Firebird, Python con PostgreSQL) sino me le apuntaba a ese proyecto. Me encanta trabar con PHP. Suerte en tu búsqueda.

Saludos
 
Hola, tengo problemas con la hora en PHP, siempre me trae la GMT 0, y lo había "solucionado" restandole 5 a la hora, pero no siempre me trabaja bien, hay alguna función estándar o alguien que me de una ideita de como solucionarlo, gracias.
 
  • Me gusta
Reacciones: 2 personas
Hola LANeros, tengo una duda relacionada con PHP y MySQL, me gustaría saber si puedo modificar una tabla de una base de datos de MySQL con PHP, no me refiero a los datos si no, a los campos, añadir mas campos.

Ejemplo: Tengo una tabla llamada usuarios en una base de datos que solo tiene como campos usuario y contraseña, ¿puedo hacer que la tabla quede con los campos usuario, contraseña y fecha_nacimiento directamente desde PHP?

De antemano muchas gracias, espero si se pueda.
 
Claro que se puede, ejecutando las consultas para modificar la estructura de la base de datos como si fuera una consulta cualquiera.

Mira la documentacion de mysql.

Hola LANeros, tengo una duda relacionada con PHP y MySQL, me gustaría saber si puedo modificar una tabla de una base de datos de MySQL con PHP, no me refiero a los datos si no, a los campos, añadir mas campos.

Ejemplo: Tengo una tabla llamada usuarios en una base de datos que solo tiene como campos usuario y contraseña, ¿puedo hacer que la tabla quede con los campos usuario, contraseña y fecha_nacimiento directamente desde PHP?

De antemano muchas gracias, espero si se pueda.
Escrito desde m.LANeros.com (Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.600 Mobile Safari/534.8+)
 
Claro que se puede, ejecutando las consultas para modificar la estructura de la base de datos como si fuera una consulta cualquiera.

Mira la documentacion de mysql.

Asi es, recuerda con ALTER se hace, puedes quitar o agregar
 
Asi es, recuerda con ALTER se hace, puedes quitar o agregar


Ya lo resolví, gracias Yeison y JuliänD, lo resolví de la siguiente manera por si otro usuario también tiene la misma duda:

  • mysql_query('ALTER TABLE tabla ADD campo_nuevo tipo_campo') or die(mysql_error());
  • mysql_query('ALTER TABLE usuarios ADD fecha_nac DATE(10)') or die(mysql_error());
Gracias!.
 
  • Me gusta
Reacciones: 4 personas
Necesito alquien en bogota para hacer un proyecto personal en PHP y MySql con suma urgencia si alguien esta interesado comunicarse por MP Gracias
 
Buenas tardes

Acudo a ustedes con una dudita....tengo un formulario con varios checkbox y necesitaba meterlos en una sola columna en la base de datos. Lo primero que se me ocurrio fue crear asociaciones con if y darle a cada posibilidad un entero, algo asi

if($tipotercero0 = false && $tipotercero1 = false && $tipotercero2 = true) {
$tipotercero = 1
}
y asi para cada uno de los casos. $tipotercero0, 1 y 2 son los resultados de los checkbox y $tipotercero seria el resultado. Eso para pocas posibilidades es decente, maximo 3 checkbox, pero si lo necesito para mas o menos 9 checkbox las operaciones con if serian demasiadas entonces es poco efectivo, si saben de alguna solucion que le pueda dar a esto les agradeceria mucho.
 
Buenas tardes

Acudo a ustedes con una dudita....tengo un formulario con varios checkbox y necesitaba meterlos en una sola columna en la base de datos. Lo primero que se me ocurrio fue crear asociaciones con if y darle a cada posibilidad un entero, algo asi

y asi para cada uno de los casos. $tipotercero0, 1 y 2 son los resultados de los checkbox y $tipotercero seria el resultado. Eso para pocas posibilidades es decente, maximo 3 checkbox, pero si lo necesito para mas o menos 9 checkbox las operaciones con if serian demasiadas entonces es poco efectivo, si saben de alguna solucion que le pueda dar a esto les agradeceria mucho.
Esto suena muy complicado con checkboxes, seguro que analizó bien lo que desea? cómo sabe cuales tienen que estar chuleados para insertar x o y valor? Yo creo que lo mejor sería ponerles un nombre común en HTML: chuleados[] y por JavaScript validar (por la cantidad de estos o porque todos los que estén en chuleados[] estén chuleados efectivamente) y enviar el valor que se desea según eso, pero desde JavaScript (o ajax) pero por ese lado diría yo, antes que llegue algo a PHP
 
Buenas tardes

Acudo a ustedes con una dudita....tengo un formulario con varios checkbox y necesitaba meterlos en una sola columna en la base de datos. Lo primero que se me ocurrio fue crear asociaciones con if y darle a cada posibilidad un entero, algo asi

y asi para cada uno de los casos. $tipotercero0, 1 y 2 son los resultados de los checkbox y $tipotercero seria el resultado. Eso para pocas posibilidades es decente, maximo 3 checkbox, pero si lo necesito para mas o menos 9 checkbox las operaciones con if serian demasiadas entonces es poco efectivo, si saben de alguna solucion que le pueda dar a esto les agradeceria mucho.

Hola, qué necesitas exactamente? Porque me late que te sirve más usar radios que checkboxes, según lo que te entiendo. Aún así, te pongo un ejemplo de cómo poner todos esos checkboxes en un array asociativo, por si te sirve

Código:
<form id="frmCheck" name="frmCheck" method="post" action="multi.php">
<p>Opcion 1 <input type="checkbox" name="miCheck[opc1]" id="opc1" /></p>	
<p>Opcion 2 <input type="checkbox" name="miCheck[opc2]" id="opc2" /></p>	
<p>Opcion 3 <input type="checkbox" name="miCheck[opc3]" id="opc3" /></p>	
<p>Opcion 4 <input type="checkbox" name="miCheck[opc4]" id="opc4" /></p>	
<p>Opcion 5 <input type="checkbox" name="miCheck[opc5]" id="opc5" /></p>	
<p>Opcion 6 <input type="checkbox" name="miCheck[opc6]" id="opc6" /></p>	
<p>Opcion 7 <input type="checkbox" name="miCheck[opc7]" id="opc7" /></p>	
<p>Opcion 8 <input type="checkbox" name="miCheck[opc8]" id="opc8" /></p>	
<p>Opcion 9 <input type="checkbox" name="miCheck[opc9]" id="opc9" /></p>	
<p>Opcion 10 <input type="checkbox" name="miCheck[opc10]" id="opc10" /></p>
<input type="submit" value="Enviar"/>	
</form>

Y cuando es enviado a php, se recibe esto:

Código:
Array
(
    [miCheck] => Array
        (
            [opc1] => on
            [opc4] => on
            [opc6] => on
        )

)

Recibiéndose solamente los checkboxes que se han seleccionado

Saludos
 
Esto suena muy complicado con checkboxes, seguro que analizó bien lo que desea? cómo sabe cuales tienen que estar chuleados para insertar x o y valor? Yo creo que lo mejor sería ponerles un nombre común en HTML: chuleados[] y por JavaScript validar (por la cantidad de estos o porque todos los que estén en chuleados[] estén chuleados efectivamente) y enviar el valor que se desea según eso, pero desde JavaScript (o ajax) pero por ese lado diría yo, antes que llegue algo a PHP

La verdad yo javascript no se.......aunque si no hay otra forma de hacerlo tocara aprender para poder hacerlo por ahi......

Hola, qué necesitas exactamente? Porque me late que te sirve más usar radios que checkboxes, según lo que te entiendo. Aún así, te pongo un ejemplo de cómo poner todos esos checkboxes en un array asociativo, por si te sirve

Código:
<form id="frmCheck" name="frmCheck" method="post" action="multi.php">
<p>Opcion 1 <input type="checkbox" name="miCheck[opc1]" id="opc1" /></p>    
<p>Opcion 2 <input type="checkbox" name="miCheck[opc2]" id="opc2" /></p>    
<p>Opcion 3 <input type="checkbox" name="miCheck[opc3]" id="opc3" /></p>    
<p>Opcion 4 <input type="checkbox" name="miCheck[opc4]" id="opc4" /></p>    
<p>Opcion 5 <input type="checkbox" name="miCheck[opc5]" id="opc5" /></p>    
<p>Opcion 6 <input type="checkbox" name="miCheck[opc6]" id="opc6" /></p>    
<p>Opcion 7 <input type="checkbox" name="miCheck[opc7]" id="opc7" /></p>    
<p>Opcion 8 <input type="checkbox" name="miCheck[opc8]" id="opc8" /></p>    
<p>Opcion 9 <input type="checkbox" name="miCheck[opc9]" id="opc9" /></p>    
<p>Opcion 10 <input type="checkbox" name="miCheck[opc10]" id="opc10" /></p>
<input type="submit" value="Enviar"/>    
</form>
Y cuando es enviado a php, se recibe esto:

Código:
Array
(
    [miCheck] => Array
        (
            [opc1] => on
            [opc4] => on
            [opc6] => on
        )

)
Recibiéndose solamente los checkboxes que se han seleccionado

Saludos

Si....hasta alli voy bien y lo se hacer......pero lo que necesito ahora es meter eso en una sola columna de una base de datos...ya sea un entero o una palabra....lo que se me ocurrio ahorita....fue crear un binario con 1 en la posicion donde el checkbox este activado y 0 en la que no este activado.....pero la verdad no se como hacerlo....

Muchas gracias por el interes.....:D
 
Hola. Si ya has llegado hasta ese punto, te falta muy poco para dar con la solución que necesitas. En el ejemplo que puse, sólo hay que hacer unos pequeños cambios:

1. Los checks ya no los envío como un array asociativo, sino uno normalito (con números)
2. Creo un array con las n posiciones que necesito y lo inicializo todo en cero
3. Recorro el array de los checks que recibí (recordar que sólo se reciben datos de los checks seleccionados) usando un foreach para poder ver su indice también y asignar un uno en la misma posición al array que creé.
4. Uno el array en una cadena usando implode.

Este sería el resultado:

Código:
<form id="frmCheck" name="frmCheck" method="post" action="multi.php">
<p>Opcion 1 <input type="checkbox" name="miCheck[0]" id="opc1" /></p>	
<p>Opcion 2 <input type="checkbox" name="miCheck[1]" id="opc1" /></p>	
<p>Opcion 3 <input type="checkbox" name="miCheck[2]" id="opc1" /></p>	
<p>Opcion 4 <input type="checkbox" name="miCheck[3]" id="opc1" /></p>	
<p>Opcion 5 <input type="checkbox" name="miCheck[4]" id="opc1" /></p>	
<p>Opcion 6 <input type="checkbox" name="miCheck[5]" id="opc1" /></p>	
<p>Opcion 7 <input type="checkbox" name="miCheck[6]" id="opc1" /></p>	
<p>Opcion 8 <input type="checkbox" name="miCheck[7]" id="opc1" /></p>	
<p>Opcion 9 <input type="checkbox" name="miCheck[8]" id="opc1" /></p>	
<p>Opcion 10 <input type="checkbox" name="miCheck[9]" id="opc1" /></p>
<input type="submit" value="Enviar"/>

Como ves, ahí cambié el "opcX" por el valor n según su posición. Ahora, en el código php:

PHP:
	$miCheck = $_POST["miCheck"];
	
	print_r($miCheck);
	
	$miArray = array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
	foreach ($miCheck as $indice => $valor){		
		$miArray[$indice] = 1;
	}
	
	print_r($miArray);
	
	$cadenaFinal = implode("", $miArray);
	echo "<h1>$cadenaFinal</h1>";

Ahi se puede ver que guardo los datos recibidos en el array $miCheck. Luego creo el array $miArray que guardará los valores que luego pasaré a la base de datos e inicializo todas sus posiciones en cero. Pongo tantas posiciones como neecesite (según el número de checks que use). Luego recorro el array $miCheck usando un foreach, de este modo, por cada elemento del array, guardo la posición (o índice) en la variable $indice y su valor en la variable $valor. Dentro del recorrido, guardo en el array $miArray en la posición que me indique la varible $indice. Finalmente uso implode (función que une un array dentro de una cadena usando como separador la cadena que le indique en el primer argumento del llamado, que en este caso es una cadena vacia.

Este es el resultado:

Código:
Array
(
    [0] => on
    [2] => on
    [4] => on
)
Array
(
    [0] => 1
    [1] => 0
    [2] => 1
    [3] => 0
    [4] => 1
    [5] => 0
    [6] => 0
    [7] => 0
    [8] => 0
    [9] => 0
)
<h1>1010100000</h1>

Como ves, en la cadena resultante quedan los checks seleccionados como un "1". La cadena debe empezarse a contar de izquierda a derecha, es decir, que el check[0] está en el primer caracter de izquierda a derecha, el check[1] en el segundo caracter y así sucesivamente. Si quieres que el orden sea de derecha a izquiera (tal como se hace con los números en binario), ashi tienes que jugar con los indices cuando estás recorriendo $miCheck.

Uff... tal vez lo entiendas sin toda esa carreta que eché, pero tal vez le pueda servir a alguien más.

Saludos
 
  • Me gusta
Reacciones: 4 personas

Los últimos temas