Hallo,

Ik ben een beginnende PHP-er en ik gebruik PHP5. Nu had ik een script geschreven, alleen geeft PHP een fout aan. Deze fout is: Notice: Undefined index: add in f:\WAMP\www\cdupload.php on line 2 . Ik weet niet wat dit inhoud. Zou iemand mij kunnen helpen?

Dit is het script:

<?php
if($_POST['add']) {
$verzameljanee = $_POST['radiobutton'];
$server = "localhost"; 
$gebruiker = "johannes"; 
$wachtwoord = "johannes"; 
$db = "database"; 
$connectie = mysql_connect($server,$gebruiker,$wachtwoord); 
mysql_select_db($db,$connectie);
$query = "INSERT INTO `cdlijst` (`ID`,`artiest`,`album`,`Verzamel CD`) VALUES ('','".$_POST['artiest']."','".$_POST['album']."','".$verzameljanee."')";
$sql = mysql_query($query);
echo"CD is succesvol toegevoegd!<br>";
echo "<br>Verzamel CD: " . $verzameljanee;  
}
?> <br><br>
<form name="link_toevoegen" action="cdupload.php" method="post">

  <p>Artiest:  
    <input type="text" name="artiest"> 
    <br> 
    <br>
Album: 
<input type="text" name="album"> 
</p>
  <p>
    <input name="radiobutton" type="radio" value="Ja">
  Ja<br>
  <input name="radiobutton" type="radio" value="Nee">
  Nee<br> 
    <br>
    <input type="submit" name="add" value="Aanpassen">
  </p>
</form>



if($_POST['add']) 
De fout zit hem hierin, heb ik begrepen, maar wat is de fout?
geen backticks ( `````) gebruiken in je query!
je zou best een isset gebruiken:
if(isset($_POST['add'])) {
indd geen backticks gebruiken zoals wes al zei.

en niels,

if($_SERVER['REQUEST_METHOD'] == 'POST'){

is nog beter :)

edit: je kan ook beter enkele quotes gebruiken in php code en dubbele quotes met html
Als je op regel 1 kijkt naar $_POST['add'] bestaat deze nog niet omdat die wordt aangemaakt op regel 31
Ok, bedankt voor jullie hulp. Tot nu toe heb ik altijd backticks gebruikt in de query en dat is nog nooit mis gegaan. Maar ik zal er eens mee aan de slag gaan.
dat zegt niets, dan krijg je dus gewoon false terug en slaat hij je if over
Hij doet het! hartstikke bedankt voor jullie hulp. Zou iemand mij ook kunnen vertellen of ik nu wel of geen backticks mag gebruiken in mijn query, want ik heb tot nu toe altijd backticks gebruikt en dat is nog nooit misgegaan. Dus ik snap het probleem van die backticks niet.
Het mag wel, maar voor de overzichtelijkheid is het niet handig
en het werkt dus niet altijd goed


SELECT veld
FROM tabel
WHERE veldnaam='inhoud'
of
WHERE veldnaam='".$inhoud."'


UPDATE tabel SET veldnaam='".$inhoud."'
of
UPDATE tabel SET veldnaam='inhoud'

INSERT INTO tabel (veldnaam,veldnaam)
VALUES ('waardehard','".$waardevariabel."')

etcetc :)
ok thanx, ik snap er weer iets meer van :)

Reageren