Warning: Cannot modify header information

Status
Niet open voor verdere reacties.

savant11

Gebruiker
Lid geworden
7 jan 2008
Berichten
153
HOi allen,

heb dit:
Code:
<?php
//ob_start(); 
class DisplayAuthenticatieGev
{
	function DisplayAuthenticatieGev()
	{		
	}
		
	function addData($voornaam,$achternaam,$email,$projectnaam)
	{
		$sql = "INSERT INTO persoon(voornaam,achternaam,email,projectnaam) 
          VALUES('".$voornaam."','".$achternaam."','".$email."','".$projectnaam."')"; 
		
		
		if(!$res = mysql_query($sql))
		{
    	trigger_error(mysql_error().'<br/>In query:'.$sql);
		}
			else
			{
    		$idpersoon = mysql_insert_id();
			}         
	}

	function uniekData($idpersoon)
	{
		mysql_query("(SELECT 'idpersoon' FROM persoon  ) VALUES ('$idpersoon')");

	if(mysql_errno() == 1062) {
    	echo 'Deze waardes bestaan al in de database';
	} else {
    echo 'Toegevoegd';
}
		
	}
		
	function getData($data)	
	{		 
		$sql = "SELECT idpersoon, voornaam,achternaam,email,projectnaam,link,logo FROM persoon
				ORDER BY idpersoon";
				//LIMIT 1	";		
			
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data == mysql_fetch_object($result))
		{			
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;			
			$array[$i][3] = $data->projectnaam;						
			$i++;		
		}
		return $array;	
	}
	
	function editData($idpersoon, $voornaam, $achternaam,$email,$projectnaam, $link, $logo)
	{
		$sql = "UPDATE persoon 
				SET voornaam = '$voornaam', achternaam = '$achternaam', email = '$email', 
				projectnaam = '$projectnaam', link = '$link',logo ='$logo'
				WHERE idpersoon = '$idpersoon'";
		
		$result = mysql_query($sql);	
	}
	
	function getAllData()
	{
		$sql = "SELECT idpersoon, voornaam, achternaam,email, projectnaam,
		 		projectnaam, link,logo, FROM persoon
				ORDER BY idpersoon ASC";
		
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data = mysql_fetch_object($result))
		{
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;					
			$array[$i][3] = $data->projectnaam;
			$array[$i][4] = $data->link;			
			$array[$i][5] = $data->idpersoon;	
			$i++;
		}
		
		
		return $array;	
		//return $result;	
		
	}
	
	function getZoekData($idpersoon)
	{
		$sql = "SELECT authenticatie_id, voornaam, achternaam,email, geboortedatum, 
		prohjectnaam, link,logo FROM persoon
				WHERE idpersoon = '$idpersoon'";
		
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data = mysql_fetch_object($result))
		{
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;					
			$array[$i][3] = $data->projectnaam;
			$array[$i][4] = $data->link;
			$array[$i][5] = $data->logo;			
			$array[$i][6] = $data->idpersoon;	
			$i++;
			
			
		}
		return $array;	
		//return $result;
		
	}
	function deleteData()
	{
		$idpersoon = $_GET["idpersoon"];
		$sql= "DELETE FROM persoon WHERE idpersoon = '$idpersoon' ";		
	}	
}
//ob_end_flush();
?>

Maar nu krijg ik elke keer de error:

Warning: Cannot modify header information - headers already sent by (output started at C:\www\stadslableiden\classes\class.DisplayAuthenticatieGev.php:17) in C:\www\stadslableiden\toevoegen.php on line 90

Iemand een oplossing?

Alvast bedankt!!
 
HOi allen,

heb dit:
PHP:
<?php
//ob_start(); 
class DisplayAuthenticatieGev{
	function DisplayAuthenticatieGev()	{		
	}
		
	function addData($voornaam,$achternaam,$email,$projectnaam){
		$sql = "INSERT INTO persoon(voornaam,achternaam,email,projectnaam) 
          VALUES('".$voornaam."','".$achternaam."','".$email."','".$projectnaam."')"; 
		
		if(!$res = mysql_query($sql))	{
    	             trigger_error(mysql_error().'<br/>In query:'.$sql);
		}else{
    		     $idpersoon = mysql_insert_id();
		}         
	}

	function uniekData($idpersoon){
		mysql_query("(SELECT 'idpersoon' FROM persoon  ) VALUES ('$idpersoon')");
	        if(mysql_errno() == 1062) {
    	               echo 'Deze waardes bestaan al in de database';
	        } else {
                      echo 'Toegevoegd';
                }
	}
		
