2010-08-16 22 views
5

Me gustaría mostrar el mensaje de agradecimiento después de agregar comentarios solo para la primera carga de la página ... El formulario de comentarios se procesa utilizando un archivo php externo y luego se redirige a la página. Me gustaría mostrar un mensaje después de la redirección solamente ... ¿Cuál sería la mejor manera de hacerlo con php?Mostrar mensaje solo para la primera página cargar

Respuesta

5

Asumiendo que tiene el acceso al archivo php externo que procesa el archivo se podría hacer algo similar a lo siguiente en el archivo de procesamiento:

$_SESSION['flashMessage'] = 'Thank you for posting.'; 
header("Location: your-page.php'); 

y luego añadir lo siguiente a la pa redirección ge:

if ($_SESSION['flashMessage']) { 
    echo $_SESSION['flashMessage']; 
    $_SESSION['flashMessage'] = NULL; 
} 
+0

no debería ser la última línea '$ _SESSION [' flashMessage '] = NULL;' ? – oezi

+0

@oezi - está en lo cierto, enmendó la respuesta de manera apropiada. – simnom

3

Guarde el mensaje en una sesión. Muéstrelo y después de solo desarmar la variable de sesión.

0

Al redirigir enviar por $ _GET conjunto una variable algo como esto:

header("LOCATION: index.php?msg=1"); 

En el registro de índice si $ _GET [ 'msg'] == 1 entonces mostrar su mensaje

0

Es posible que desee aplicar el patrón PRG. Básicamente, publica el comentario y el servidor responde al cliente para realizar una redirección a su página con información adicional en la cadena de consulta, como argumentó Vadim.

"Elegante", sin sesiones y funcional.

1

En la página donde se procesa el siguiente comentario:

if($success) 
{ 
    $_SESSION['userMsg'] = "<p>Your comment has been added. Thank you.</p>"; 
} 

En cualquier/todas las páginas (pero sobre todo el que está redirigiendo a):

if($_SESSION['userMsg'] != '') 
{ 
    print $_SESSION['userMsg']; 
    unset($_SESSION['userMsg']; 
} 

Esto es suponiendo que estés utilizando Sesiones y, por lo tanto, anteriormente se ha llamado a la función session_start()

Cuestiones relacionadas