>php doet raar<
Ik gebruik standaart de browser firefox, ik ben een tijdje wezen editen van mijn scripts, ik was bezig met de css generator. Alles werkt. Wat ik dus heb gedaan:
>alles van 0 naar 10px gezet om te testen of het werkt
WERKT!
>alles weer naar 0px gezet of naar bijv 60px, en opeens worden alle invullingen EMPTY!
print_r($_POST) gaf als resultaat dat het gewoon werkt
>Nu ging ik naar al mijn andere 'mysql connecties' en echt opeens in firefox word overal alles als empty gezien. Maak ik een pagina met de titel jandoedel is opeens de titel leeg, zelfdegeld voro de inhoud van die pagina, echt heel raar.
>Ik starte internet explorer en opera op en daarin blijkt het wel te werken, ik heb ccleaner gestart EN ECHT ALLES aangevinkt maar nog steeds hetzelfde probleem.
Ik sta van pas, dit blijkt niet te werken:
1
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
41
42
43
44
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
41
42
43
44
<?php
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
$headerimg = mysql_real_escape_string($_POST['headerimg']);
$headerheight = mysql_real_escape_string($_POST['headerhight']);
$paddingleft = mysql_real_escape_string($_POST['headerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['headerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['headerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['headerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['headermarginleft']);
$marginright = mysql_real_escape_string($_POST['headermarginright']);
$margintop = mysql_real_escape_string($_POST['headermargintop']);
$marginbottom = mysql_real_escape_string($_POST['headermarginbottom']);
//updating
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerheight."' WHERE name = 'headerminheight'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'header_padding_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'header_padding_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'header_padding_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'header_padding_bottom'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'header_margin_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'header_margin_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'header_margin_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'header_margin_bottom'");
echo '
<script language="JavaScript">
<!--
window.location="./admin.php?action=theme&i=template";
//-->
</script>
';
?>
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
$headerimg = mysql_real_escape_string($_POST['headerimg']);
$headerheight = mysql_real_escape_string($_POST['headerhight']);
$paddingleft = mysql_real_escape_string($_POST['headerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['headerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['headerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['headerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['headermarginleft']);
$marginright = mysql_real_escape_string($_POST['headermarginright']);
$margintop = mysql_real_escape_string($_POST['headermargintop']);
$marginbottom = mysql_real_escape_string($_POST['headermarginbottom']);
//updating
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerheight."' WHERE name = 'headerminheight'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'header_padding_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'header_padding_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'header_padding_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'header_padding_bottom'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'header_margin_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'header_margin_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'header_margin_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'header_margin_bottom'");
echo '
<script language="JavaScript">
<!--
window.location="./admin.php?action=theme&i=template";
//-->
</script>
';
?>
2
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
41
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
41
<?php
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
$bgcolor = mysql_real_escape_string($_POST['bgcolor']);
$footerimg = mysql_real_escape_string($_POST['footerimg']);
$footerheight = mysql_real_escape_string($_POST['footerhight']);
$paddingleft = mysql_real_escape_string($_POST['footerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['footerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['footerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['footerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['footermarginleft']);
$marginright = mysql_real_escape_string($_POST['footermarginright']);
$margintop = mysql_real_escape_string($_POST['footermargintop']);
$marginbottom = mysql_real_escape_string($_POST['footermarginbottom']);
//updating
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$bgcolor."' WHERE name = 'footer_background_color'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$footerimg."' WHERE name = 'footer'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$footerheight."' WHERE name = 'footerminheight'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'footer_padding_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'footer_padding_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'footer_padding_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'footer_padding_bottom'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'footer_margin_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'footer_margin_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'footer_margin_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'footer_margin_bottom'");
print_r($_POST);
?>
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
$bgcolor = mysql_real_escape_string($_POST['bgcolor']);
$footerimg = mysql_real_escape_string($_POST['footerimg']);
$footerheight = mysql_real_escape_string($_POST['footerhight']);
$paddingleft = mysql_real_escape_string($_POST['footerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['footerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['footerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['footerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['footermarginleft']);
$marginright = mysql_real_escape_string($_POST['footermarginright']);
$margintop = mysql_real_escape_string($_POST['footermargintop']);
$marginbottom = mysql_real_escape_string($_POST['footermarginbottom']);
//updating
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$bgcolor."' WHERE name = 'footer_background_color'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$footerimg."' WHERE name = 'footer'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$footerheight."' WHERE name = 'footerminheight'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'footer_padding_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'footer_padding_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'footer_padding_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'footer_padding_bottom'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'footer_margin_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'footer_margin_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'footer_margin_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'footer_margin_bottom'");
print_r($_POST);
?>
Misschien een foutafhandeling inbouwen?
http://www.pfz.nl/wiki/mysql-foutafhandeling-in-php/
Alleen selects worden behandeld
NOTE: dit script word geincluded, het word dus beter beveiligd dan dit...
Gewijzigd op 06/02/2011 12:18:22 door phpnuke r
try-catch en vraag de message op.
Wat dacht je er van om je query's af te handelen. If statement enzo... Je controleerd helemaal niks
Maar, wat moet er gecontroleerd worden? ik vul in 10px dan is het toch gewoon goed?
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'") or die (mysql_error());
Nothing...
Ik geloof niet dat dit aan dit soort fouten licht, er gebeurt niks noppes terwijl de query het eerst wel deed.. Het gekke is nog, in opera ging ik zegmaar pagina's veranderen, werkt gewoon. Nu ben ik in de css generator bezig geweest en na 2 a 3 keer werkt het in opera ook niet meer. Ook de pagina's niet meer. Wat is dit? Pagina's toevoegen werkte! Nog steeds, alleen als naam: en als inhoud:. Dit is geen foutje met php lijkt me, anders had ik toch gewoon nog pagina's kunnen toevoegen?
Gewijzigd op 06/02/2011 18:52:44 door phpnuke r
Ik heb geen flauw idee waarom dit mis gaat, maar ik zou dit ook niet zo opbouwen.
Ik hoor graag meningen van mensen die een vergelijkbaar iets hebben meegemaakt, dit is niet even een php error, een pagina kan toch zeker niet zorgen dat een andere pagina niks meer kan uitvoeren met de mysql database? fwrite word alleen in install.php gebruikt en die heb ik toch echt niet uitgevoerd...
Zet bovenaan
error_reporting(E_ALL);
ini_set('display_errors', 1);
Ik weet heus wel dat als een query kapot is dat er niks gebeurt, maar dit probleem zorgt ervoor dat GEENEEN mysql update binnen doveral meer werkt. Pagina's aanmaken of wat, menu, blocks, css generator,... Dus, is dat ook mogelijk? (blijkbaar wel maar in formeel)
Ja, je kan de boel verneuken.
Doe correcte foutafhandeling toepassen en error reporting aanzetten, dan weet je waar het mis gaat.
Heb je nu al een if else constuctie ingevoerd als foutafhandeling?
Ja, je kan de boel verneuken.
Doe correcte foutafhandeling toepassen en error reporting aanzetten, dan weet je waar het mis gaat.
________________
error_reporting(E_ALL);
Dit stukje gebruikt en niks noppes.
_________________
Heb je nu al een if else constuctie ingevoerd als foutafhandeling?
_________________
Moet ik eeen if...else toepassen als de error report e_all niks toont? Waarop mag ik de if...else baseren? mysql_error? geeft ook geen error? (zie code hieronder)
Code (php)
1
2
3
2
3
<?php
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'") or die (mysql_error());
?>
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'") or die (mysql_error());
?>
__________
Ja, je kan de boel verneuken.
Doe correcte foutafhandeling toepassen en error reporting aanzetten, dan weet je waar het mis gaat.
__________
Maar dat heb ik toch al gedaan (**)
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
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
<?php
error_reporting(E_ALL);
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
$headerimg = mysql_real_escape_string($_POST['headerimg']);
$headerheight = mysql_real_escape_string($_POST['headerhight']);
$paddingleft = mysql_real_escape_string($_POST['headerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['headerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['headerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['headerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['headermarginleft']);
$marginright = mysql_real_escape_string($_POST['headermarginright']);
$margintop = mysql_real_escape_string($_POST['headermargintop']);
$marginbottom = mysql_real_escape_string($_POST['headermarginbottom']);
//updating
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'") or die (mysql_error());
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerheight."' WHERE name = 'headerminheight'") or mysql_error();
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'header_padding_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'header_padding_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'header_padding_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'header_padding_bottom'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'header_margin_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'header_margin_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'header_margin_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'header_margin_bottom'");
?>
error_reporting(E_ALL);
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
$headerimg = mysql_real_escape_string($_POST['headerimg']);
$headerheight = mysql_real_escape_string($_POST['headerhight']);
$paddingleft = mysql_real_escape_string($_POST['headerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['headerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['headerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['headerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['headermarginleft']);
$marginright = mysql_real_escape_string($_POST['headermarginright']);
$margintop = mysql_real_escape_string($_POST['headermargintop']);
$marginbottom = mysql_real_escape_string($_POST['headermarginbottom']);
//updating
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'") or die (mysql_error());
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$headerheight."' WHERE name = 'headerminheight'") or mysql_error();
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'header_padding_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'header_padding_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'header_padding_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'header_padding_bottom'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'header_margin_left'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'header_margin_right'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'header_margin_top'");
mysql_query("UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'header_margin_bottom'");
?>
Je hebt de error reporting aangezet...
Maar lees nu eens goed.
Verder heb je maar twee "or die's" toegevoegd...
En als je goede foutafhandeling toepast, zoals ik bijvoorbeeld hier uitleg, dan weet je precies waarom er iets mis is.
Verder is er een quote knopje aanwezig bij iedere post, dat is wat makkelijker dan wat je nu doet..
Opmerkelijk iets:
pagina's TOEVOEGEN werkt weer al hoewel ik nu een lege pagina krijg en een gevulde pagina...
Pagina's updaten werkt ook gewoon niet...
Gewijzigd op 06/02/2011 19:47:53 door phpnuke r
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
// errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
// functie voor sql debug
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
# Je kan deze vars ook in je query zetten, maar dat is misschien minder overzichtelijk?!
$headerimg = mysql_real_escape_string($_POST['headerimg']);
$headerheight = mysql_real_escape_string($_POST['headerhight']);
$paddingleft = mysql_real_escape_string($_POST['headerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['headerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['headerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['headerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['headermarginleft']);
$marginright = mysql_real_escape_string($_POST['headermarginright']);
$margintop = mysql_real_escape_string($_POST['headermargintop']);
$marginbottom = mysql_real_escape_string($_POST['headermarginbottom']);
//updating
$sql1 = "UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'");
$sql2 = "UPDATE ".$table_pref."themevars SET variable = '".$headerheight."' WHERE name = 'headerminheight'" ;
$sql3 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'header_padding_left'";
$sql4 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'header_padding_right'";
$sql5 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'header_padding_top'";
$sql6 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'header_padding_bottom'";
$sql7 = "UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'header_margin_left'";
$sql8 = "UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'header_margin_right'";
$sql9 = "UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'header_margin_top'";
$sql10 = "UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'header_margin_bottom'";
if(mysql_query($sql1) === false || mysql_query($sql2) === false || mysql_query($sql3) === false || mysql_query($sql4) === false || mysql_query($sql5) === false || mysql_query($sql6) === false ||mysql_query($sql7) === false || mysql_query($sql8) === false || mysql_query($sql9) === false || mysql_query($sql10) === false)
{
echo 'We hebben eindelijk een error!';
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql1,mysql_error($sql1));
showSQLError($sql2,mysql_error($sql2));
showSQLError($sql3,mysql_error($sql3));
showSQLError($sql4,mysql_error($sql4));
showSQLError($sql5,mysql_error($sql5));
showSQLError($sql6,mysql_error($sql6));
showSQLError($sql7,mysql_error($sql7));
showSQLError($sql8,mysql_error($sql8));
showSQLError($sql9,mysql_error($sql9));
showSQLError($sql10,mysql_error($sql10));
}
}
else
{
echo 'Je query\'s zijn goed uitgevoerd!';
}
?>
// errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
// sql debug
define('DEBUG_MODE',true); // true == aan, false == uit
// functie voor sql debug
function showSQLError($sql,$error)
{
echo '<pre>Error: '.$error.'<br />'.$sql.'</pre>';
}
echo "
<br />
<br />
<br />
<p align='center'>
<img src='".$themeurl."/images/loading2.gif' style='align:center;'
</p>
";
# Je kan deze vars ook in je query zetten, maar dat is misschien minder overzichtelijk?!
$headerimg = mysql_real_escape_string($_POST['headerimg']);
$headerheight = mysql_real_escape_string($_POST['headerhight']);
$paddingleft = mysql_real_escape_string($_POST['headerpaddingleft']);
$paddingright = mysql_real_escape_string($_POST['headerpaddingright']);
$paddingtop = mysql_real_escape_string($_POST['headerpaddingtop']);
$paddingbottom = mysql_real_escape_string($_POST['headerpaddingbottom']);
$marginleft = mysql_real_escape_string($_POST['headermarginleft']);
$marginright = mysql_real_escape_string($_POST['headermarginright']);
$margintop = mysql_real_escape_string($_POST['headermargintop']);
$marginbottom = mysql_real_escape_string($_POST['headermarginbottom']);
//updating
$sql1 = "UPDATE ".$table_pref."themevars SET variable = '".$headerimg."' WHERE name = 'header'");
$sql2 = "UPDATE ".$table_pref."themevars SET variable = '".$headerheight."' WHERE name = 'headerminheight'" ;
$sql3 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingleft."' WHERE name = 'header_padding_left'";
$sql4 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingright."' WHERE name = 'header_padding_right'";
$sql5 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingtop."' WHERE name = 'header_padding_top'";
$sql6 = "UPDATE ".$table_pref."themevars SET variable = '".$paddingbottom."' WHERE name = 'header_padding_bottom'";
$sql7 = "UPDATE ".$table_pref."themevars SET variable = '".$marginleft."' WHERE name = 'header_margin_left'";
$sql8 = "UPDATE ".$table_pref."themevars SET variable = '".$marginright."' WHERE name = 'header_margin_right'";
$sql9 = "UPDATE ".$table_pref."themevars SET variable = '".$margintop."' WHERE name = 'header_margin_top'";
$sql10 = "UPDATE ".$table_pref."themevars SET variable = '".$marginbottom."' WHERE name = 'header_margin_bottom'";
if(mysql_query($sql1) === false || mysql_query($sql2) === false || mysql_query($sql3) === false || mysql_query($sql4) === false || mysql_query($sql5) === false || mysql_query($sql6) === false ||mysql_query($sql7) === false || mysql_query($sql8) === false || mysql_query($sql9) === false || mysql_query($sql10) === false)
{
echo 'We hebben eindelijk een error!';
# geef de error via de functie (bovenaan script)
if (DEBUG_MODE)
{
showSQLError($sql1,mysql_error($sql1));
showSQLError($sql2,mysql_error($sql2));
showSQLError($sql3,mysql_error($sql3));
showSQLError($sql4,mysql_error($sql4));
showSQLError($sql5,mysql_error($sql5));
showSQLError($sql6,mysql_error($sql6));
showSQLError($sql7,mysql_error($sql7));
showSQLError($sql8,mysql_error($sql8));
showSQLError($sql9,mysql_error($sql9));
showSQLError($sql10,mysql_error($sql10));
}
}
else
{
echo 'Je query\'s zijn goed uitgevoerd!';
}
?>
Ik heb het niet getest.. Maar dit is een betere foutafhandeling. Alleen jammer dat je zoveel query's gebruikt want dan is het ingewikkelder.
Gewijzigd op 06/02/2011 20:04:16 door Jasper DS
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1); // Natuurlijk willen we de errors ook zien
echo '
<br />
<br />
<br />
<p align="center">
<img src="'.$themeurl.'/images/loading2.gif" style="align:center;"
</p>'; // Ik heb zo'n vermoeden dat dit ook beter kan met css.
// Als je nu slim bent dan geef je de form onderdelen dezelfde naam zoals ze in de database zitten want dan kan dit (let wel op dat je eventuele extra dingen eruit moet halen, of gebruik moet maken van een if):
foreach($_POST as $key => $value)
{
$query = sprintf("UPDATE " . $table_pref . "themevars SET variable='%s' WHERE name='%s'",
mysql_real_escape_string($key),
mysql_real_escape_string($value));
if(!mysql_query($query))
{
echo '<p><strong>Query probleem: ' . mysql_error() . ' ' . mysql_errno() . '</strong></p>' . PHP_EOL;
}
}
?>
error_reporting(E_ALL);
ini_set('display_errors', 1); // Natuurlijk willen we de errors ook zien
echo '
<br />
<br />
<br />
<p align="center">
<img src="'.$themeurl.'/images/loading2.gif" style="align:center;"
</p>'; // Ik heb zo'n vermoeden dat dit ook beter kan met css.
// Als je nu slim bent dan geef je de form onderdelen dezelfde naam zoals ze in de database zitten want dan kan dit (let wel op dat je eventuele extra dingen eruit moet halen, of gebruik moet maken van een if):
foreach($_POST as $key => $value)
{
$query = sprintf("UPDATE " . $table_pref . "themevars SET variable='%s' WHERE name='%s'",
mysql_real_escape_string($key),
mysql_real_escape_string($value));
if(!mysql_query($query))
{
echo '<p><strong>Query probleem: ' . mysql_error() . ' ' . mysql_errno() . '</strong></p>' . PHP_EOL;
}
}
?>
Volgens mij is het goed, maar ik heb het uit m'n hoofd gedaan terwijl ik met wat anders bezig ben. Daarom ga ik ook niet bedenken hoe sowieso je zooi beter kan (want dat kan het volgens mij wel).
Zoals karl het doet is het natuurlijk veel korter (en beter). MAAR, zoals hij ook al zegt: "Het kan veel beter". Volgens mij klopt er iets niet met jouw database model of met je logica.