Scoop van variabelen op een pagina tot in een klasse
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
Test.class
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 ?
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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");
?>
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?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";
}
}
?>
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... :-)
zoals altijd met functies moet je wel aangeven welke globale variabelen je wilt gebruiken... :-)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function SQL_Commands() {
global $DB_link, $db;
if (!$DB_link) {
die("Connectie naar $db mislukt: " . mysql_error() );
}
}
?>
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 :)
Thx, dit blijkt dus een newb vraagje te zijn :)
Tommy, beter gevraagd dan niet beantwoord toch? :-)
helemaal gelijk ;)
nog eens bedankt
nog eens bedankt
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
globaal maken ?
want als ik ze in de constructor gooi werken ze niet meer in de functie
Add




