connectie met de database mislukt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marcel sauer

marcel sauer

27/05/2010 17:41:31
Quote Anchor link
beste leden!

ik ben net nieuw op deze site en denk hier veel info op te kunnen doen!

ik heb een probleempje.
ik probeer al enige tijd een gastenboek te maken.
dit lukt volgens mij best redelijk.
alleen als ik de site en myadmin ge-update heb krijg ik dat de verbinding met de database mislukt.
enig idee waar dit aan kan liggen of hoe ik dit kan oplossen.
ik heb mijn wachtwoord en gebruikers naam in gevuld voor host local host en voor database naam gastenboek (zoals hij in mijn myadmin staat)

ik snap er niks meer van.

m.v.g. Marcel
 
PHP hulp

PHP hulp

18/04/2024 16:30:28
 
Joren de Wit

Joren de Wit

27/05/2010 17:46:15
Quote Anchor link
Laat de regels uit je script waar je verbinding maakt (en de foutmelding ontstaat) eens zien? Je zult daar waarschijnlijk toch een fout maken.
 
Marcel sauer

marcel sauer

27/05/2010 19:10:30
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
<html>
<head>
<script type="text/javascript">
function addText(text){
  document.getElementById('tekst').value += text;
}
</script>
<body>

<style type="text/css">
<!--
body {
    background-color: #ffffe0;
}
body, td, th {
    font-family: Times New Roman, Times, serif;
}
-->
</style>
<?
/* de create table
CREATE TABLE `gastenboek` (
  `id` int(11) NOT NULL auto_increment,
  `naam` varchar(100) NOT NULL default '',
  `email` varchar(200) NOT NULL default '',
  `bericht` text NOT NULL,
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
);
*/
  

$mysql_user = "xxx"; // je mysql login naam
$mysql_pass = "xxx"; // je mysql wachtwoord
$mysql_host = "xxx"; // de host van je mysql database (localhost is meestal wel oke)
$mysql_dbn = "xxx"; // de naam van je database

//verbinding

if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))  
{
  
    echo "database connectie mislukt!";
    exit();  
}


