Tengo una página que muestra varios elementos incluso si el ID de la base de datos no existe o fue eliminado (lo que arroja todo tipo de errores desagradables junto con los motores de búsqueda que continúan enumerar páginas inexistentes).Problema de redirección de página PHP - No se puede modificar la información del encabezado
¿Se puede modificar la primera parte del código de la página que se muestra a continuación para enviar un 404 (o al menos a projecterror.php que tiene encabezados 404) si $ id no existe? ¡Muchas gracias!
<?php
include_once("includes/linkmysql.php");
$adda=$_GET['a'];
$cont=$_GET['c'];
$select="SELECT * FROM projects where id='$id'";
$qselect = mysql_query($select);
while ($row = mysql_fetch_array($qselect)) {
La siguiente modificación tan amablemente sugerido por Matt Wilson como resultado de una observación original de Vivek Goel resultados en las entradas válidas que muestran la página correctamente, pero páginas que no existen se muestran los errores por debajo de este código modificado:
<?php
include_once("includes/linkmysql.php");
$adda=$_GET['a'];
$cont=$_GET['c'];
$select="SELECT * FROM projects where id='$id'";
$qselect = mysql_query($select);
if(mysql_num_rows($qselect) === 0)
{
header("HTTP/1.1 301 Moved Permanently");
header('Location: http://examplesite.domain/errorpage') ;
exit;
}
while ($row = mysql_fetch_array($qselect)) {
errores resultantes de las modificaciones anteriores:
Warning: Cannot modify header information - headers already sent by (output started at /home/website/public_html/header1.php:14) in /home/website/public_html/header1.php on line 22
Warning: Cannot modify header information - headers already sent by (output started at /home/website/public_html/header1.php:14) in /home/website/public_html/header1.php on line 23 Lines 22 and 23 are the two header lines in your example above
Líneas 22 una nd 23 son las dos líneas de cabecera como a continuación:
header("HTTP/1.1 301 Moved Permanently");
header('Location: http://examplesite.domain/errorpage') ;
Gran trabajo - esto funcionó exactamente como esperaba, ¡muchas gracias! – JoeW
¡Funcionó perfectamente !. ¡Gracias! –
¡Gran solución! – Newbyman