	function getData($data)	{		 
		$sql = "SELECT idpersoon, voornaam,achternaam,email,projectnaam,link,logo FROM persoon	ORDER BY idpersoon";
				//LIMIT 1	";		
			
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data == mysql_fetch_object($result)){			
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;			
			$array[$i][3] = $data->projectnaam;						
			$i++;		
		}
		return $array;	
	}
	
	function editData($idpersoon, $voornaam, $achternaam,$email,$projectnaam, $link, $logo){
		$sql = "UPDATE persoon 
				SET voornaam = '$voornaam', achternaam = '$achternaam', email = '$email', 
				projectnaam = '$projectnaam', link = '$link',logo ='$logo'
				WHERE idpersoon = '$idpersoon'";
		
		$result = mysql_query($sql);	
	}

	function getAllData(){
		$sql = "SELECT idpersoon, voornaam, achternaam,email, projectnaam,
		 		projectnaam, link,logo, FROM persoon
				ORDER BY idpersoon ASC";
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data = mysql_fetch_object($result))	{
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;					
			$array[$i][3] = $data->projectnaam;
			$array[$i][4] = $data->link;			
			$array[$i][5] = $data->idpersoon;	
			$i++;
		}
		return $array;	
		//return $result;	
	}
	
	function getZoekData($idpersoon)	{
		$sql = "SELECT authenticatie_id, voornaam, achternaam,email, geboortedatum, 
		prohjectnaam, link,logo FROM persoon	WHERE idpersoon = '$idpersoon'";
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data = mysql_fetch_object($result))		{
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;					
			$array[$i][3] = $data->projectnaam;
			$array[$i][4] = $data->link;
			$array[$i][5] = $data->logo;			
			$array[$i][6] = $data->idpersoon;	
			$i++;
		}
		return $array;	
		//return $result;
	}
	function deleteData()	{
		$idpersoon = $_GET["idpersoon"];
		$sql= "DELETE FROM persoon WHERE idpersoon = '$idpersoon' ";		
	}	
}
//ob_end_flush();
?>
Warning: Cannot modify header information - headers already sent by (output started at C:\www\stadslableiden\classes\class.DisplayAuthenticatieGev.php:17) in C:\www\stadslableiden\toevoegen.php on line 90
!


de header is al verstuur is meestal dat je wil doorsluizen naar een ander pagina en er al iets is geprint wil zeggen elke echo of print bekijke
 
hoi

Heb nu dit:

Code:
<?php
//ob_start(); 
class DisplayAuthenticatieGev
{
	function DisplayAuthenticatieGev()
	{		
	}
		
	function addData($voornaam,$achternaam,$email,$projectnaam)
	{
		$sql = "INSERT INTO persoon(voornaam,achternaam,email,projectnaam) 
          VALUES('".$voornaam."','".$achternaam."','".$email."','".$projectnaam."')"; 
		
		
		if(!$res = mysql_query($sql))
		{
    	trigger_error(mysql_error().'<br/>In query:'.$sql);
		}
			else
			{
    		$idpersoon = mysql_insert_id();
			} 
			        
	}

	function uniekData($idpersoon)
	{
		mysql_query("(SELECT 'idpersoon' FROM persoon  ) VALUES ('$idpersoon')");

	if(mysql_errno() == 1062) {
    	echo 'Deze waardes bestaan al in de database';
	} else {
    echo 'Toegevoegd';
}
		
	}
		