if ($_SERVER['REQUEST_METHOD'] == "POST" && !empty($_POST['naam']) && !empty($_POST['email']) && !empty($_POST['bericht']) && strstr($_POST['email'], '@'))
{
  
    $datum = date('Y-m-d H:i:s');
    
    //scheldwoordenfilter
    $_POST['bericht'] = htmlspecialchars($_POST['bericht']);  
    $_POST['bericht'] = addslashes($_POST['bericht']);
    $_POST['bericht'] = eregi_replace('klote','***',$_POST['bericht']);
    $_POST['bericht'] = eregi_replace('kut','***',$_POST['bericht']);
    
    //smileys
    $_POST['bericht'] = str_replace(':D','<img src=\"smiley/biggrin.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':d','<img src=\"smiley/biggrin.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('o-)','<img src=\"smiley/angel.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('O-)','<img src=\"smiley/angel.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':klap:','<img src=\"smiley/applause.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':$','<img src=\"smiley/ashamed.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':s','<img src=\"smiley/confused.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':S','<img src=\"smiley/confused.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('(H)','<img src=\"smiley/cool.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('(h)','<img src=\"smiley/cool.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('^o)','<img src=\"smiley/ehh.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('^O)','<img src=\"smiley/ehh.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':bang:','<img src=\"smiley/fear.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':o','<img src=\"smiley/impressed.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':O','<img src=\"smiley/impressed.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('^^','<img src=\"smiley/kidding.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace('^_^','<img src=\"smiley/kidding.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':@','<img src=\"smiley/mad.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':-@','<img src=\"smiley/mad.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':|','<img src=\"smiley/neutral.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':-|','<img src=\"smiley/neutral.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':roll:','<img src=\"smiley/rolleyes.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':(','<img src=\"smiley/sad.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':-(','<img src=\"smiley/sad.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':bleh:','<img src=\"smiley/sick.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':x','<img src=\"smiley/silenced.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':X','<img src=\"smiley/silenced.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':)','<img src=\"smiley/smile.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':-)','<img src=\"smiley/smile.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':P','<img src=\"smiley/tongue.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':p','<img src=\"smiley/tongue.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':twisted:','<img src=\"smiley/twisted.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(':whistle:','<img src=\"smiley/whistle.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(';)','<img src=\"smiley/wink.gif\">',$_POST['bericht']);
    $_POST['bericht'] = str_replace(';-)','<img src=\"smiley/wink.gif\">',$_POST['bericht']);

    //zet bericht in database
    $sql = "INSERT INTO gastenboek SET ";
    $sql .= "id = ''";
    $sql .= ", naam = '" . $_POST['naam'] . "'";
    $sql .= ", email = '" . $_POST['email'] . "'";
    $sql .= ", bericht = '" . $_POST['bericht'] . "'";
    $sql .= ", datum = '" . $datum . "'";  
    
    //voert de SQL code uit
    $res = mysql_query($sql);  
    
    if (!empty($res))
    {
  
        echo "<center><h1>Bericht toegevoegd</h1>";
    
        echo "<p>Bedankt voor je bericht. Het bericht is toegevoegd. Ga nu naar <a href=\"" . $_SERVER['PHP_SELF'] . "\" title=\"Berichten overzicht\">het berichten overzicht</a>.</center>";
    }


    else
        echo "<center>Bericht NIET toegevoegd. Er is iets misgegaan met het invoeren in de database.</center>";  
}


elseif ($_GET['show'] == "add" || $_POST['show'] == "add")
{

    echo "<center><h1>Voeg een bericht toe</h1>";
    
    echo "<p>Toon mij <a href=\""  . $_SERVER['PHP_SELF'] . "\" title=\"Berichten in gastenboek\">alle berichten in het gastenboek</a>.</p>";
    
    // Als het formulier verstuurd is, dan ben je hier eerder geweest. De velden zijn dan niet juist ingevuld.
    if ($_SERVER['REQUEST_METHOD'] == "POST")  
        echo "<p>Je bent enkele velden vergeten in te vullen of je hebt geen juist e-mail adres ingevuld.</p>";  
    
    //formulier
    echo "<form method=\"POST\" action=\"" . $_SERVER['PHP_SELF'] . "\">";  
    echo "<p>";
    echo "<input type=\"hidden\" name=\"show\" value=\"add\" />";
    
    //invulveld
    echo "Naam:<br />";  
    echo "<input type= \"text\" name=\"naam\" cols=\"35\" value=\"" . htmlentities($_POST['naam']) . "\"><br />";  
    echo "Email:<br />";  
    echo "<input type=\"text\" name=\"email\" cols=\"35\" value=\"" . htmlentities($_POST['email']) . "\"><br />";  
    echo "<center>Bericht:<br /></center>";  
    ?>
  
                 <table width="105" border="0">
                  <tr>
                  <?php
                  //smileys
                    echo "<td><a href=\"#\" onClick=\"addText('o-)')\"><img src=\"smiley/angel.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':klap:')\"><img src=\"smiley/applause.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':$')\"><img src=\"smiley/ashamed.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':D')\"><img src=\"smiley/biggrin.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':S')\"><img src=\"smiley/confused.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText('(H)')\"><img src=\"smiley/cool.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText('^o)')\"><img src=\"smiley/ehh.gif\" border=\"0\"</a></td>";
                    ?>

                  </tr>
                  <tr>
                  <?php
                    echo "<td><a href=\"#\" onClick=\"addText(':bang:')\"><img src=\"smiley/fear.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':O')\"><img src=\"smiley/impressed.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText('^_^')\"><img src=\"smiley/kidding.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':@')\"><img src=\"smiley/mad.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':|')\"><img src=\"smiley/neutral.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':roll:')\"><img src=\"smiley/rolleyes.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':(')\"><img src=\"smiley/sad.gif\" border=\"0\"</a></td>";
                    ?>

                  </tr>
                  <tr>
                  <?php
                    echo "<td><a href=\"#\" onClick=\"addText(':bleh:')\"><img src=\"smiley/sick.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':X')\"><img src=\"smiley/silenced.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':)')\"><img src=\"smiley/smile.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':P')\"><img src=\"smiley/tongue.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':twisted:')\"><img src=\"smiley/twisted.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(':whistle:')\"><img src=\"smiley/whistle.gif\" border=\"0\"</a></td>";
                    echo "<td><a href=\"#\" onClick=\"addText(';)')\"><img src=\"smiley/wink.gif\" border=\"0\"</a></td>";
                    ?>

                  </tr>
                </table>                
              <?php    
        echo "<textarea name=\"bericht\" id=\"tekst\" rows=\"5\" cols=\"35\">" . htmlentities($_POST['bericht']) . "</textarea><br />";          
           echo "<input type=\"submit\" name=\"submit\" value=\" Bericht plaatsen \"></p>";  
        echo "</form></center>";  
}

else
{
    echo "<h1><center>Gastenboek</center></h1>";
    
    echo "<center><p>Voeg een <a href=\"" . $_SERVER['PHP_SELF'] . "?show=add\">nieuw bericht</a> toe aan het gastenboek.</p><br/>          </center>";
    
    //voor pagina nummering
    $res1 = mysql_query("SELECT COUNT(id) FROM gastenboek") or die("res1: ".mysql_error()); // vraag het AANTAL items op
    $items_totaal = mysql_result($res1, 0);
    mysql_free_result($res1);  
    
    $items_per_pagina = 10; // aantal items per pagina
    $aantal_paginas =  ceil($items_totaal / $items_per_pagina);  
    
    // de huidige pagina opvragen
    $huidige_pagina = 0;  
    if(isset($_GET['p']) && is_numeric($_GET['p']) && $_GET['p'] > 0 && $_GET['p'] < $aantal_paginas)  
    {

        $huidige_pagina = $_GET['p'];
    }


    // items van de huidige pagina ophalen
    $offset = $huidige_pagina * $items_per_pagina;

    $sql = ("SELECT id,naam,email,bericht,DATE_FORMAT(datum, '%d.%m.%Y') as show_datum FROM gastenboek ORDER BY datum DESC LIMIT ".$offset.                            "," .$items_per_pagina) or die("sql:". mysql_error());
  
    // Voer SQL code uit
    $res = mysql_query($sql);  
    
    // Kijk of er 1 of meerdere rijen gevonden zijn
    if (mysql_num_rows($res) >= 1)  
    {

        // Toon elke rij tot dat er geen rijen meer zijn
        while ($row = mysql_fetch_array($res))  
           {
  
            $row['email'] = htmlentities($row['email']);
            $row['naam'] = nl2br(htmlentities($row['naam']));
            $row['bericht'] = stripslashes(nl2br($row['bericht']));  
            ?>

            <div align="center">
              <table width="400" border="1" align="center">
                <tr>
                  <td bgstyle="color: #FFCC66;"><?php echo "<p><a href=\"mailto:" . $row['email'] . "\">" . $row['naam'] . "</a> schreef op <i>"                                                       . $row['show_datum'] . "</i>:</td>"; ?>  
                </tr>
                <tr>
                  <td><?php echo $row['bericht'];  ?></td>
                </tr>
              </table>
              <?php
            echo "<br/>";
            }
  
        
        for($i = 0; $i < $aantal_paginas; $i++) {
            if($huidige_pagina == $i) {
                // huidige pagina is niet klikbaar
                echo "<b>".($i+1)."</b>";
            }
else {
                // een andere pagina dan de huidige is wel klikbaar
                echo "<a href=\"".$_SERVER['PHP_SELF']."?p=".$i."\">".($i+1)."</a>";
            }

           // deel-streepje tussen alle items
            if($i < $aantal_paginas - 1) {
                echo " - ";
            }
        }
    }
  
    // Er zijn geen rijen gevonden, geef aan dat er nog geen berichten zijn toegevoegd
    else  
        echo "<p>Er zijn nog geen gastenboek berichten toegevoegd.</p>";
}

?>

</p>
</div>


als foutmelding krijg ik :

database connectie mislukt!


alvast bedankt voor de snele reactie

Modedit:
Code in -tags geplaatst
Gewijzigd op 27/05/2010 20:15:39 door Chris -
 
Pim -

Pim -

27/05/2010 19:13:58
Quote Anchor link
Haha dat is een boel.
Vervang
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))  
{
  
    echo "database connectie mislukt!";  
    exit();  
}


