geen database geselecteerd
Ik heb een eenvoudig nieuwsprogje van het net geplukt en wou dat wat aanpassen. Echter, als ik een nieuw nieuwsbericht verstuur dan verschijnt er een error: no database selected.
Kan iemand mij zeggen wat er mis is?
Dank bij voorbaat
NIEUWS-NIEUW.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
include_once("connect.php");
if(isset($_POST['submit']))
{
$errors = false;
if(isset($_FILES['filePath']) && $_FILES['filePath']['name'] != '')
{
$plaatje_naam = $_FILES['filePath']['name'];
$plaatje_size = $_FILES['filePath']['size'];
$plaatje_type = $_FILES['filePath']['type'];
$plaatje_tmp = $_FILES['filePath']['tmp_name'];
$plaatje_naam_array = explode('.',$plaatje_naam);
$achter = count($plaatje_naam_array)-1;
$plaatje_ext = $plaatje_naam_array[$achter];
$bestandnaam = "";
for($i=0; $i < $achter; $i++)
{
$bestandnaam .= $plaatje_naam_array[$i];
if($i+1 != $achter)
{
$bestandnaam .= ".";
}
}
$size_max *= 1024;
if(!in_array($plaatje_ext, $exts))
{
echo "- ".$error['ext']." (".$plaatje_ext.")<br />";
$errors = true;
}
if(!in_array($plaatje_type, $types))
{
echo "- ".$error['type']." (".$plaatje_type.")<br />";
$errors = true;
}
if($plaatje_size > $size_max)
{
echo "- ".$error['size']." (".round($plaatje_size/1024)."kB)<br />";
$errors = true;
}
elseif(in_array($plaatje_ext, $exts) && in_array($plaatje_type, $types) && $plaatje_size <= $size_max)
{
$i_naam = 0;
while(file_exists($map."/".$bestandnaam."_".$i_naam.".".$plaatje_ext))
{
$i_naam += 1;
}
$bestandnaam = $bestandnaam."_".$i_naam;
$bestandnaam_db = $bestandnaam.".".$plaatje_ext;
$input_plaatje = $map."/".$bestandnaam_db;
if(move_uploaded_file($plaatje_tmp, $input_plaatje))
{
$plaatje = $input_plaatje;
}
else
{
print 'Kon het plaatje niet verplaatsen, zorg voor juiste rechten in de map.<br />';
$errors = true;
}
}
print '<br />';
}
else
{
$plaatje = $map."/".$geenPlaatje;
}
if($errors !== TRUE)
{
$res = mysql_query("INSERT INTO nieuws (titel, bericht, datum, img) VALUES (".saveInput($_POST['titel']).", ".saveInput($_POST['bericht']).", ".saveInput($_POST['datum']).", ".$plaatje.")");
if($res === TRUE)
{
print 'Nieuws toegevoegd<br /><br />';
}
else
{
print 'Error: '.mysql_error().'<br /><br />';
}
}
}
echo'
<form action="nieuws_nieuw.php" method="POST" enctype="multipart/form-data">
<input type="text" name="titel" value="Titel" /><br />
<input type="text" name="datum" value="'.date('d/m/Y H:i:s').'" /><br />
<textarea name="bericht" cols="50" rows="20">Bericht</textarea><br /><br />
Plaatje: <input type=file name="filePath" /><br /><br />
<input type="reset" value="Reset" />
<input type="submit" name="submit" value="Verzenden" />
</form>
';
?>
include_once("connect.php");
if(isset($_POST['submit']))
{
$errors = false;
if(isset($_FILES['filePath']) && $_FILES['filePath']['name'] != '')
{
$plaatje_naam = $_FILES['filePath']['name'];
$plaatje_size = $_FILES['filePath']['size'];
$plaatje_type = $_FILES['filePath']['type'];
$plaatje_tmp = $_FILES['filePath']['tmp_name'];
$plaatje_naam_array = explode('.',$plaatje_naam);
$achter = count($plaatje_naam_array)-1;
$plaatje_ext = $plaatje_naam_array[$achter];
$bestandnaam = "";
for($i=0; $i < $achter; $i++)
{
$bestandnaam .= $plaatje_naam_array[$i];
if($i+1 != $achter)
{
$bestandnaam .= ".";
}
}
$size_max *= 1024;
if(!in_array($plaatje_ext, $exts))
{
echo "- ".$error['ext']." (".$plaatje_ext.")<br />";
$errors = true;
}
if(!in_array($plaatje_type, $types))
{
echo "- ".$error['type']." (".$plaatje_type.")<br />";
$errors = true;
}
if($plaatje_size > $size_max)
{
echo "- ".$error['size']." (".round($plaatje_size/1024)."kB)<br />";
$errors = true;
}
elseif(in_array($plaatje_ext, $exts) && in_array($plaatje_type, $types) && $plaatje_size <= $size_max)
{
$i_naam = 0;
while(file_exists($map."/".$bestandnaam."_".$i_naam.".".$plaatje_ext))
{
$i_naam += 1;
}
$bestandnaam = $bestandnaam."_".$i_naam;
$bestandnaam_db = $bestandnaam.".".$plaatje_ext;
$input_plaatje = $map."/".$bestandnaam_db;
if(move_uploaded_file($plaatje_tmp, $input_plaatje))
{
$plaatje = $input_plaatje;
}
else
{
print 'Kon het plaatje niet verplaatsen, zorg voor juiste rechten in de map.<br />';
$errors = true;
}
}
print '<br />';
}
else
{
$plaatje = $map."/".$geenPlaatje;
}
if($errors !== TRUE)
{
$res = mysql_query("INSERT INTO nieuws (titel, bericht, datum, img) VALUES (".saveInput($_POST['titel']).", ".saveInput($_POST['bericht']).", ".saveInput($_POST['datum']).", ".$plaatje.")");
if($res === TRUE)
{
print 'Nieuws toegevoegd<br /><br />';
}
else
{
print 'Error: '.mysql_error().'<br /><br />';
}
}
}
echo'
<form action="nieuws_nieuw.php" method="POST" enctype="multipart/form-data">
<input type="text" name="titel" value="Titel" /><br />
<input type="text" name="datum" value="'.date('d/m/Y H:i:s').'" /><br />
<textarea name="bericht" cols="50" rows="20">Bericht</textarea><br /><br />
Plaatje: <input type=file name="filePath" /><br /><br />
<input type="reset" value="Reset" />
<input type="submit" name="submit" value="Verzenden" />
</form>
';
?>
<a href="admin.php">Ga terug naar de admin</a>
CONNECT.PHP: (host, user en pass zijn hier weg maar wel juist overgenomen)
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
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
<?php
$host = ''; // host
$user = ''; // gebruiker
$pass = ''; // wachtwoord
$database = 'nieuws'; // database
$geenPlaatje = 'geen.jpg'; // standaard plaatje als er geen plaatje wordt bijgevoegd
$hoogte = 75; // hoogte van de thumbnails
$breedte = 110; // breedte van de thumbnail
$klikbaar = 0; // Het plaatje naast het bericht vergrootbaar? 1 = Ja / 0 = Nee
$standaardMax = 5; // Aantal berichten per nieuwspagina
$error = array();
$error['ext'] = "Het plaatje heeft een foute extensie."; // probleem met extensie
$error['type'] = "Het plaatje is geen goed type."; // probleem met type
$error['size'] = "Het plaatje is te groot."; // probleem met size
$size_max = 250; // Maximale grote in kB
$map = "nieuws_img"; // welke map ZONDER eind '/'
$exts = array("gif", "jpg", "jpeg", "png", "GIF", "JPG", "JPEG", "PNG"); // welke extensies
$types = array("image/gif", "image/pjpeg", "image/x-png", "image/jpeg", "image/png"); // welke types
// Functie(s)
function saveInput($input, $mode = true)
{
return ($mode == true ? addslashes(htmlentities($input)) : addslashes($input));
}
mysql_connect($host,$user,$pass) or die("Er kan geen verbinding gemaakt worden met de database.");
mysql_select_db($database);
?>
$host = ''; // host
$user = ''; // gebruiker
$pass = ''; // wachtwoord
$database = 'nieuws'; // database
$geenPlaatje = 'geen.jpg'; // standaard plaatje als er geen plaatje wordt bijgevoegd
$hoogte = 75; // hoogte van de thumbnails
$breedte = 110; // breedte van de thumbnail
$klikbaar = 0; // Het plaatje naast het bericht vergrootbaar? 1 = Ja / 0 = Nee
$standaardMax = 5; // Aantal berichten per nieuwspagina
$error = array();
$error['ext'] = "Het plaatje heeft een foute extensie."; // probleem met extensie
$error['type'] = "Het plaatje is geen goed type."; // probleem met type
$error['size'] = "Het plaatje is te groot."; // probleem met size
$size_max = 250; // Maximale grote in kB
$map = "nieuws_img"; // welke map ZONDER eind '/'
$exts = array("gif", "jpg", "jpeg", "png", "GIF", "JPG", "JPEG", "PNG"); // welke extensies
$types = array("image/gif", "image/pjpeg", "image/x-png", "image/jpeg", "image/png"); // welke types
// Functie(s)
function saveInput($input, $mode = true)
{
return ($mode == true ? addslashes(htmlentities($input)) : addslashes($input));
}
mysql_connect($host,$user,$pass) or die("Er kan geen verbinding gemaakt worden met de database.");
mysql_select_db($database);
?>
Helemaal onderin in connect.php wordt er een verbinding gemaakt met jouw mysql server. Dit gebeurd met de PHP functie mysql_connect().
Daarna wordt de functie mysql_select_db($database) aangeroepen. Hiermee vertel je de server met welke database je wilt gaan werken, echter gaat hier iets fout. Misschien moet je de database nog even aanmaken? Misschien zie je een hoofdletter in de database-naam over het hoofd? namen in mysql zijn case sensitive
Het is verstandiger om ook fouten bij deze laatste functie af te vangen. dat kan bijv. zo:
Code (php)
1
2
3
4
2
3
4
<?php
if(!mysql_select_db($database))
die ('fout bij selecteren van database '.$database.' : '.mysql_error());
?>
if(!mysql_select_db($database))
die ('fout bij selecteren van database '.$database.' : '.mysql_error());
?>
Gewijzigd op 18/10/2012 22:56:44 door Frank Nietbelangrijk