Quizás es una pregunta estúpida, pero ¿cuál es la forma correcta de redirigir al usuario a la página de éxito después de que el formulario se guarda en la base de datos?Forma correcta de redirigir después de enviar formulario
No sé por qué, pero si agrego action="done.php"
, entonces el formulario no guarda los datos en mi base de datos.
He intentado añadir header ("location:/done.php");
funcionó, pero cuando me mudé a la página inicial del servidor (PHP 4 y MySQL 3.23.5) hay un error cuando estoy tratando de enviar el formulario Warning: Cannot modify header information - headers already sent by ........
Aquí está mi código php :
if(isset($_POST['submit']))
{
$name=$_POST['name'];
$email = $_POST['email'];
$company = $_POST['company'];
$adress = $_POST['adress'];
$post = $_POST['post'];
$phone = $_POST['phone'];
$sql="INSERT INTO tekstile_users (id, name, email, company, adress, post, phone)
VALUES
('', '$name','$email','$company', '$adress', '$post', '$phone')";
if (mysql_query($sql,$con)) {
header ("location:/done.php");
}
else {
echo "Something is wrong";
}
}//end of submit button
I arreglar que convertir ese archivo .php a UTF-8 without BOM
.
¡Gracias a todos por sus sugerencias!
inyección SQL de Google. – notJim
No es un error de inyección, porque si elimino -header ("location: /done.php"); todo está bien – iKaspars
No quise decir que este problema es causado por la inyección de SQL. Solo quiero decir que tienes un gran defecto de seguridad en tu aplicación. – notJim