script loopt niet door, waarom?
Wie helpt mij?
Vriendelijke groet,
Guido
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
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
$mysql['host'] = "localhost";
$mysql['gebruikersnaam'] = "guido";
$mysql['wachtwoord'] = "geheim";
$mysql['database'] = "gegevens";
...
$cfg['con'] = mysqli_connect($host,$gebruikersnaam,$wachtwoord,$database);
<p>Installatieproces:</p>
if(mysqli_query($con,"
CREATE TABLE `leden` (
`id` tinyint(11) NOT NULL auto_increment,
`gebruikersnaam` varchar(255) NOT NULL default '',
`wachtwoord` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 ;
")) {
echo '
<tr>
<td>Installatie tabel... </td>
<td><font color="#33CC00">O.K.</font></td>
</tr>';
$status++;
} else {
echo '
<tr>
<td>Installatie tabel... </td>
<td><font color="#FF0000">MISLUKT</font></td>
</tr>';
}
...
$mysql['gebruikersnaam'] = "guido";
$mysql['wachtwoord'] = "geheim";
$mysql['database'] = "gegevens";
...
$cfg['con'] = mysqli_connect($host,$gebruikersnaam,$wachtwoord,$database);
<p>Installatieproces:</p>
if(mysqli_query($con,"
CREATE TABLE `leden` (
`id` tinyint(11) NOT NULL auto_increment,
`gebruikersnaam` varchar(255) NOT NULL default '',
`wachtwoord` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 ;
")) {
echo '
<tr>
<td>Installatie tabel... </td>
<td><font color="#33CC00">O.K.</font></td>
</tr>';
$status++;
} else {
echo '
<tr>
<td>Installatie tabel... </td>
<td><font color="#FF0000">MISLUKT</font></td>
</tr>';
}
...
Zelf foutafhandeling eens aan. Je connection variabelen bestaan niet, dit heb je in een array maar je gebruikt platte variabelen bij musqli_connect. $con bestaat ook niet, dit moet $cfg['con'] zijn.
Dit is weer zo'n "het werkt niet" vraag waarbij het probleem niet het probleem is maar de aanpak, of liever gezegd het ontbreken van een strategie.
De vraag is in feite "ik weet niet wat er fout gaat". Oftewel je krijgt te weinig informatie terug om te kunnen onderzoeken wat er mis gaat, of je weet simpelweg niet wat je aan het doen bent omdat je deze code ergens vandaan hebt getrokken en ergens geknipt en geplakt hebt, of je weet simpelweg niet hoe je informatie tot je moet laten komen.
De eerste logische stap is dan dus ook om ervoor te zorgen dat je deze informatie ergens vandaan kunt halen. Ofwel uit errorlogs ofwel uit informatie die direct op je scherm gedumpt wordt. De magische incantatie voor het melden + weergeven van foutmeldingen op het scherm is aldus:
Code (php)
1
2
3
4
2
3
4
<?php
error_reporting(E_ALL); // welke fouten moeten getoond worden?
ini_set('display_errors', 'stdout'); // waar moeten de fouten getoond worden?
?>
error_reporting(E_ALL); // welke fouten moeten getoond worden?
ini_set('display_errors', 'stdout'); // waar moeten de fouten getoond worden?
?>
Ik begin er meer en meer een voorstander van te worden om beginners eerst te leren om te debuggen voordat ze daadwerkelijk code beginnen te kloppen want zelfs als zij al wat gevorderd zijn en er gebeurt iets onverwachts waarbij zij van de gebaande paden afraken zijn ze ineens compleet de weg kwijt... wat min of meer aantoont dat ze niet echt weten waar ze mee bezig zijn of zich in ieder geval niet kunnen redden in dat soort situaties.
Het script zoals ik dat hier geplaatst heb, is een uitgeklede versie van mijn werkelijke script. Ik heb foutafhandeling aan staan en dus ook foutmeldingen op mijn scherm gezien. Met die informatie ben ik op internet gaan zoeken, maar heb geen duidelijke oplossing kunnen vinden.
Guido van Harten op 06/08/2016 15:56:22:
Ik heb foutafhandeling aan staan en dus ook foutmeldingen op mijn scherm gezien.
Waarom deel je die dan niet met ons? ;-)
Met een bericht als "Het werkt niet" kunnen we vrij weinig.
Alvast bedankt.
Vriendelijke groet,
Guido
Obelix en Idefix op 06/08/2016 17:08:13:
Waarom deel je die dan niet met ons? ;-)
Guido van Harten op 06/08/2016 15:56:22:
Ik heb foutafhandeling aan staan en dus ook foutmeldingen op mijn scherm gezien.
Waarom deel je die dan niet met ons? ;-)