Acces denied? gegevens kloppen..
Warning: mysql_query() [function.mysql-query]: Access denied for user 'bert'@'localhost' (using password: NO) in /var/www/vhosts/domein.nl/httpdocs/moppen/zoeken/zoek_form.php on line 5
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/vhosts/domein.nl/httpdocs/moppen/zoeken/zoek_form.php on line 5
Access denied for user 'bert'@'localhost' (using password: NO)
Dit is de code:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
// invoer formulier
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result=mysql_query($query);
if (!$result) echo mysql_error();
?>
// invoer formulier
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result=mysql_query($query);
if (!$result) echo mysql_error();
?>
De database gegevens worden uit een andere file gehaald:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?PHP
$hostname = "localhost";
$dbuser = "****";
$dbpass = "****";
$db = "****";
$link = mysql_connect ($hostname, $dbuser, $dbpass);
if (! $link){die ("Er kan geen verbinding worden gemaakt met de mySQL server");}
if (!mysql_select_db ($db, $link) ){die ("De database kan niet worden geopend<br> $db: ".mysql_error() );}
?>
$hostname = "localhost";
$dbuser = "****";
$dbpass = "****";
$db = "****";
$link = mysql_connect ($hostname, $dbuser, $dbpass);
if (! $link){die ("Er kan geen verbinding worden gemaakt met de mySQL server");}
if (!mysql_select_db ($db, $link) ){die ("De database kan niet worden geopend<br> $db: ".mysql_error() );}
?>
Iemand een idee waar de fout in zit? De database gegevens kloppen...
Dus
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
include('connect.php');
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result=mysql_query($query);
if (!$result) echo mysql_error();
?>
include('connect.php');
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result=mysql_query($query);
if (!$result) echo mysql_error();
?>
Overbodig advies, maar check het echt nog even 10x en misschien zie je toch een fout.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
setlocale (LC_ALL, 'Dutch');
include "../data/db_database.php";
include "../data/header.html";
if (!$actie) $actie="index";
if ($zoek) $zoek=strip($zoek);
if ($actie=="insert") include "./zoek_insert.php";
if ($actie=="nieuw") include "./zoek_form.php";
if ($actie=="list") include "./zoek_list.php";
if ($actie=="index") include "./zoek_index.php";
include "../data/footer.html";
exit;
[/code]
In het bovenstaande script wordt verwezen naar include "../data/db_database.php"; Hierin staan de database gegevens (zie eerste post).
@Evert: ik zie het niet..
setlocale (LC_ALL, 'Dutch');
include "../data/db_database.php";
include "../data/header.html";
if (!$actie) $actie="index";
if ($zoek) $zoek=strip($zoek);
if ($actie=="insert") include "./zoek_insert.php";
if ($actie=="nieuw") include "./zoek_form.php";
if ($actie=="list") include "./zoek_list.php";
if ($actie=="index") include "./zoek_index.php";
include "../data/footer.html";
exit;
[/code]
In het bovenstaande script wordt verwezen naar include "../data/db_database.php"; Hierin staan de database gegevens (zie eerste post).
@Evert: ik zie het niet..
Gewijzigd op 01/01/1970 01:00:00 door Peter S
$dbpass = "****";
En hierin staat inderdaad de juiste user (bert in dit geval) en een correct password ingevuld?
Dat is vreemd.. Beide usernames komen niet overeen, maar daarmee is het probleem niet opgelost. In het controlpanel (plesk) heb ik een database met een user aangemaakt, deze gegevens heb ik ook in het script gebruikt (geen Bert!)
Soldier81 schreef op 19.12.2008 17:33:
Access denied for user 'bert'@'localhost' (using password: NO)
Dan wordt blijkbaar toch niet het juiste bestand gebruikt.
Wanneer ik het in het bestand zelf ook include, krijg ik geen melding meer over de database problemen, dus:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
// invoer formulier
include ('../data/db_databse.php');
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result = mysql_query($query);
if (!$result) echo mysql_error();
?>
// invoer formulier
include ('../data/db_databse.php');
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result = mysql_query($query);
if (!$result) echo mysql_error();
?>
Nu heb ik alleen het probleem dat de links niet aanklikbaar zijn (er gebeurt niets, ook geen foutmelding). Terwijl het op de andere server wel werkt.
Server waar het werkt:
PHP Version 4.4.2
mysql 4.1.11
Server waar het nu dus niet werkt:
PHP Version 5.2.6
mysql 4.1.22
Hierbij de index.php
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
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
<?php
// Invoer moppen database voor admin...
setlocale (LC_ALL, 'Dutch');
include "../data/db_database.php";
include "../data/header.html";
// variabelen..
$afzender="naam";
$afzender_email="[email protected]";
//$afzender_email="[email protected]";
$subject="Bijdrage";
if (!$actie) $actie="index";
if ($zoek) $zoek=strip($zoek);
if ($actie=="insert") include "./zoek_insert.php";
if ($actie=="nieuw") include "./zoek_form.php";
if ($actie=="list") include "./zoek_list.php";
if ($actie=="index") include "./zoek_index.php";
include "../data/footer.html";
exit;
// Functies
function strip($string){
$string=trim($string);
$string=stripslashes($string);
$string=strip_tags($string, '<br><b><i>');
return("$string");
}
function tijd($tijd){
$tijd=strftime("%A %d %B %Y",$tijd);
return("$tijd");
}
function zoek_box() {
global $cat, $zoek;
echo "<table width=\"95%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"0\" class=\"index\">";
echo "<tr bgcolor=\"#FF9900\">";
echo "<form action=\"\" method=\"POST\">";
echo "<td align=\"center\" valign=\"middle\"><strong>Zoek naar <input type=\"text\" name=\"zoek\" value=\"".strip($zoek)."\"> ";
echo "in ";
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result=mysql_query($query);
if (!$result) echo mysql_error();
?>
<select name="cat" id="select">
<?php
echo "<option value=\"\"";
if (!$cat) echo "selected";
echo ">Alle categorieën</option>";
while ($lijst=mysql_fetch_assoc($result)){
echo "<option value=\"$lijst[cat_id]\"";
if ($cat and $cat==$lijst[cat_id]) echo " SELECTED";
echo ">$lijst[cat_naam]</option>\n";
}
?>
</select>
<input type="hidden" name="actie" value="list">
<input type="hidden" name="start" value="0">
<input type="submit" name="Submit" value="zoek">
<?php
echo "</strong></td>";
echo "</tr></form></table>";
}
?>
// Invoer moppen database voor admin...
setlocale (LC_ALL, 'Dutch');
include "../data/db_database.php";
include "../data/header.html";
// variabelen..
$afzender="naam";
$afzender_email="[email protected]";
//$afzender_email="[email protected]";
$subject="Bijdrage";
if (!$actie) $actie="index";
if ($zoek) $zoek=strip($zoek);
if ($actie=="insert") include "./zoek_insert.php";
if ($actie=="nieuw") include "./zoek_form.php";
if ($actie=="list") include "./zoek_list.php";
if ($actie=="index") include "./zoek_index.php";
include "../data/footer.html";
exit;
// Functies
function strip($string){
$string=trim($string);
$string=stripslashes($string);
$string=strip_tags($string, '<br><b><i>');
return("$string");
}
function tijd($tijd){
$tijd=strftime("%A %d %B %Y",$tijd);
return("$tijd");
}
function zoek_box() {
global $cat, $zoek;
echo "<table width=\"95%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"0\" class=\"index\">";
echo "<tr bgcolor=\"#FF9900\">";
echo "<form action=\"\" method=\"POST\">";
echo "<td align=\"center\" valign=\"middle\"><strong>Zoek naar <input type=\"text\" name=\"zoek\" value=\"".strip($zoek)."\"> ";
echo "in ";
$query = "SELECT * FROM moppen_cat ORDER BY cat_naam";
$result=mysql_query($query);
if (!$result) echo mysql_error();
?>
<select name="cat" id="select">
<?php
echo "<option value=\"\"";
if (!$cat) echo "selected";
echo ">Alle categorieën</option>";
while ($lijst=mysql_fetch_assoc($result)){
echo "<option value=\"$lijst[cat_id]\"";
if ($cat and $cat==$lijst[cat_id]) echo " SELECTED";
echo ">$lijst[cat_naam]</option>\n";
}
?>
</select>
<input type="hidden" name="actie" value="list">
<input type="hidden" name="start" value="0">
<input type="submit" name="Submit" value="zoek">
<?php
echo "</strong></td>";
echo "</tr></form></table>";
}
?>
Enig idee waar de fout zit?
Gewijzigd op 01/01/1970 01:00:00 door Peter S
Hoe kom je verder aan de variabelen $actie en $zoek? Ik gok dat het probleem is dat register_globals op de oude server wel ingeschakeld is en op de nieuwe server, zoals het hoort, niet.
Als dat het geval is zul je dus superglobals (zoals $_GET en $_POST) moeten gebruiken om die variabelen op te halen...
Notice: Undefined variable: actie in /var/www/vhosts/---.nl/httpdocs/moppen/zoeken/index.php on line 18
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
// Invoer moppen database voor admin...
setlocale (LC_ALL, 'Dutch');
include "../data/db_fns.php";
include "../data/header.html";
// variabelen..
$afzender="naam";
$afzender_email="[email protected]";
//$afzender_email="[email protected]";
$subject="Bijdrage";
if (!$actie) $actie="index";
if ($zoek) $zoek=strip($zoek);
if ($actie=="insert") include ("./zoek_insert.php");
if ($actie=="nieuw") include ("./zoek_form.php");
if ($actie=="list") include ("./zoek_list.php");
if ($actie=="index") include ("./zoek_index.php");
include ("../data/footer.html");
exit;
[/code]
Er gaat blijkbaar toch iets fout met de verwijzingen naar de andere pagina's..
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
// Invoer moppen database voor admin...
setlocale (LC_ALL, 'Dutch');
include "../data/db_fns.php";
include "../data/header.html";
// variabelen..
$afzender="naam";
$afzender_email="[email protected]";
//$afzender_email="[email protected]";
$subject="Bijdrage";
if (!$actie) $actie="index";
if ($zoek) $zoek=strip($zoek);
if ($actie=="insert") include ("./zoek_insert.php");
if ($actie=="nieuw") include ("./zoek_form.php");
if ($actie=="list") include ("./zoek_list.php");
if ($actie=="index") include ("./zoek_index.php");
include ("../data/footer.html");
exit;
[/code]
Er gaat blijkbaar toch iets fout met de verwijzingen naar de andere pagina's..
Gewijzigd op 01/01/1970 01:00:00 door Peter S
Je gebruikt $actie, die nergens gedefined is. Je moet deze dus eerst definen als $actie = $_GET['actie']; bijvoorbeeld.
Douwe M schreef op 20.12.2008 12:51:
En wat dacht van een héél klein beetje beveiliging? Je maakt jouw "oplossing" weer presies dezelfde veiligheidslekken aan als dat er met de superglobals-shit al waren.Precies wat Blanche zegt:
Je gebruikt $actie, die nergens gedefined is. Je moet deze dus eerst definen als $actie = $_GET['actie']; bijvoorbeeld.
Je gebruikt $actie, die nergens gedefined is. Je moet deze dus eerst definen als $actie = $_GET['actie']; bijvoorbeeld.
Ga dus eerst maar eens controleren of $_GET['actie'] een waarde bevat die jij verwacht.
Ik geef alleen een oplossing voor het niet gedefinieerd zijn. Ik neem aan dat meneer de TS zelf wel wat kan beveiligen...