Kan op localhost wel gegevens invoeren in mysql, online niet
Ik heb de afgelopen 2 weken er veel op deze site gevonden wat mij geholpen heeft, daarvoor dank!
Echter loop ik nu tegen een probleem op waar ik geen oplossing hier voor kan vinden (of heb er overheen gekeken) en google kan mij ook al niet helpen.
Ik heb mijn project nu online gezet en alles doet het, behalve het invoeren in de database.
Het uitlezen lukt wel, dus de verbinding met de database is niet het probleem.
Dus kort samengevat:
-site doet het
-uitlezen uit database lukt (via phpmyadmin ingevoerd)
-database precies het zelfde als op localhost
-invoeren via dit of welk script dan ook (zelfde methode van posten) lukt niet
Hier is de code:
Quote:
<form action="plaatsbericht.php" method="POST">
<table border="1">
<tr>
<td>Voorletters: </td>
<td><input type="text" name="voorletters">
</td></tr>
<tr>
<td>Voornaam: </td>
<td><input type="text" name="voornaam">
</td></tr>
<tr>
<td>Achternaam: </td>
<td><input type="text" name="achternaam">
</td></tr>
<tr>
<td>Geboorte datum: </td>
<td><input type="text" name="geboortedatum">
</td></tr>
<tr>
<td>Telefoon thuis: </td>
<td><input type="text" name="telefoonthuis">
</td></tr>
<tr>
<td>Telefoon mobiel: </td>
<td><input type="text" name="telefoonmobiel">
</td></tr>
<tr>
<td>E-mail adres: </td>
<td><input type="text" name="e-mailadres">
</td></tr>
<tr>
<td>Woon adres: </td>
<td><input type="text" name="woonadres">
</td></tr>
<tr>
<td>Postcode: </td>
<td><input type="text" name="postcode">
</td></tr>
<tr>
<td>Plaats: </td>
<td><input type="text" name="plaats">
</td></tr>
<tr>
<td>Datum in dienst: </td>
<td><input type="text" name="datumindienst">
</td></tr>
<tr>
<td>Voorkeurs uren per week: </td>
<td><input type="text" name="voorkeursurenperweek">
</td></tr>
<tr>
<td><font color=white>.</font></td><td><input type="submit" value="plaats nieuwe medewerker">
</td></tr>
</table>
</form>
<table border="1">
<tr>
<td>Voorletters: </td>
<td><input type="text" name="voorletters">
</td></tr>
<tr>
<td>Voornaam: </td>
<td><input type="text" name="voornaam">
</td></tr>
<tr>
<td>Achternaam: </td>
<td><input type="text" name="achternaam">
</td></tr>
<tr>
<td>Geboorte datum: </td>
<td><input type="text" name="geboortedatum">
</td></tr>
<tr>
<td>Telefoon thuis: </td>
<td><input type="text" name="telefoonthuis">
</td></tr>
<tr>
<td>Telefoon mobiel: </td>
<td><input type="text" name="telefoonmobiel">
</td></tr>
<tr>
<td>E-mail adres: </td>
<td><input type="text" name="e-mailadres">
</td></tr>
<tr>
<td>Woon adres: </td>
<td><input type="text" name="woonadres">
</td></tr>
<tr>
<td>Postcode: </td>
<td><input type="text" name="postcode">
</td></tr>
<tr>
<td>Plaats: </td>
<td><input type="text" name="plaats">
</td></tr>
<tr>
<td>Datum in dienst: </td>
<td><input type="text" name="datumindienst">
</td></tr>
<tr>
<td>Voorkeurs uren per week: </td>
<td><input type="text" name="voorkeursurenperweek">
</td></tr>
<tr>
<td><font color=white>.</font></td><td><input type="submit" value="plaats nieuwe medewerker">
</td></tr>
</table>
</form>
en plaatsbericht.php:
Quote:
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
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
<?php
if( strlen($_POST['voornaam']) < 1 || strlen($_POST['voorletters']) < 1 || strlen($_POST['achternaam']) < 1 || strlen($_POST['geboortedatum']) < 1 || strlen($_POST['telefoonthuis']) < 1 || strlen($_POST['telefoonthuis']) < 1 || strlen($_POST['e-mailadres']) < 1 || strlen($_POST['woonadres']) < 1 || strlen($_POST['postcode']) < 1 || strlen($_POST['plaats']) < 1 || strlen($_POST['datumindienst']) < 1 || strlen($_POST['voorkeursurenperweek']) < 1)
{
echo("U heeft te weinig gegevens ingevuld. Ga terug.");
}
else
{
$db = mysql_connect($host,$user,$pass);
mysql_select_db($database);
$voornaam= mysql_escape_string(strip_tags($_POST['voornaam']));
$voorletters= mysql_escape_string(strip_tags($_POST['voorletters']));
$achternaam= mysql_escape_string(strip_tags($_POST['achternaam']));
$geboortedatum= mysql_escape_string(strip_tags($_POST['geboortedatum']));
$telefoonthuis= mysql_escape_string(strip_tags($_POST['telefoonthuis']));
$telefoonmobiel= mysql_escape_string(strip_tags($_POST['telefoonmobiel']));;
$emailadres= mysql_escape_string(strip_tags($_POST['e-mailadres']));
$woonadres= mysql_escape_string(strip_tags($_POST['woonadres']));
$postcode= mysql_escape_string(strip_tags($_POST['postcode']));
$plaats= mysql_escape_string(strip_tags($_POST['plaats']));
$datumindienst= mysql_escape_string(strip_tags($_POST['datumindienst']));
$voorkeururen= mysql_escape_string(strip_tags($_POST['voorkeursurenperweek']));
$query = "INSERT INTO medewerkers VALUES ('', '$voornaam', '$voorletters', '$achternaam', '$geboortedatum', '$telefoonthuis', '$telefoonmobiel', '$emailadres', '$woonadres', '$postcode', '$plaats', '$datumindienst', '$voorkeururen')";
mysql_query($query);
header("Location: /medewerkers.php");
}
?>
if( strlen($_POST['voornaam']) < 1 || strlen($_POST['voorletters']) < 1 || strlen($_POST['achternaam']) < 1 || strlen($_POST['geboortedatum']) < 1 || strlen($_POST['telefoonthuis']) < 1 || strlen($_POST['telefoonthuis']) < 1 || strlen($_POST['e-mailadres']) < 1 || strlen($_POST['woonadres']) < 1 || strlen($_POST['postcode']) < 1 || strlen($_POST['plaats']) < 1 || strlen($_POST['datumindienst']) < 1 || strlen($_POST['voorkeursurenperweek']) < 1)
{
echo("U heeft te weinig gegevens ingevuld. Ga terug.");
}
else
{
$db = mysql_connect($host,$user,$pass);
mysql_select_db($database);
$voornaam= mysql_escape_string(strip_tags($_POST['voornaam']));
$voorletters= mysql_escape_string(strip_tags($_POST['voorletters']));
$achternaam= mysql_escape_string(strip_tags($_POST['achternaam']));
$geboortedatum= mysql_escape_string(strip_tags($_POST['geboortedatum']));
$telefoonthuis= mysql_escape_string(strip_tags($_POST['telefoonthuis']));
$telefoonmobiel= mysql_escape_string(strip_tags($_POST['telefoonmobiel']));;
$emailadres= mysql_escape_string(strip_tags($_POST['e-mailadres']));
$woonadres= mysql_escape_string(strip_tags($_POST['woonadres']));
$postcode= mysql_escape_string(strip_tags($_POST['postcode']));
$plaats= mysql_escape_string(strip_tags($_POST['plaats']));
$datumindienst= mysql_escape_string(strip_tags($_POST['datumindienst']));
$voorkeururen= mysql_escape_string(strip_tags($_POST['voorkeursurenperweek']));
$query = "INSERT INTO medewerkers VALUES ('', '$voornaam', '$voorletters', '$achternaam', '$geboortedatum', '$telefoonthuis', '$telefoonmobiel', '$emailadres', '$woonadres', '$postcode', '$plaats', '$datumindienst', '$voorkeururen')";
mysql_query($query);
header("Location: /medewerkers.php");
}
?>
bij voorbaat dank,
Sef
foutafhandeling
mak eerst eens een goede Gewijzigd op 12/05/2011 12:43:19 door Vincent Huisman
'$voornaam' etc <- Variabelen buiten quotes zetten (dit kan ook op localhost nooit goed gewerkt hebben....)
Gewijzigd op 12/05/2011 13:10:29 door John D
mysql_select_db($database);
Waar maak je de $host,$user,$pass en $database variabelen aan?
Volgens mij ligt het aan wat maikel zegt
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
INSERT INTO
blaat
(
dit,
is,
mijn,
query
)
VALUES
(
'blaat',
'bleart',
'bleeeert',
'blaaeeert'
)
blaat
(
dit,
is,
mijn,
query
)
VALUES
(
'blaat',
'bleart',
'bleeeert',
'blaaeeert'
)
ipv
Verder moet je een goede foutafhandeling inbouwen zoals Vincent al zei. Op die manier voorkom je fouten...
Ik ben dit weekend niet thuis geweest, dus zal er nu naar kijken.
$host,$user,$pass en $database staan in includes/config.php
die ik zo aanhaal:
Quote:
Toevoeging op 16/05/2011 09:37:02:
Ik heb de variabelen buiten de quotes gezet, maar het resultaat blijft niks.
foutafhandeling ben ik onbekend mee, eigenlijk altijd maar gewoon aangekloot tot dat het werkt. Dus ik ga eerst nog proberen wat Bram zei.
Mocht iemand nog andere suggesties hebben hoor ik die graag!
Bij voorbaat dank,
Sef
Gewijzigd op 16/05/2011 08:48:11 door Sef Bogaerts