Heey, ik probeer een form in een DB te zetten. Er wordt doorgelinkt naar het verwerk script maar vanaf daar gebeurt er niets.

------------------------------

Bovenstaand probleem is ondertussen opgelost. Bedankt iedereen! Voor degene die het uiteindelijke script wil:

Formulier:
<?php
echo '<h2>Plaats een nieuw concert in het systeem</h2>';

if ($_GET['err'] ==1){
echo '<font color="#666666">Het plaatsen van het concert is gelukt</font>';
}

elseif ($_GET['err'] ==2) {
echo '<font color="#ff0000">Er is iets fouts gegaan, probeer opnieuw.</font>';
}

else{

echo'<form method="post" enctype="multipart/form-data" action="concerten/addconcertcontrole.php">
<input type="hidden" name="show" value="add">
<table width="500" cellpadding="2" cellspacing="4" style="border: 1px solid #FFFFFF;">
<tr width="500">
<td width="200" class="bg_text">
<font class="text">Artiest:</font>
</td>

<td width="300" class="bg_checkbox">
<input type="text" name="artiest" size="50" value="' . isset($_POST["artiest"]) . '" />
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Omschrijving kort:</font>
</td>

<td width="300" class="bg_checkbox">
<textarea name="omschrijving_kort" rows="3" cols="50">' . isset($_POST["omschrijving_kort"]) . '</textarea>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Omschrijving lang:</font>
</td>

<td width="300" class="bg_checkbox">
<textarea name="omschrijving_lang" rows="8" cols="50">' . isset($_POST["omschrijving_lang"]) . '</textarea>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Link website artiest:</font>
</td>

<td width="300" class="bg_checkbox">
<input type="text" name="url" size="50" value="' . isset($_POST["url"]) . '"/>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Genre:</font>
</td>

<td width="300" class="bg_checkbox">
<select name="genrelijst">
<option value="pop/rock">Pop/Rock</option>
<option value="hiphop">Hip-Hop</option>
<option value="jazz">Jazz, Singer-songwriter</option>
<option value="ska">Ska, Raggae, Wereldmuziek</option>
<option value="punk">Punk</option>
<option value="metal">Metal</option>
<option value="gothic">Gothic</option>
<option value="hardcore">Hardcore</option>
</select>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Datum:</font>
</td>

<td width="300" class="bg_checkbox">
<input type="text" size="5" name="datum_dag" value="' . isset($_POST["datum_dag"]) . '"> &nbsp;

<select name="datum_maand">
<option value="januari">januari</option>
<option value="februari">februari</option>
<option value="maart">maart</option>
<option value="april">april</option>
<option value="mei">mei</option>
<option value="juni">jui</option>
<option value="juli">juli</option>
<option value="augustus">augustus</option>
<option value="september">september</option>
<option value="oktober">oktober</option>
<option value="november">november</option>
<option value="december">december</option>
</select>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Vvk prijs:</font>
</td>

<td width="300" class="bg_checkbox">
&euro; <input type="text" size="8" name="vvk_euro" value="' . isset($_POST["vvk_euro"]) . '" /> ,&nbsp;
<input type="text" size="8" name="vvk_cent" value="' . isset($_POST["vvk_cent"]) . '" />
</center>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Deur prijs:</font>
</td>

<td width="300" class="bg_checkbox">
&euro; <input type="text" size="8" name="deur_euro" value="' . isset($_POST["deur_euro"]) . '" /> ,&nbsp;
<input type="text" size="8" name="deur_cent" value="' . isset($_POST["deur_cent"]) . '" />
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Zaal open:</font>
</td>

<td width="300" class="bg_checkbox">
<select name="zaal_uur">
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="00">00</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
</select>

&nbsp;:&nbsp;

<select name="zaal_minuut">
<option value="00">00</option>
<option value="05">05</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value="55">55</option>
</select>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">
<font class="text">Aanvang:</font>
</td>

<td width="300" class="bg_checkbox">
<select name="aanvang_uur">
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="00">00</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
</select>

&nbsp;:&nbsp;

<select name="aanvang_minuut">
<option value="00">00</option>
<option value="05">05</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value="55">55</option>
</select>
</td>
</tr>

<tr width="500">
<td width="200" class="bg_text">&nbsp;

</td>

<td width="300" class="bg_checkbox">
<input type="submit" name="submit" value="Opslaan" />
</td>
</tr>
</table>
</form>';
}
?>

script om alles in te vullen in de DB:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// Databaseconnectie includen
include '../database.php';

// Variabelen voor alle invoervelden aanmaken.
$artiest = $_POST['artiest'];
$om_kort = $_POST['omschrijving_kort'];
$om_lang = $_POST['omschrijving_lang'];
$url = $_POST['url'];
$genre = $_POST['genrelijst'];
$datum_dag = $_POST['datum_dag'];
$datum_maand = $_POST['datum_maand'];
$vvk_euro = $_POST['vvk_euro'];
$vvk_cent = $_POST['vvk_cent'];
$deur_euro = $_POST['deur_euro'];
$deur_cent = $_POST['deur_cent'];
$zaal_uur = $_POST['zaal_uur'];
$zaal_minuut = $_POST['zaal_minuut'];
$aanvang_uur = $_POST['aanvang_uur'];
$aanvang_minuut = $_POST['aanvang_minuut'];

//ingevoerde velden in de query zetten mbv de variabelen.
$sql = 'INSERT INTO concerten(artiest, omschrijving_kort, omschrijving_lang, url, genrelijst, datum_dag, datum_maand, vvk_euro, vvk_cent, deur_euro, deur_cent, zaal_uur, zaal_minuut, aanvang_uur, aanvang_minuut) VALUES ("'.$artiest.'", "'.$om_kort.'", "'.$om_lang.'", "'.$url.'", "'.$genre.'", "'.$datum_dag.'", "'.$datum_maand.'", "'.$vvk_euro.'", "'.$vvk_cent.'", "'.$deur_euro.'", "'.$deur_cent.'", "'.$zaal_uur.'", "'.$zaal_minuut.'", "'.$aanvang_uur.'", "'.$aanvang_minuut.'")';

//query uitvoeren + controle
$result = mysql_query($sql,$connection);
if (!$result) {
die('Invalid query: ' . mysql_error());
}

//terugverwijzen naar het formulier met informatie of invoer gelukt is of niet.
if($result){
header ( "Location: http://www.franklicht.nl/test/index.php?show=1&news=1&err=1";);
}

else{
header ( "Location: http://www.franklicht.nl/test/index.php?show=1&news=1&err=2";);
}

?>

Databaseconnectie:
<?php

// Database information

$hostname = "xxxx";
$username = "xxxx";
$password = "xxxx";
$database = "xxxx";

// Function to specify possible MySQL errors

function showerror()
{
die("Error" .mysql_errno() . " : " . mysql_error());
exit;
}

// Making the MySQL connection

if (!($connection= @ mysql_connect($hostname, $username, $password))) showerror();

// Function to specify the Database

if (!mysql_select_db($database, $connection))
showerror();

?>
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
Dankje :-) Nu krijg ik de volgende errorcodes:

Notice: Undefined index: err in concerten\concertform.php on line 10

Notice: Undefined index: err in concerten\concertform.php on line 14

Notice: Undefined index: artiest in concerten\concertform.php on line 29

Notice: Undefined index: omschrijving_kort in concerten\concertform.php on line 39

Notice: Undefined index: omschrijving_lang in concerten\concertform.php on line 49

Notice: Undefined index: url in concerten\concertform.php on line 59

Notice: Undefined index: datum_dag in concerten\concertform.php on line 88

Notice: Undefined index: vvk_euro in concerten\concertform.php on line 113

Notice: Undefined index: vvk_cent in concerten\concertform.php on line 114

Notice: Undefined index: deur_euro in concerten\concertform.php on line 125

Notice: Undefined index: deur_cent in concerten\concertform.php on line 126

---------------
Komt er dus op neer dat bij vrijwel alle dropdowns iets mis is. Ik had ergens gezien dat ik moest checken met isSet of er iets is ingevuld?
Controles inbouwen.
Verder is je tweede script lek: sql-injection.
Zie de vele topics over beveiliging.
Zie ook eens www.phptuts.nl

nimtex schreef op 22.12.2009 12:01
moet \ niet / zijn?


Het zal wel eens Windows-bakkie zijn.
Jep, windows-bakkie en niets mis mee. Maar is die sql-injectie het nu ook echt waard om op te lossen (deadline ligt dichtbij) aangezien dit formulier alleen gebruikt wordt in een adminkant waar de gebruikers redelijke digibeten zijn... desondanks wel interessant om eens in te gaan lezen, bedankt!
Ik persoonlijk zou het toch even snel inbouwen, is zo gedaan, leer het je zelf aan om dat gelijk te doen als je het script schrijft.

En zolang het script alleen door admin gebruikt kan worden dan is het script al beveilig tegen sql injectie hackers in zekere zin, maar moet je dat wel zeker weten dat er niemand erbij kan komen

Reageren