Foros del Web » Programando para Internet » PHP »

Problema con formulario.

Estas en el tema de Problema con formulario. en el foro de PHP en Foros del Web. Buenas gente, os comento. Estoy haciendo una página web de contacto, la cual contiene un formulario en html (pixel2you.com/contact.html), que llama a formulario.php, para enviarlo, ...
  #1 (permalink)  
Antiguo 08/04/2006, 06:30
 
Fecha de Ingreso: abril-2006
Mensajes: 218
Antigüedad: 11 años, 8 meses
Puntos: 0
Problema con formulario.

Buenas gente, os comento.

Estoy haciendo una página web de contacto, la cual contiene un formulario en html (pixel2you.com/contact.html), que llama a formulario.php, para enviarlo, validarlo etc...

Bien, todo me va correctamente, pero ayer decidí, insertarle a este código una validación mediante imágenes aleatorias.

Los problemas que tengo son los siguientes, como no me cabia en el propio formulario, decidí, crear una nueva web, para validar el formulario, anterior, mediante otro formulario, el cual contendría la imagen aleatoria (pixel2you.com/validacion.php).

Para ello, he creado varios php...

La página validacion.php contiene:

<?php
include("proteccion_grafica.php");
?>

<form action="validar_codigo.php" method="post" name="datos" id="datos">
<p><br />
<span class="texto">C&oacute;digo:</span>
<input name="codigo_seguridad" type="password" class="casillas" size="5" maxlength="5" />
<br />
</p>
</form>

================================================== =====================

La página validar_codigo.php contiene:

<?php
session_start();

if (trim($_SESSION["cdg"]) != trim($_POST["codigo_seguridad"])) {
header('Location: pixel2you.com/fallo.html');
}

else{

if(mail($destinatario, $asunto, $texto,$cabeceras)){
header('Location: pixel2you.com/completado.html');
mail($de, $asunto, $respuesta,$headers);
}
}
?>

================================================== =====================

La página proteccion_grafica.php contiene:

<?php

function generar_codigo($longitud=5) {
mt_srand((double)microtime()*1000000);
$codigo=md5(uniqid(mt_rand()));
$codigo=substr($codigo, 0, $longitud);
return $codigo;
}

session_start();
session_register('ataque');

$_SESSION["cdg"]=generar_codigo();

================================================== =====================

?>

<?php // codigo.php
// Iniciamos la sesión
session_start();

// Le damos un nombre
session_register('ataque');

// Enviamos las cabeceras al navegador, para que
// sepa que el documento es una imagen
header("Content-type: image/png");

// a la variable $codigo le damos el
// valor del código generado
$codigo=$_SESSION["cdg"];

// Creamos la imagen
$imagen=ImageCreate(70, 35);

// Generamos el fondo gris
$fondo_blanco=ImageColorAllocate($imagen, 255, 255, 255);

// Generamos el color de las letras (negro)
$letras_negras=ImageColorAllocate($imagen, 0, 0, 0);

// Rellenamos la imagen con fondo gris
ImageFill($imagen, 0, 0, $fondo_blanco);

// Escribimos $codigo con letras negras
// de numero 5
ImageString($imagen, 5, 10, 10, $codigo, $letras_negras);

// Creamos la imagen *.png
ImagePng($imagen);
?>

================================================== =====================

Bien los errores y dudas que tengo son las siguientes:

Error:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/vqeacznu/public_html/validacion.php:9) in /home/vqeacznu/public_html/proteccion_grafica.php on line 10

La línea 10 viene siendo -> session_start();

Dudas, que tendría que hacer, para que una vez haya pasado del formulario de contact, al formulario de validacion con la imagen aleatoria, si acepta el código, me enviase los datos del formulario anterior?, es decir, tendría que pasar todos los datos del formulario a validar_codigo.php?

Por favor, si alguien lo sabe que me ayude, se lo agradecería muchisimo.

Muchas gracias.
  #2 (permalink)  
Antiguo 08/04/2006, 07:48
Avatar de JAK^  
Fecha de Ingreso: octubre-2005
Ubicación: ^^CaMiNiTo Al CoSTaDo DeL
Mensajes: 850
Antigüedad: 12 años, 1 mes
Puntos: 4
hola erponcios! mir por el error
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/vqeacznu/public_html/validacion.php:9) in /home/vqeacznu/public_html/proteccion_grafica.php on line 10

yo lo solucione en mi page (y vi mucha gente ke lo soluciono igual)

poniendo la sesionstart(); al principio de la pagina sin espacios ni comentarios en su modulo es decir:

<? sesion_start(); ?>

eso bien al principio antes de todo incluyendo comentarios por las dudas.


salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.