Beste,
Ik ben voor een schoolproject bezig met een filmdatabase. Nu als ik een film toevoegt en de beschrijving gewoon schrijft dan werkt hij perfect. Als ik echter wil kopiëren van wikipedia en op verzenden duw wordt mijn formulier terug leeg en wordt er ook niks toegevoegd aan de database.
Enig idee hoe dit opgelost worden?
De code van de formulier is:
En indien er een foutmelding is is het deze code:PHP Code:
<p>
<label for="titel">Titel *</label>
<input type="text" name="titel" id="titel" value="<?php if(!empty($titel)) {echo $titel; }?>" />
<?php if (isset($foutmeldingen["titel"])) {
echo "<span class=\"error\">$foutmeldingen[titel]</span>";
}
?>
</p>
<p>
<label for="beschrijving">Beschrijving *</label>
<textarea name="beschrijving" id="beschrijving" cols="30" rows="5" value="<?php if(!empty($beschrijving)) {echo $beschrijving; }?>" ></textarea>
<?php if (isset($foutmeldingen["beschrijving"])) {
echo "<span class=\"error\">$foutmeldingen[beschrijving]</span>";
}
?>
</p>
<p>
<label for="gerne">Gerne: *</label>
<select name="gerne_id" id="gerne_id">
<option value="1">Actie</option>
<option value="2">Animatie</option>
<option value="3">Komedie</option>
<option value="4">Romantiek</option>
<option value="5">Familie</option>
<option value="6">Fantasie</option>
<option value="7">Horror</option>
<option value="8">Oorlog</option>
<option value="9">sciencefiction</option>
</select>
<?php if (isset($foutmeldingen["gerne_id"])) {
echo "<span class=\"error\">$foutmeldingen[gerne_id]</span>";
}
?>
</p>
<p>
<label for="releasedatum">Release Datum *</label>
<input type="text" name="releasedatum" id="releasedatum" value="<?php if(!empty($releasedatum)) {echo $releasedatum; }?>" />
<?php if (isset($foutmeldingen["releasedatum"])) {
echo "<span class=\"error\">$foutmeldingen[releasedatum]</span>";
}
?>
</p>
<p>
<label for="afbeelding">Afbeelding url *</label>
<input type="text" name="afbeelding" id="afbeelding" />
<?php if (isset($foutmeldingen["afbeelding"])) {
echo "<span class=\"error\">$foutmeldingen[afbeelding]</span>";
}
?>
</p>
<p>
<label for="imdb">IMDB url *</label>
<input type="text" name="imdb" id="imdb" />
<?php if (isset($foutmeldingen["imdb"])) {
echo "<span class=\"error\">$foutmeldingen[imdb]</span>";
}
?>
</p>
PHP Code:
<?php
if(empty($_POST["titel"])){
$foutmeldingen["titel"] = "U heeft geen titel ingegeven";
} else {
$titel = $_POST["titel"];
}
if(empty($_POST["beschrijving"])){
$foutmeldingen["beschrijving"] = "U heeft geen beschrijving ingegeven";
} else {
$beschrijving = $_POST["beschrijving"];
}
if(empty($_POST["gerne_id"])){
$foutmeldingen["gerne_id"] = "U heeft geen genre ingegeven";
} else {
$gerne_id = $_POST["gerne_id"];
}
if(empty($_POST["releasedatum"])){
$foutmeldingen["releasedatum"] = "U heeft geen releasedatum ingegeven";
} else {
$releasedatum = $_POST["releasedatum"];
}
if(empty($_POST["afbeelding"])){
$foutmeldingen["afbeelding"] = "U heeft geen afbeelding url ingegeven";
} else {
$afbeelding = $_POST["afbeelding"];
}
if(empty($_POST["imdb"])){
$foutmeldingen["imdb"] = "U heeft geen imdb url ingegeven";
} else {
$afbeelding = $_POST["imdb"];
}
?>
- niet in database bij kopieren
-
14-04-2013, 11:09 #1
- Berichten
- 256
- Lid sinds
- 17 Jaar
niet in database bij kopieren
-
-
14-04-2013, 11:16 #2
- Berichten
- 289
- Lid sinds
- 14 Jaar
Re: niet in database bij kopieren
Je doet om te beginnen al iets structureel fout, het verschil tussen $foutmeldingen["titel"] en $foutmeldingen[titel] is natuurlijk immens; de laatste bestaat namelijk helemaal niet. Keer op keer herhaal je deze fout:
if (isset($foutmeldingen["titel"])) {
echo "<span class=\"error\">$foutmeldingen[titel]</span>";
}
if (isset($foutmeldingen["beschrijving"])) {
echo "<span class=\"error\">$foutmeldingen[beschrijving]</span>";
}
-
14-04-2013, 11:22 #3
- Berichten
- 504
- Lid sinds
- 16 Jaar
Re: niet in database bij kopieren
Staan er toevallig ' en " in het artikel van wikipedia? dan moet je de input escapen of met prepared statements werken.
-
14-04-2013, 11:23 #4
- Berichten
- 256
- Lid sinds
- 17 Jaar
Re: niet in database bij kopieren
Je doet om te beginnen al iets structureel fout, het verschil tussen $foutmeldingen["titel"] en $foutmeldingen[titel] is natuurlijk immens; de laatste bestaat namelijk helemaal niet. Keer op keer herhaal je deze fout:
if (isset($foutmeldingen["titel"])) {
echo "<span class=\"error\">$foutmeldingen[titel]</span>";
}
if (isset($foutmeldingen["beschrijving"])) {
echo "<span class=\"error\">$foutmeldingen[beschrijving]</span>";
}
Heb bij if(isset(... de haakjes verwijderd maar krijg dan direct deze foutmelding: Notice: Use of undefined constant tite. Dan maar bij de echo de haakjes gezet maar krijg dan direct een syntax fout.
-
14-04-2013, 11:23 #5
- Berichten
- 289
- Lid sinds
- 14 Jaar
Re: niet in database bij kopieren
Verder moet je nog even gaan debuggen:
* Wordt de POST-data wel verzonden?
* Zijn er problemen doordat speciale karakters niet escaped zijn?
* Wat heb ik onder alle variabele staan aan het einde van het hele proces?
* Welke SQL query wordt er precies uitgevoerd?
Etc.
Ik denk dat je er zo zelf wel uitkomt. :)
Edit:
Ik bedoelde dus dat:
echo "<span class=\"error\">$foutmeldingen[titel]</span>";
wordt bijvoorbeeld:
echo "<span class=\"error\">$foutmeldingen['titel']</span>";
Momenteel denkt de code namelijk dat er een variabele genaamd titel is, en dat is natuurlijk niet zo.
-
14-04-2013, 11:25 #6
- Berichten
- 256
- Lid sinds
- 17 Jaar
Re: niet in database bij kopieren
Amanda is een Amerikaanse vrouw met een altijd druk leven. Iris is een Engelse vrouw die de moed heeft opgegeven in de liefde. Wanneer ze elkaar online (via een site voor woningruil) ontmoeten, besluiten ze voor een periode van twee weken van huis en leven te wisselen. Beiden ontmoeten iemand, maar de dilemma's zijn nog niet voorbij.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic