- Home
- Categorie
- Coding e Sistemistica
- Coding
- Redirect con echo chiarimenti
-
Redirect con echo chiarimenti
Ciao a tutti
Utilizzo uno scrip che quando carica una pagina non trovata tramite una funziona echo mi scrive a video
"errore" (scritto tramite la funzione echo)
Adesso vorrei al posto di questa scritta (inutile) che mi facesse un redirect alla home page del sito, vorrei proprio che ridirezionasse, ma riesco solo a sccrierlo a video non ad effettuare il vero redirect.
Come posso fare, ho gia provato le classiche istruzioni per fare redirect (sia html e sia php) ma da sempre errore all'interno dell echo (tra cui un errore dell'header)
Potete aiutarmi con un semplice esempio, a me interessa che dopo la funzione echo mi sposti ad un'altra pagina.
ecco il codice della pagina
[PHP]
<?php
session_start(); include('includes/config.inc.php'); $myDb->connect(); $sql = "SELECT * FROM yob_site WHERE id='1'"; $result = mysql_query($sql); $row = mysql_fetch_array($result); $myDb->close(); define('AD_TIMER',$row['adtimer']); $ad_id=limpiar($_GET["ad"]); $myDb->connect(); $ad_result=mysql_query("SELECT * FROM yob_ads WHERE id='$ad_id'"); $myDb->close(); if (mysql_num_rows($ad_result)==0) { echo "QUESTO TESTO APPARE QUANDO CARICA UNA PAGINA NON TROVATA (vorrei al posto di questo fare un redirect ad un'altra pagina)"; exit(); } $ad_row=mysql_fetch_array($ad_result); if(!$logged_in) { $myDb->connect(); mysql_query("UPDATE yob_ads SET members=members+1 WHERE id='$ad_id'"); $visitime=time(); mysql_query("UPDATE yob_ads SET visitime='$visitime' WHERE id='$ad_id'"); $myDb->close(); } function get_codes($num,$len) { for($i=0;$i<$num;++$i) { $codes[]=substr(strtoupper(md5(rand(1000,1000000000))),0,$len); } return $codes; } $codes=get_codes(4,3); $_SESSION['captcha']=$codes[rand(0,count($codes)-1)]; $mycode = $_SESSION['captcha']; ?><html>
<head>
<title><?php echo SITENAME." - ".SITESLOGAN; ?></title>
<link rel="stylesheet" type="text/css" href="css/adview.css">
<style type="text/css">
[/PHP]Grazie a tutti e un saluto
-
Ciao, due cose:
- non scrivere tutto il codice PHP su una riga sola: è inleggibile
- al posto dell'echo() hai provato ad utilizzare header("Location: ....") ?
M.
-
purtroppo lo script è gia pronto e non so modificarlo, potete postarmi un esemio scritto cosi vedo se si puo integrare nel codice
dello script ?riposto il codice in maniera piu chiara
[PHP]
<?php
session_start(); include('includes/config.inc.php');
$myDb->connect();
$sql = "SELECT * FROM yob_site WHERE id='1'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$myDb->close(); define('AD_TIMER',$row['adtimer']);
$ad_id=limpiar($_GET["ad"]);
$myDb->connect();
$ad_result=mysql_query("SELECT * FROM yob_ads WHERE id='$ad_id'");
$myDb->close();
if (mysql_num_rows($ad_result)==0)
{ echo "QUESTO TESTO APPARE QUANDO CARICA
UNA PAGINA NON TROVATA (vorrei al posto di questo
fare un redirect ad un'altra pagina)"; exit();
} $ad_row=mysql_fetch_array($ad_result);
if(!$logged_in) { $myDb->connect();
mysql_query("UPDATE yob_ads SET members=members+1 WHERE
id='$ad_id'"); $visitime=time();
mysql_query("UPDATE yob_ads SET visitime='$visitime'
WHERE id='$ad_id'"); $myDb->close(); }
function get_codes($num,$len) { for($i=0;$i<$num;++$i)
{ $codes[]=substr(strtoupper(md5(rand(1000,1000000000))),0,$len); }
return $codes; } $codes=get_codes(4,3);
$_SESSION['captcha']=$codes[rand(0,count($codes)-1)];
$mycode = $_SESSION['captcha']; ?><html>
<head>
<title><?php echo SITENAME." - ".SITESLOGAN; ?></title>
<link rel="stylesheet" type="text/css" href="css/adview.css">
<style type="text/css">[/PHP]
-
Questo:
[php]
if (mysql_num_rows($ad_result)==0)
{ echo "QUESTO TESTO APPARE QUANDO CARICA
UNA PAGINA NON TROVATA (vorrei al posto di questo
fare un redirect ad un'altra pagina)"; exit();
}
[/php]lo devi sostituire con[php]
if (mysql_num_rows($ad_result)==0)
{ header("Location: LAMIAPAGINA.PHP"); exit();
}
[/php]M.
-
Oppure potresti fare anche così in modo che ti visualizza sia il testo e ti fa anche il redirect
[php]
if (mysql_num_rows($ad_result)==0)
{ echo "QUESTO TESTO APPARE QUANDO CARICA
UNA PAGINA NON TROVATA (vorrei al posto di questo
fare un redirect ad un'altra pagina)";
header("Location:tuosito.com");
exit();
}
[/php]
-
Ciao,
Se fai un echo e quindi c'è un output l'header genera errore, e il redirect non avviene. Quindi o testo o redirect.
-
Giusto...
...piccola dimenticanza
ciao a tutti
-
Se vuoi fare l'echo ed il redirect puoi fare l'echo in PHP ed il redirect in JAVASCRIPT.
M.
ziodrupal.net sviluppo siti CMS Drupal
-
Salve
volevo informare tutti che ho risolto come mi avete ilustrato voi
header("Location: LAMIAPAGINA.PHP"); al posto di echo
Funziona perfettamente
vi ringrazio di cuore
un saluto
buona serata a tutti