Fout in script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niek

niek

23/06/2007 11:02:00
Quote Anchor link
Ik had al een topic gemaakt, maar die was verwijderd. Dus hier een nieuw topic die wel volgens alle regels is.

Ik ben sinds een paar dagen bezig met een script, die muziek in een map zet en dat via de database valt terug te halen. Het script laat dan alle nummers in een lijst zien.
Ik had al een script klaar maar hij geeft geen fouten weer. Wel ben ik zelf even naar het script gaan kijken en had ik gezien dat er in de rest geen fout zat en alles klopte. Behalve in een bepaald deel waar ik niet veel van snapte en de fout wel in moest zitten.

Omdat je volgens de regels maar een deel van de script moet plaatsen is hier het deel waar de fout (mogelijk) zit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
elseif($_GET['action'] == "add") {
if(!isfeedbackadmin($userID)) die('No access!');
echo('
<form action="?site=music&action=save" method="post" enctype="multipart/form-data">
<table width="100%">
<tr><td>Title:</td><td><input type="text" name="name"></td></tr>
<tr><td>Artist:</td><td><textarea name="artist" cols="60" rows="7"></textarea></td></tr>
<tr><td>Song:</td><td><input type="file" name="file"></td></tr>
<tr><td><input type="submit"></td></tr></table></form>');
}
elseif($_GET['action']=="save") {
$name=$_POST['name'];
$desc=nl2br($_POST['artist']);
$file=$_FILES['file'];
$path="./music/";
move_uploaded_file($file['tmp_name'], $path.$file['name']);
chmod($path.$file['name'], 0755);
mysql_query("INSERT INTO ".PREFIX."music (mustitle, musartist, musfile) VALUES ('".$name."', '".$desc."', '".$file['name']."')");
echo('The Song was successfully registered!');
}
elseif($_GET['action'] == "delete") {
if(!isfeedbackadmin($userID)) die('No access!');
$id=$_GET['id'];
mysql_query("DELETE FROM ".PREFIX."music WHERE musID=$id");
echo('Song was successfully deleted!');
}


Ik heb via programma's gekeken die een error kunnen weergeven. Maar niks gevonden.

Ik hoop dat dit topic weer niet wordt gesloten en dat ik me aan elke regel houd.

En dan had ik nog een vraag: Wat is bumpen? kon er niks in over de regels vinden. (is dat spamberichten plaatsen voor aandacht?
Gewijzigd op 01/01/1970 01:00:00 door Niek
 
PHP hulp

PHP hulp

22/12/2024 10:24:14
 
Henk

henk

23/06/2007 11:10:00
Quote Anchor link
bumpen is meerdere berichten achter elkaar plaatsen (soms met de bedoeling je bericht steeds weer bovenaan de laatste forum berichten te laten verschijnen, zodat je inderdaad meer aandacht krijgt)
 
Terence Hersbach

Terence Hersbach

23/06/2007 11:11:00
Quote Anchor link
Bumpen is een bericht in je eigen topic zetten zodat het weer in de aandacht komt links in het rijtje. Om iedereen een eerlijke kans te geven is dit verboden binnen 24 uur na het laatste bericht in het topic. (er mag wel gewoon gereageerd worden op de vraag, dat is geen bumpen)
 
Roderik Roderik

Roderik Roderik

23/06/2007 11:12:00
Quote Anchor link
wat was de fout melding?
 
Niek

niek

23/06/2007 11:16:00
Quote Anchor link
Zoals er volgens mij in stond (waarschijnlijk niet duidelijk) Zijn er geen foutmeldingen.... noch in de pagina.. noch via het programma
 
Joren de Wit

Joren de Wit

23/06/2007 12:49:00
Quote Anchor link
Heb je ook dit boven aan je script staan?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>


Zonder foutmelding is het namelijk wel heel moeilijk zoeken naar een fout. Verder controleer je bijvoorbeeld ook nergens of je queries wel gelukt zijn en of bijvoorbeeld een functie als move_uploaded_file() wel een positief resultaat terug geeft...

ps. Gebruik verder nooit nl2br() voordat je data in je database wegschrijft, dat doe je pas als je de data weer ophaalt. De functie die je wél moet gebruiken is mysql_real_escape_string() om problemen met quotes in de data en dus het gevaar van sql injectie te voorkomen.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Niek

niek

23/06/2007 20:59:00
Quote Anchor link
Bedankt, ik had dat bovenste al erin gezet maar hij heeft geen fouten weer..
Wat ik wel weet is dat er iets niet klopt in het "name" stuk. Maar ik weet niet wat hoe en waar hoort. Het stuk wat je hier ziet komt half uit een ander script dat dezelfde functie heeft maar dan niet voor muziek.

En ik snap het niet van nl2br() en dat andere.. ik ben echt nog maar een beginner.
 
Joren de Wit

Joren de Wit

23/06/2007 21:34:00
Quote Anchor link
Je zult toch echt duidelijker moeten zijn, 'er klopt iets niet in het "name" stuk' zegt namelijk wel erg weinig.

En zomaar code kopieren werkt natuurlijk ook niet zomaar, je zult hem altijd aan moeten passen naar je eigen situatie. Maar goed, zonder foutmeldingen of andere indicatie waar en waarom het fout gaat, wordt het toch erg lastig om je te helpen.

En het is niet slim om een functie als nl2br() te gebruiken voordat je iets in een database zet, aangezien je dan html in je database krijgt. En aangezien je html alleen voor opmaak gebruikt, wil je dat liever niet in je database. Die andere functie is om de input in de database te beveiligen tegen sql injectie.

Als je verder niet weet wat dit script eigenlijk doet, zou ik voorstellen dat je je eerst eens wat meer in de materia gaat verdiepen. Misschien is het een idee om dan eerst eens met wat makkelijkers te beginnen.
 
Niek

niek

25/06/2007 19:14:00
Quote Anchor link
Ik weet dat dit stuk zorgt dat je alles upload via een form. Ik weet ook hoe dit eruit komt te zien. En dat het werkt. De rest van het script is precies hetzelfde. Alleen met wat andere actions. Dus ik heb het goede gekopieerd.. maar de form klopt niet. Als ik zeg maar wat invul, dan zou het in de database moeten komen. Maar hij stopt het daar niet in omdat de links tussen de tags van de name niet goed zijn.

Een text area heeft dit : name="name" en de andere name="artist" en daar zit iets mee mis. Met de functie van welke area waarvoor diend.
 
Niek

niek

28/06/2007 21:40:00
Quote Anchor link
plz help
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.