// VOOR

if(false == ($conn = mysql_connect($mysql_host, $mysql_user, $mysql_pass)) {
    echo mysql_error();
}

if(!mysql_select_db($mysql_dbn, $conn)) {
    echo mysql_error();
}


?>

Om de foutmelding te krijgen.
LET OP: Zet nooit echo mysql_error() in een website in gebruik!!!
 
Marcel sauer

marcel sauer

27/05/2010 19:19:57
Quote Anchor link
ja is een hoop he :P
ik denk zet alles er maar op dan kan je het goed bekijken.
moet wel bekennen dat het een script is van iemand anders een tutorial waar ik zelf mee wil gaan werken en aanpassen.

nu krijg ik deze error


Parse error: syntax error, unexpected '{' in /home/xxxxxxxxxx.nl/www/gastenboek.php on line 38
Gewijzigd op 27/05/2010 19:21:19 door marcel sauer
 
Pim -

Pim -

27/05/2010 19:22:01
Quote Anchor link
Oh hehe

Bij de vervanging:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(false == ($conn = mysql_connect($mysql_host, $mysql_user, $mysql_pass))) {
    echo mysql_error();
}

if(!mysql_select_db($mysql_dbn, $conn)) {
    echo mysql_error();
}

?>
 
Marcel sauer

marcel sauer

27/05/2010 19:23:57
Quote Anchor link
yep dat stukje vervangen dan krijg ik die error
 
Willem Jan Z

Willem Jan Z

27/05/2010 19:51:42
Quote Anchor link
Wat hij bedoelt, is dat hij een foutje in zijn code had ( een ')' te weinig).
Je moet dus het stukje nog een keer kopieren (wat hij de 2e keer gaf)
 
Marcel sauer

marcel sauer

27/05/2010 20:00:23
Quote Anchor link
oeps foutje van mij :P

nu krijg ik dit:

Access denied for user 'xxxxxxx'@'localhost' to database 'gastenboek'
Gastenboek

Voeg een nieuw bericht toe aan het gastenboek.


res1: No database selected



als ik dan bericht toevoegen doe kan ik een bericht typen maar dan kan hij hem ook niet opslaan.

we zijn al iets verder maar het is nog niet goed.
 
Pim -

Pim -

27/05/2010 20:03:36
Quote Anchor link
Zo nu komen we ergens
De foutmelding is dus: "Acess denied for user 'xxxxxxx'@'localhost' to database 'gastenboek'"
Je hebt blijkbaar niet de rechten om iets met de database gastenboek te doen.
Bestaat hij? Je moet hem sowieso eerst handmatig aanmaken
 
Marcel sauer

marcel sauer

27/05/2010 20:08:14
Quote Anchor link
ik heb de myadmin aangemaakt met deze

CREATE TABLE `gastenboek` (
`id` int(11) NOT NULL auto_increment,
`naam` varchar(100) NOT NULL default '',
`email` varchar(200) NOT NULL default '',
`bericht` text NOT NULL,
`datum` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
);

heb ook nog een gastenboek.txt xxxxxxx is trouwens mijn site naam weet niet of dat kwaad kan vandaar xxxx
 
Joren de Wit

Joren de Wit

27/05/2010 20:10:48
Quote Anchor link
Je hebt dus een tabel die 'gastenboek' heet, maar hoe heet je database waar je verbinding mee probeert te maken? Daar gaat het fout...
 
Pim -

Pim -

27/05/2010 20:11:17
Quote Anchor link
@Marcel
Nee dat zal niet zo uitmaken.
Het is je eigen server?

En log je in met de root mysql user of heb je een andere aangemaakt?
Gewijzigd op 27/05/2010 20:14:45 door Pim -
 
Marcel sauer

marcel sauer

27/05/2010 20:14:01
Quote Anchor link
aiiii ik schaam me..............

nu je het zegt ben ik even gaan zoeken en heb je gelijk das mijn tabel naam nu werkt alles prima!
mag ik jullie bedanken voor de goeie hulp!

van mij mag er een slotje op!
 
Joren de Wit

Joren de Wit

27/05/2010 20:17:29
Quote Anchor link
Pim:
Nee dat zal niet zo uitmaken.

Dat zal in zoverre uitmaken dat het echt niet lukt om een database te selecteren met een user die daar geen rechten toe heeft. Verbindt hij met zijn eigen server als root user, oke dan heeft hij alle rechten. Maar in de meeste alle gevallen zal de betreffende user toch echt rechten moeten hebben om de database te benaderen.

Edit: oeps, zie dat je reactie niet over mijn posts ging. Never mind...
Gewijzigd op 27/05/2010 20:18:46 door Joren de Wit
 
Pim -

Pim -

27/05/2010 20:20:24
Quote Anchor link
Ik heb mijn bericht al gewijzigd: het was onduidelijk omdat jij eerder postte.

Ik reageerde op
Quote:
heb ook nog een gastenboek.txt xxxxxxx is trouwens mijn site naam weet niet of dat kwaad kan vandaar xxxx


En dat van de tabel/database had ik helemaal over het hoofd gezien...
 
Marcel sauer

marcel sauer

27/05/2010 20:27:47
Quote Anchor link
vind het trouwens echt super dat het zo'n actief forum is!
zal hier veel info kunnen inwinnen.
het gaat trouwens om masafoto de xxxxx dat is de database
 
Joren de Wit

Joren de Wit

27/05/2010 20:35:11
Quote Anchor link
Je bent altijd welkom om vragen te stellen! ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.