Na een tutje over OOP te hebben gevolgd heb ik een klasse geschreven om
geposte variabelen aan een tabel toe te voegen. Allemaal goed en wel, totdat ik mijn script wil testen. Hieronder vindt je de code van mijn "project"
Test.php

<?php
require("requires/header.req");
?>
<?php
require("classes/test.class");
$project = new SQL_Commands;
if (empty($Add_Page)) {
	echo "<form action=\"#\" method=\"post\"><table><tr><td><input type=\"text\" name=\"titel\"></td></tr><tr><td><textarea name=\"inhoud\" rows=\"25\" cols=\"55\"></textarea></td></tr>";
	echo "<tr><td><input type=\"submit\" name=\"Add_Page\" value=\"Voe pagina toe\"></td></tr></table>";
	echo "</form";
}else{
	$Test = $project->Add("tbl_content");
	echo $Test;
}
require("requires/footer.req");
?>


Test.class

<?php
class SQL_Commands {
	function SQL_Commands() {
		if (!$DB_link) {
  			die("Connectie naar $db mislukt: " . mysql_error() );
		}
	}
	function Add($table) {
		if (empty($_POST)) {
			$debug .= "Er werd geen data gepost<br>";
			return $debug;
			exit;
		}
			$Insert_List_Fields = $Insert_List_Values =  "(";
			$Elements = count($_POST);
			$Elements_Counter = 0;
			foreach($_POST AS $key => $value) {
				if ($Elements_Counter <> $Elements-1) {
					$Elements_Counter++;
					$Insert_List_Fields .= $key;
					$Insert_List_Values .= "'" . $value . "'";
				if ($Elements_Counter <> ($Elements-1)) {
					$Insert_List_Fields .= ",";
					$Insert_List_Values .= ",";
				}
				if ($Elements_Counter+1 == $Elements) {
					$Insert_List_Fields .= ")";
					$Insert_List_Values .= ")";
				}
			}
		}
		$qry = "\"Insert into " . $table . " " . $Insert_List_Fields . " VALUES " . $Insert_List_Values . " \""; 
		$Add_Complete = mysql_db_query($db,$qry,$DB_link) or die(mysql_error());
		return "True";
		
	}

}

?>


Nu als ik mijn script laat draaien krijg ik de volgende error :
Connectie naar mislukt

Mijn connectievariabelen worden dus niet aan mijn klasse gevoegd,
weet iemand hoe ik dit kan verhelpen zonder dat ik een nieuwe connectie moet aanmaken in de klasse zelf ?
eeehrm...
zoals altijd met functies moet je wel aangeven welke globale variabelen je wilt gebruiken... :-)

<?php
function SQL_Commands() {
global $DB_link, $db;
if (!$DB_link) {
die("Connectie naar $db mislukt: " . mysql_error() );
}
}
?>
owkkk :)
Thx, dit blijkt dus een newb vraagje te zijn :)
Tommy, beter gevraagd dan niet beantwoord toch? :-)
Hmm nog een vraag, kan je die variabelen niet voor iedere functie in een klasse
globaal maken ?
want als ik ze in de constructor gooi werken ze niet meer in de functie
Add

Reageren