login  Naam:   Wachtwoord: 
Registreer je!
Scripts > PHP > Handige scripts > download teller script


Reacties op het script download teller script

Offline  Abbas
Gepost op: 26 oktober 2008 - 13:16
Gouden medaille

Crew .NET




  1. if (empty($fname)){
  2. die ("er is een fout opgetreden, ga terug naar de vorige pagina aub.");
  3. } else if (empty($url)) {
  4. die ("er is een fout opgetreden, ga terug naar de vorige pagina aub.");
  5. }

Dit kan je korter schrijven:
  1. if (empty($fname) || empty($url))
  2. //foutmelding
  3. else
  4. //iets anders doen

Plus, je doet niets van controle op die GET-variabelen. Als ik slechte bedoelingen heb kan ik SQL-injection toepassen! 

Offline  jeroen44h
Gepost op: 26 oktober 2008 - 14:13
Nieuw lid



ik heb net weer wat aangepast,
SQL is beveiligt toch :?

Offline  Rens
Gepost op: 26 oktober 2008 - 14:49
Gouden medaille

Crew algemeen




download.php is ook niet helemaal correct.
Als $fname of $url leeg is word die melding wel weergeven, maar word de rest van het script ook nog gewoon uitgevoerd...
  1. <?php
  2. ///////////////////////////////////////
  3. ///////////download.php////////////////
  4. /////////////////////////////////////
  5.  
  6. require ("connect.php"); //verbinding maken
  7.  
  8. if (empty($fname) || empty($url)){
  9. echo "er is een fout opgetreden, contacteer aub de webmaster";
  10. } else {
  11. //juiste rij updaten
  12. $query = "UPDATE downloads SET aantal=aantal+1 WHERE download ='".mysql_real_escape_string($fname)."'"; //thanx to Auriorx
  13.  
  14. //uitvoeren van de query
  15. $sql = mysql_query($query) or die ("er zijn op dit moment wat problemen met de databace, probeer het later nog eens !<br />Dit is de error : <br /><font color='red'>'".mysql_error()."'</font>");
  16.  
  17. header('Location: '.$url);
  18. }
  19. ?>

Offline  jeroen44h
Gepost op: 26 oktober 2008 - 14:50
Nieuw lid



jah klopt,
zag ik ook net 

ik heb alles net gefixt 

Offline  Rens
Gepost op: 26 oktober 2008 - 14:52
Gouden medaille

Crew algemeen




Ik kan al raden watvoor fout het is:
Citaat:
Headers already send.

http://www.sitemasters.be/FAQ/2/Foutmeldingen#faq2

Offline  jeroen44h
Gepost op: 26 oktober 2008 - 14:56
Nieuw lid



Rens schreef:
Ik kan al raden watvoor fout het is:
[..quote..]
http://www.sitemasters.be/FAQ/2/Foutmeldingen#faq2

nee,
hij verswees niet door,
omdat ik de variable niet had toegekent   

Offline  marten
Gepost op: 28 oktober 2008 - 20:57
Beheerder



Zijn alle fouten er nu uit dan? En heb je de verbeteringen doorgevoerd?

Offline  jeroen44h
Gepost op: 29 oktober 2008 - 07:07
Nieuw lid



jah, allemaal,
bij mij werkt hij foutloos,
als mischien iemand (met meer kennis als ik) hem Alsjeblieeft wil doorlopen op fouten die achter gebleven zijn,
zou ik dat heel prettig vinden,

maar volgens mij zijn alle fouten er uit nu !

Offline  Kr4nKz1n
Gepost op: 06 november 2008 - 16:00
Onbekend



Waarom de gets naar een nieuwe variabelen schrijven? Deze kun je gewoon zelf controleren.

Waarom een query aanmaken en deze later door de mysql_query functie heen gooien? (Helaas doen heel veel mensen dat, snap het nut niet).

In je Or Die gedeelte van de query heb je een hele zin, deze lijkt gemaakt te zijn voor een normale bezoeker, daarachter staat de foutmelding voor de ontwikkelaar. Dit is niet netjes en het hangt af van de fout, maar iemand kan leuke dingen er mee doen. Probeer sowieso geen Or Die te gebruiken maar werk met Exceptions.

Waarom de ene keer require en de andere keer include, ook zijn hier haakjes ( ) overbodig. (Helaas wordt ook dit door heel veel mensen gedaan. Snap ook dit niet).

Je fetch met object, assoc is veel handiger, mooier en netter in gebruik.

Waar wordt $fname gedefineert?

Korte versie om iets in HTML snel te echo`en: <?=$url;?>

Het zijn veel tips. Ik probeer je niet af te kraken, lees het als een iets waar je later wat aan kan hebben, ook andere.

Succes verder, misschien nog een loggertje erbij wie er als geklikt heeft?

Offline  jeroen44h
Gepost op: 06 november 2008 - 20:22
Nieuw lid



bedankt voor je tips,
ik ben idd dat include heb ik later veranderd, alleen bij het andere script niet....  
en over dat korte echoën,
dat wist ik nog niet ;) bedankt...
ga ik later zeker gebruiken ;)

er staat in de text dat op de plek waar je het script include,
dat je daar $fname zelf moet includen,( ik pas het ff aan zo...)

ik denk dat ik dit script niet verder meer aanpas,
heem mischien als ik iets meer verstand van heb, pas ik hem helemaal aan aan de norm...

bedankt voor je reactie iniedergeval !


Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.083s