Newsgroup: it.comp.www.php
Titolo: Problema con header

Ciao,
ho una funzione che dovrebbe reindirizzarmi il browser su un'altra pagina se
le condizioni
che sono contemplate si verificano.
 function controlla() {
  global $Password;
 connetti_db ();
  $messaggio = '';
    $sql = mysql_query("SELECT * FROM Permessi WHERE user = '$User' AND pwd
= '$Password' LIMIT 1");
    $righe = mysql_num_rows($sql);
    $row = mysql_fetch_array($sql);
     if ($righe == 0) {
           $messaggio= "<h2 align=\"center\">Accesso negato</h2>";
           $messaggio.= "<h2 align=\"center\">riprova</h2>";
  } else {
          session_register("Password");
header("Location:
http://www.arcadinoecountryhouse.com/admin/lingue.php
");
exit();
  }
  echo $messaggio;
  return $messaggio;
 }
Il problema qui è che header non viene eseguito anche la condizione viene
rispettata e soprattutto non da alcun errore.
La versione del php che sto utilizzando è la 4.3.1
Avete qualche idea?
Grazie della collaborazione
Andrea
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.510 / Virus Database: 307 - Release Date: 14/08/2003

 AND pwd = '".$Password."' LIMIT 1");
?

Con ogni browser succede?



Mi succede sia con Mozilla 1.4 che con IE 6
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.512 / Virus Database: 309 - Release Date: 19/08/2003

Primo dell'apertura "<?php" o di "<?" ci sono righe vuote?
La domanda forse è fuori luogo perchè in tal caao dovresti ricevere un
messaggio di errore ma ci provo ugualmente.

 ha scritto nel messaggio
news:LMq0b.16810$zN5.5...@news1.tin.it...

sbaglio ho hai dichiarato global solo la variabile $password ?
dopo questa riga
global $Password;
dovresti mettere
global $User;
visto che nella query le usi tutte e due con un And...è logico che non ti
tira fuori nessun valore
Kaworu


Ho omesso una parte del codice per comodità non è questo il problema
comunque ho scoperto che il problema è il di hosting e ve lo spiego
<?php
session_start();
 function prova () {
  $prova = $_REQUEST['p'];
   if ($prova == "1") {
     echo "prova 1";
   }
   if ($prova == "2") {
     header("Location: 
http://www.elica.it/homepage/elica.php
");
             exit;
   }
 }
if ($_REQUEST['p']!= '') {
  prova();
 }
?>
<html>
<head>
<title>Login Admin</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000"><center>
<a href="?p=1">P = 1</a><br>
<a href="?p=2">P = 2</a><br>
</CENTER>
</body>
</html>
Questa funzione di prova funziona regolarmente su altri 2 hosting su cui ho
accesso
mentre non funziona sul server in cui avrei bisogno che funzioni.
In pratica header dentro la funzione viene ignorato senza dare alcun
messaggio di errore.
il php in questione è 4.3.1 mente dove funziona è la 4.1.2 e anche una
versione + vecchia.
Quindi è è un problema di versione o + probabilmente di server
Fatemi sapere le vostre valutazioni
Andrea
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).


Se puoi usare netcat, puoi controllare se l'header location viene inviato al
browser.
Se vuoi un aiuto ci risentiamo.
Ciao


 ha scritto nel messaggio
news:Kp_0b.22210$zN5.6...@news1.tin.it...

Allora il problema era il server ora anno sistemato le cose
Grazie a  tutti della collaborazione
