Scoop van variabelen op een pagina tot in een klasse
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 ?
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() );
}
}
?>
Thx, dit blijkt dus een newb vraagje te zijn :)
Tommy, beter gevraagd dan niet beantwoord toch? :-)
nog eens bedankt
globaal maken ?
want als ik ze in de constructor gooi werken ze niet meer in de functie
Add