Problema Cannot modify header information

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
adrian_ady
Mesaje:80

Problema Cannot modify header information

Salut,
mai am o problema, sper ultima. O prezint aici simplificata, ma intereseaza numai functionarea logica, corecta, a codului. In site membri sunt de doua feluri, 'tip=fizic' (clienti) si 'tip=juridic' (furnizori), impartiti pe judete. La accesarea prezentei pagini sunt afisati toti furnizorii iar functia 'cautare' permite afisarea lor pe un anumit judet. In codul de mai jos ceva nu merge caci rezultatul este :

Cod: Selectaţi tot

Warning: Cannot modify header information - headers already sent by.........

Cod: Selectaţi tot

  <div align="center">
	<form action="" method="get">
    <table width="200" border="0" >
    <tr>
      <td align="right">Judet:</td>
       <td><select name="id_judet" class="inputcol" />
      <?
     	$judete = $db->select("SELECT * FROM judete");
	echo '<option value="">Selecteaza judetul...</option>';
	foreach($judete as $judet) 
	{
		echo '<option value = "'.$judet->id.'" ';
		if($judet->id == $_GET['id_judet']) echo 'selected';
		echo ' >'.$judet->judet.'</option>';
	}	
      ?>
      </select></td>
    <td style="padding-left: 10px;"><input name="button" type="submit" class="buton" id="button" value="Cauta" /></td>
    </tr>
    </table>
    </form>
    </div>
<?
if($_GET['id_judet'] && $_GET['id_judet']  > 0)
{
$and .= "AND id_judet = ".$_GET['id_judet']." ";	
}
			
$furnizori = $db->select("SELECT * FROM membri WHERE tip = 'juridic'  ".$and."  ");  
if(!$furnizori)
{
echo 'Nu sunt furnizori inregistrati in acest judet';
}
else
{
echo 'Exista!';
}
?> 

steell Mesaje:190
eroarea asta apare atunci cand trimiti continut catre browser inainte de apelarea headerelor. nu vad in scriptul asta vreun header, este prin alta parte. trebuie sa nu ai nimic inainte de acelea headere.

adrian_ady Mesaje:80
Merci pentru raspuns,
pagina este OK din acest punct de vedere, aici asa cum am specificat este numai scriptul care are 'buba'. Pagina afiseaza furnizorii, este problema numai cand se doreste selectarea lor pe judete.

MarPlo Mesaje:4343
Salut
In textul complet al mesajului de eroare se specifica si fisierul, plus linia de cod unde sunt date de iesire la browser (de exemplu cu "echo", "print", cod html, sau chiar alta eroare) inainte de vreo functie header(), ceea ce cauzeaza eroarea.
Vezi de exemplu raspunsul de pe aceasta pagina:
warning-cannot-modify-header-informatio ... s-t460.htm .

adrian_ady Mesaje:80
Am rezolvat problema insa dupa multe zile de testari si nu stiam de unde sa incep...

Cod: Selectaţi tot

{
$and = "AND id_judet = ".$_GET['id_judet']." ";   - GRESIT
}

{
$and = "AND id_judet = '".$_GET['id_judet']."' ";  - CORECT
}

Subiecte similare