Ik ben bezig om een site ta maken in html, en ik wou graag een formulier op mijn site maken.
Ik ben nu (dacht ik) klaar, maar nu werkt het in eens niet.
Ik vul het formulier in op mijn site, maar als ik dan naar de mysql database ga krijgen ik de melding: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
De code van de pagina met het formulier (HTML):
<!DOCTYPE html>
<html lang="nl">
<head>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<meta charset="utf-8">
<meta name="Overzicht van alle Zeeaquariumwinkels/speciaalzaken" content="Het is altijd moeilijk een aquariumwinkel in de buurt te vinden, hier vind je het grootste overzicht van zeeaquariumwinkels">
<meta name="viewport" content="initial-scale=1.0, width=device-width">
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
</head>
<body>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-96533812-1', 'auto');
ga('send', 'pageview');
</script>
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5820291eee215f05"></script>
<header><DIV ALIGN="center"><IMG SRC="https://zeewateraquarium.info/images/banner.jpg" ALT="BANNER" style="width: 600px; max-width: 99%; height: auto;"></DIV></header>
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="opstarten.html">Opstarten</a></li>
<li><a href="bewoners.html">Bewoners</a></li>
<li><a href="techniek.html">Techniek</a></li>
<li><a href="winkels.html">Winkels</a></li>
</ul>
</nav>
<div class="midden">
<article>
<h1>Nieuwe winkel toevoegen</h1>
<h3>Weet je een winkel die niet in het overzicht staat? Vul dan dit formulier in.</h3>
<form method="post">
<form method="post" action="toevoegen.php">
<form method="post" action="toevoegen.php?titel=formulier is verzonden">
<form method="post" action="?p=toevoegen&t=formulier is verzonden">
<p>Jouw naam:</p>
<input type="text" name="jenaam" />
<p>Jouw E-Mailadres:</p>
<input type="text" name="mail" />
<p>Naam winkel:</p>
<input type="text" name="naam" />
<p>Adres winkel:</p>
<input type="text" name="adres" />
<p>Provincie:</p>
<select name="provincie"><option value="friesland">Friesland</option><option value="groningen">Groningen</option><option value="drenthe">Drenthe</option><option value="overijssel">Overijssel</option><option value="flevoland">Flevoland</option><option value="noordholland">Noord Holland</option><option value="gelderland">Gelderland</option><option value="utrecht">Utrecht</option><option value="zuidholland">Zuid Holland</option><option value="limburg">Limburg</option><option
value="zeeland">Zeeland</option></select>
<p>Wat verkoopt de winkel:</p>
<input type="checkbox" name="wat" value="vis"> Vissen<br>
<input type="checkbox" name="wat" value="koraal"> Koralen<br>
<input type="checkbox" name="wat" value="aquaria"> Aquaria<br>
<input type="checkbox" name="wat" value="techniek"> Techniek<br>
<input type="checkbox" name="wat" value="overig"> Overige<br>
<p>Omschrijving van de winkel:</p>
<textarea name="omschrijving" rows="5" cols="30"></textarea><br>
<input type="submit" value="Verzenden" name="zend_form" />
</article>
</div>
<footer>
<p><p>© 2017 Zeewateraquarium.info</p></p>
</footer>
</div>
</body>
</html>
de code van de pagina toevoegen.php:
<?php
if(mysql_connect('localhost','root',''))
{
mysql_select_db('sitemasters') or die(mysql_error());
}
else
{
echo 'Kan geen verbinding maken';
exit;
}
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
$aFouten = array();
if($_POST['jenaam'] == '')
{
$aFouten[] = 'Je hebt geen naam ingevuld';
}
if($_POST['mail'] == '')
{
$aFouten[] = 'Je hebt geen emailadres ingevuld';
}
if($_POST['naam'] == '')
{
$aFouten[] = 'Je hebt de naam van de winkel niet ingevuld';
}
if($_POST['adres'] == '')
{
$aFouten[] = 'Je hebt geen adres ingevuld';
}
if($_POST['naam'] == '')
{
if(count($aFouten) != 0)
{
echo 'De volgende fouten zijn opgetreden: <br /><br />';
for($Fi = 0; $Fi < count($aFouten); $Fi++)
{
echo $aFouten[$Fi].'<br />';
}
echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
}
else
{
mysql_query("INSERT INTO formulier (jenaam,mail,naam,adres) VALUES ('".addslashes($_POST['jenaam'])."','".addslashes($_POST['mail'])."','".addslashes($_POST['naam'])."','".$_POST['adres']."')") or die (mysql_error());
echo 'De gegevens zijn succesvol opgeslagen in de database';
}
De code van de pagina weergeven.html:
<?php
mysql_connect('localhost','root','');
mysql_select_db('sitemasters') or die (mysql_error());
if(mysql_result(mysql_query("SELECT COUNT(id) FROM `formulier`"),0) == 0)
{
echo 'Er staan nog geen berichten in de database';
}
else
{
?>
<table>
<tr>
<td>jenaam:</td>
<td>mail:</td>
<td>naam:</td>
<td>adres:</td>
<td>provincie:</td>
<td>wat:</td>
<td>omschrijving:</td>
</tr>
<?php
$qSelect_berichten = mysql_query('SELECT * FROM `formulier`') or die (mysql_error());
while($aBerichten = mysql_fetch_array($qSelect_berichten))
{
echo '<tr>
<td>'.$aBerichten['jenaam'].'</td>
<td>'.$aBerichten['mail'].'</td>
<td>'.$aBerichten['naam'].'</td>
<td>'.$aBerichten['adres'].'</td>
<td>'.$aBerichten['provincie'].'</td>
<td>'.$aBerichten['wat'].'</td>
<td>'.$aBerichten['omschrijving'].'</td>
</tr>';
}
echo '</table>';
}
?>
Ik ben nu (dacht ik) klaar, maar nu werkt het in eens niet.
Ik vul het formulier in op mijn site, maar als ik dan naar de mysql database ga krijgen ik de melding: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
De code van de pagina met het formulier (HTML):
<!DOCTYPE html>
<html lang="nl">
<head>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<meta charset="utf-8">
<meta name="Overzicht van alle Zeeaquariumwinkels/speciaalzaken" content="Het is altijd moeilijk een aquariumwinkel in de buurt te vinden, hier vind je het grootste overzicht van zeeaquariumwinkels">
<meta name="viewport" content="initial-scale=1.0, width=device-width">
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
</head>
<body>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-96533812-1', 'auto');
ga('send', 'pageview');
</script>
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5820291eee215f05"></script>
<header><DIV ALIGN="center"><IMG SRC="https://zeewateraquarium.info/images/banner.jpg" ALT="BANNER" style="width: 600px; max-width: 99%; height: auto;"></DIV></header>
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="opstarten.html">Opstarten</a></li>
<li><a href="bewoners.html">Bewoners</a></li>
<li><a href="techniek.html">Techniek</a></li>
<li><a href="winkels.html">Winkels</a></li>
</ul>
</nav>
<div class="midden">
<article>
<h1>Nieuwe winkel toevoegen</h1>
<h3>Weet je een winkel die niet in het overzicht staat? Vul dan dit formulier in.</h3>
<form method="post">
<form method="post" action="toevoegen.php">
<form method="post" action="toevoegen.php?titel=formulier is verzonden">
<form method="post" action="?p=toevoegen&t=formulier is verzonden">
<p>Jouw naam:</p>
<input type="text" name="jenaam" />
<p>Jouw E-Mailadres:</p>
<input type="text" name="mail" />
<p>Naam winkel:</p>
<input type="text" name="naam" />
<p>Adres winkel:</p>
<input type="text" name="adres" />
<p>Provincie:</p>
<select name="provincie"><option value="friesland">Friesland</option><option value="groningen">Groningen</option><option value="drenthe">Drenthe</option><option value="overijssel">Overijssel</option><option value="flevoland">Flevoland</option><option value="noordholland">Noord Holland</option><option value="gelderland">Gelderland</option><option value="utrecht">Utrecht</option><option value="zuidholland">Zuid Holland</option><option value="limburg">Limburg</option><option
value="zeeland">Zeeland</option></select>
<p>Wat verkoopt de winkel:</p>
<input type="checkbox" name="wat" value="vis"> Vissen<br>
<input type="checkbox" name="wat" value="koraal"> Koralen<br>
<input type="checkbox" name="wat" value="aquaria"> Aquaria<br>
<input type="checkbox" name="wat" value="techniek"> Techniek<br>
<input type="checkbox" name="wat" value="overig"> Overige<br>
<p>Omschrijving van de winkel:</p>
<textarea name="omschrijving" rows="5" cols="30"></textarea><br>
<input type="submit" value="Verzenden" name="zend_form" />
</article>
</div>
<footer>
<p><p>© 2017 Zeewateraquarium.info</p></p>
</footer>
</div>
</body>
</html>
de code van de pagina toevoegen.php:
<?php
if(mysql_connect('localhost','root',''))
{
mysql_select_db('sitemasters') or die(mysql_error());
}
else
{
echo 'Kan geen verbinding maken';
exit;
}
if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
$aFouten = array();
if($_POST['jenaam'] == '')
{
$aFouten[] = 'Je hebt geen naam ingevuld';
}
if($_POST['mail'] == '')
{
$aFouten[] = 'Je hebt geen emailadres ingevuld';
}
if($_POST['naam'] == '')
{
$aFouten[] = 'Je hebt de naam van de winkel niet ingevuld';
}
if($_POST['adres'] == '')
{
$aFouten[] = 'Je hebt geen adres ingevuld';
}
if($_POST['naam'] == '')
{
if(count($aFouten) != 0)
{
echo 'De volgende fouten zijn opgetreden: <br /><br />';
for($Fi = 0; $Fi < count($aFouten); $Fi++)
{
echo $aFouten[$Fi].'<br />';
}
echo '<br />Klik <a href="javascript:history.go(-1);">hier</a> om terug te keren';
}
else
{
mysql_query("INSERT INTO formulier (jenaam,mail,naam,adres) VALUES ('".addslashes($_POST['jenaam'])."','".addslashes($_POST['mail'])."','".addslashes($_POST['naam'])."','".$_POST['adres']."')") or die (mysql_error());
echo 'De gegevens zijn succesvol opgeslagen in de database';
}
De code van de pagina weergeven.html:
<?php
mysql_connect('localhost','root','');
mysql_select_db('sitemasters') or die (mysql_error());
if(mysql_result(mysql_query("SELECT COUNT(id) FROM `formulier`"),0) == 0)
{
echo 'Er staan nog geen berichten in de database';
}
else
{
?>
<table>
<tr>
<td>jenaam:</td>
<td>mail:</td>
<td>naam:</td>
<td>adres:</td>
<td>provincie:</td>
<td>wat:</td>
<td>omschrijving:</td>
</tr>
<?php
$qSelect_berichten = mysql_query('SELECT * FROM `formulier`') or die (mysql_error());
while($aBerichten = mysql_fetch_array($qSelect_berichten))
{
echo '<tr>
<td>'.$aBerichten['jenaam'].'</td>
<td>'.$aBerichten['mail'].'</td>
<td>'.$aBerichten['naam'].'</td>
<td>'.$aBerichten['adres'].'</td>
<td>'.$aBerichten['provincie'].'</td>
<td>'.$aBerichten['wat'].'</td>
<td>'.$aBerichten['omschrijving'].'</td>
</tr>';
}
echo '</table>';
}
?>