	function getData($data)	
	{		 
		$sql = "SELECT idpersoon,voornaam,achternaam,email,projectnaam 
				FROM persoon
				ORDER BY idpersoon";
				//LIMIT 1	";		
			
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data == mysql_fetch_object($result))
		{			
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;			
			$array[$i][3] = $data->projectnaam;						
			$i++;		
		}
		return $array;	
	}
	
	function editData($idpersoon, $voornaam, $achternaam,$email,$projectnaam)
	{
		$sql = "UPDATE persoon 
				SET voornaam = '$voornaam', achternaam = '$achternaam', email = '$email', 
				projectnaam = '$projectnaam'
				WHERE idpersoon = '$idpersoon'";
		
		$result = mysql_query($sql);	
	}
	
	function getAllData()
	{
		$sql = "SELECT idpersoon,voornaam,achternaam,email,projectnaam,
			    FROM persoon,
				ORDER BY idpersoon ASC";
		
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data = mysql_fetch_object($result))
		{
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;					
			$array[$i][3] = $data->projectnaam;					
			$array[$i][4] = $data->idpersoon;	
			$i++;
		}
		
		
		return $array;	
		//return $result;	
		
	}
	
	function getZoekData($idpersoon)
	{
		$sql = "SELECT authenticatie_id, voornaam, achternaam,email, geboortedatum, 
		prohjectnaam, link,logo FROM persoon
				WHERE idpersoon = '$idpersoon'";
		
		$result = mysql_query($sql);
		$i=0;
		$array = array();
		//$this->array;
		while($data = mysql_fetch_object($result))
		{
			$array[$i][0] = $data->voornaam;
			$array[$i][1] = $data->achternaam;
			$array[$i][2] = $data->email;					
			$array[$i][3] = $data->projectnaam;
			$array[$i][4] = $data->link;
			$array[$i][5] = $data->logo;			
			$array[$i][6] = $data->idpersoon;	
			$i++;
			
			
		}
		return $array;	
		//return $result;
		
	}
	function deleteData()
	{
		$idpersoon = $_GET["idpersoon"];
		$sql= "DELETE FROM persoon WHERE idpersoon = '$idpersoon' ";		
	}	
}
//ob_end_flush();
?>

en de class: resultaten.php:

Code:
<?php
//start_session;
include_once( './classes/class.TemplatePower.inc.php' );
include_once( './classes/class.dbconnection.php' );
include_once('./classes/class.DisplayAuthenticatieGev.php');

//lijstbase 
$db = new dbconnection();


$displayAuthenticatie = new DisplayAuthenticatieGev();

$header = new TemplatePower( "./templates/header.htm" );
$header->prepare();
	
//Het Template-object aanmaken vanuit het template bestand
$tpl = new TemplatePower( "./templates/resultaten.htm" );
$tpl->prepare();

$lijst = $displayAuthenticatie->getData();
for($i=0; $i<count($lijst); $i++)
{
	//$tpl->newBlock("csv");
	$tpl->assign('voornaam', $lijst[$i][0]);
	$tpl->assign('achternaam', $lijst[$i][1]);
	$tpl->assign('email', $lijst[$i][2]);	
	$tpl->assign('projectnaam', $lijst[$i][3]);
	
	
	 //$lijst=array('1');
	 //echo $i[]
}

//print_r($_POST['$lijst']);


if(isset($_POST['terug']))
{
	header("location: edit.php");
}

if(isset($_POST['verstuur']))
{
	header("location: succes.php");
}

$footer = new TemplatePower( "./templates/footer.htm" );
$footer->prepare();

$header->printToScreen();
$tpl->printToScreen();
$footer->printToScreen();
?>

maar nu geeft ie de error:

Warning: Missing argument 1 for DisplayAuthenticatieGev::getData(), called in C:\www\stadslableiden\resultaten.php on line 20 and defined in C:\www\stadslableiden\classes\class.DisplayAuthenticatieGev.php on line 38
 
kunt uw post effen bewerken inplaats van code php te gebruiken dan het beter leesbaar
 
deze zal zeker moeten verdwijnen maak desnoods een $error variable waar je de msg in plaastst
PHP:
if(mysql_errno() == 1062) {
    echo 'Deze waardes bestaan al in de database';
} else {
    echo 'Toegevoegd';
}
of kan niet uitgevoerd worden voor deze
PHP:
if(isset($_POST['terug'])){
	header("location: edit.php");
}
if(isset($_POST['verstuur'])){
	header("location: succes.php");
}
het opvangen kan je met try catch
PHP:
try{
     print "wordt uitgevoerd";
}catch($e){
    print  "hier komen we dan bij error";
}
print "en als er een @ voor staat tonen we geen error";
en bekijk volgende functie eens die gaat elke fout maskeren
PHP:
	function redirect($url){
		if (!headers_sent()){
			//print('Location: http://'.$_SERVER['SERVER_NAME'].$url);
			header('Location: http://'.$_SERVER['SERVER_NAME'].$url);
			die('<meta http-equiv="refresh" content="0;URL=http://'.$_SERVER['SERVER_NAME'].$url.'/>";');
		}else {
			die('Redirect Headers error to send <a href="http://'.$_SERVER['SERVER_NAME'].$url.'" >here the link</a>');
		}
	}
en die wil het script stoppen onmiddelijk en voert geen enkele regel meer uit
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan