Archief - Catchable Fatal error

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Raanº³

Legacy Member
Hallo, ik heb een 'catchable fatal error' op één van mijn pagina 's en ik heb geen enkel idee wie/wat/waar/waarom... Is de eerste keer dat ik zo een error krijg en google maakt me ook niet zo echt wijzer.

Situatie: Ik heb een klasse geschreven met 2 functies daarin; 1 dat tekst wegschrijft in een tekstbestand en de andere is het eigenlijke programma.

Error:
Catchable fatal error: Object of class zoeken could not be converted to string in /mounted-storage/home94a/sub001/sc49569-KYNW/www/test2/class.php on line 79


PHP:
class zoeken{
	function write($the_string)
	{
		$fh = fopen(conLog, 'a+');
			fputs($fh, $the_string, strlen($the_string));
			fclose($fh);
		}

	function begin(){
		$searchfile = conSearch;
		/*
		Eerst ID uitlezen
		*/
		$fh = fopen(conLog,'w+');
		fclose ($fh);

			$this->write(Date('d-m H:i:s').": id uitgeschreven, onze id is ".$_SESSION['id']."\r\n");
			$this->write("\r\n");
		$this->write(Date('d-m H:i:s').": zoektochten: ".$_SESSION['zoek']."\r\n");
$this->write("\r\n");
			// Openen van een connectiestream met het bestand
			$connectie = fopen(conSearch,'r');
Dit is van lijn 61 t.e.m. 82, op comments hoef je niet te letten -> dat zijn restanten van mijn vorige script.

$this->write(Date('d-m H:i:s').": id uitgeschreven, onze id is ".$_SESSION['id']."\r\n"); -> voert hij wel nog uit en staat weggeschreven in een textbestand.

Tyfius

Legacy Member
Op het eerste zicht is er niets speciaals aan dat stukje code, maar het is dan ook niet veel. Het enige waar ik aan kan denken is dat uw $_SESSION['zoek'] geen string bevat maar zelf een object is.

Raanº³

Legacy Member
$_SESSION['zoek'] werd op de vorige pagina aangemaakt en de waarde $_POST['zoek'] toegekend. Op die pagina werd ook de melding gegeven wat waarde $_SESSION['zoek'] was (na toekenning) voor dat hij 5 seconden later redirected wordt naar de nieuwe pagina.

form $_POST['zoek'] -> naar een pagina -> $_SESSION['zoek'] = $_POST['zoek'] + echo('Zoek: '.$_SESSION['zoek']); + meta html redirect (na 5 sec) -> naar andere pagina -> catchable fatal error... $_SESSION['zoek'] is dus een variabele waar iets in staat (hij output deze al reeds op vorige pagina, dus deze is niet empty)

PHP:
if (is_numeric($_POST['zoek']) && ($_POST['zoek'] > 0)){
	$_SESSION['zoek'] = $_POST['zoek'];
	$_SESSION['id'] = $_POST['id'];
	echo('<html><meta http-equiv="refresh" content="5;URL=search.php" /><title>Het zoeken zal beginnen!</title></head><body>Ik zal '.$_SESSION['zoek'].' keer voor u zoeken binnen een goede 5 seconden!</body></html>');
}else{
	die('U dient een positief getal op te geven.');
}
Is waar de $_POST succesvol wordt toegekend aan de $_SESSION,

******** EDIT ********
ik heb het zelf opgelost. Ik heb de klasse er buiten gesmeten en gewoon 'zo' gewerkt met functies. dan gewoon functies aangeroepen ipv een klasse... Nu werkt het prachtig... Great, ik was al niet echt zo overtuigd van het voordeel van klasses (terwijl de leerkracht ons zoveel keer 'wees' op de voordelen van klasses, kon ik er steeds het nut niet van inzien en nu nog des te minder...

Nog één laatste (simpele) vraag: Weet er iemand hoe je in PHP tabs kunt uitlezen? Ik heb in een textfile tekst geschreven, opgemaakt met de \r, \n en \t codes van PHP. Deze schrijft hij prachtig goed in de tekstfile, maar ik heb gezien dat hij bij het terug uitlezen van de txt file geen rekening houdt met de neergeschreven tab (dus in de .txt zie je de tab er effectie staan)? zo iets als nl2br (maar dan ipv de 'enters' dan tabs?

Tyfius

Legacy Member
Klassen hebben zoveel voordelen ten opzichte van alleen maar gewonen functies. Als je het idee van klassen niet snapt zou ik toch eens je cursus en specifiek de OO onderdelen grondig doorlezen.

Jij had gewoon ergens een bug die niet te vinden was in die paar regels code dat je ons gaf.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan