Solucion al Cannot modify header information – headers already sent by…

Articulo creado por Ferticidio

Un error muy común en los archivos php es el de Cannot modify header information – headers already sent by… Y aca ponen el archivo que genera esa error.

Una vez, recuerdo, abandone un proyecto que estaba haciendo porque no lo pude solucionar. Cuando buscamos información referente a este error siempre nos encontramos con lo mismo, fijate que tu script no haga ninguna salida antes de crear un cookie (o de usar una funcion referida a los headers) y fijate que no halla espacios en blanco antes del <?php o despues del ?>. Pero hay una cosa mas.

No recuerdo donde lo lei, hace unos meses ya, si nuestro archivo esta guardado en unacodificación de caracteres distinta de ANSI nos va a dar el mismo error. Supuestamente se toma el cambio de codificación de caracteres como una salida.

Bueno el tema es que hoy me econtre con ese problema en una instalación de WordPress. Me decia: “Cannot modify header information – headers already sent by (output started at chorizo/wp-config.php)” Agarre el archivo, me fije que no hubiera espacios al principio o al final (es que lo estuve toqueteando), y siguio dando problemas. Agarre el viejo y querido Notepad, abri el archivo y le di al guardar como, ahí eleji la codificación ANSI. ¿Y saben que?… salio andando.

Anuncios

PHP: Crear un captcha by bufa.es

Articulo de www.bufa.es

Vamos a ver como crear un captcha desde php. Un captcha es una palabra aleatoria mostrada como imagen que se utiliza para evitar que los robots accedan a determinadas web. Este tipo de código de verificación es utilizada para evitar el spam en los formularios de las páginas web.

A continuación una función en php para generar un captcha, con un parámetro que le pasaremos el número de caracteres que formaran la nueva imagen.

function captcha($numcaracteres = 6){$caracteres = '23456789bcdfghjkmnpqrstvwxyz';
$codigo = '';
$i = 0;
while ($i < $numcaracteres) {
$codigo .= substr($caracteres, mt_rand(0, strlen($caracteres)-1), 1);
$i++;
}

// Iniciamos sesión
$_SESSION["captcha"] = $codigo;

// Medidas
$ancho = 100;
$alto = 25;

// Creamos nueva imagen
$imagen = ImageCreate($ancho, $alto);

// Definimos 3 Colores
$color1 = ImageColorAllocate($imagen, 255, 255, 255); // blanco
$color2 = ImageColorAllocate($imagen, 0, 0, 0); // negro
$color3 = ImageColorAllocate($imagen, 255, 0, 0); //rojo

// Color background
ImageFill($imagen, 0, 0, $color2);

// Color texto
ImageString($imagen, 5, 30, 3, $codigo, $color1);

// Líneas diagonales
imageline($imagen, 0, 5, $ancho, 5, $color3);
imageline($imagen, $ancho/4, 0, $ancho/2, $alto, $color3);
imageline($imagen, 0, 18, $ancho, 18, $color3);
imageline($imagen, 46, 0, 86, $alto, $color3);

header("Content-Type: image/jpeg");

// Generamos la nueva imágen jpg
ImageJpeg($imagen);

// Liberamos recursos
ImageDestroy($imagen);
}

// Modo de uso
captcha();

Descargar