Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] upload plaatjes met comments (https://forum.scholieren.com/showthread.php?t=1364987)

pietervdb 22-02-2006 19:12

[PHP] upload plaatjes met comments
 
hey ik ben nieuw met php, en ik wil graag dat mensen foto's kunnen uploaden en er ook een stukje commentaar bij kunnen geven. het uploaden van foto's is gelukt alleen een stukje commentaar erbij voegen dat weet ik niet hoe ik dat het beste kan doen..Iemand een idee of voorbeeld??

alle (nuttige) tips zijn welkom

freyk 22-02-2006 19:27

Hier mijn tips:

dragonstorm 22-02-2006 19:42

je hebt 2 opties,
of je gebruikt een database,
of niet

de database-optie is uiteindelijk *veel* makkelijker, maar je hebt wel sql nodig.
Je weet neem ik aan hoe je met GET en POST variabelen naar je server doorstuurt?
Dus wat je doet is dat je op je invoer pagina een textarea zet, en die textarea gebruik je als invoer waarde:

Code:

$usText = $_GET['textgebied'];
Dan moet je de string 'beveiligen' - in de praktijk betekend dit escapen, het vervangen van slechte karakters (>, <, ', ") door goede. Dit doe je met str_replace(); php.net is je vriend hier.

Code:

$slecht = array(">", "<", "\"", "'");
$goed = array("& #60", "& #62", "& #34", "& #39");
$sText = str_replace($slecht, $goed, $usText);

geen spaties tussen de & en de # in de echte code.

aangenomen dat je een database hebt, en bent verbonden, en de locatie van het opgeslagen plaatje hebt, doe je nu het volgende:

Code:

mysql_query("INSERT INTO plaatjes (id, location, comment) VALUES ($id, '$fotoplaats', '$sText');") or die(mysql_error());
op de pagina waar je het plaatje weergeeft doe je het volgende
Code:

$sql = mysql_query("SELECT id, location, comment FROM plaatje WHERE id = $id");
$row = mysql_fetch_row($sql);

nu is $row[1] de locatie van het plaatje, en $row[1] de text van het commentaar.

Dr HenDre 22-02-2006 20:45

Citaat:

freyk schreef op 22-02-2006 @ 20:27 :
Hier mijn tips:
gast post niks als je niks toe te voegen hebt...
wat heeft t nou voor zin om een fucking handleiding door te nemen als je niet weet hoe je 2 dingen bv moet linken.

Wat dragenstorm zegt ben ik het wel mee eens,
of database of zonder database.

Als je een database gebruikt is het gewoon de data wat via post binnenkomt escapen (maar dan met htmlspecialchars en mysql_real_escape ipv met een array van slecht, het is sowieso niet goed om slechte dingen uit te sluiten, je moet goede toelaten, subtiel verschil ;)).
Dan alles in de database en voila

Wat je kan doen als je geen db hebt is alle comment in een textfile opslaan (dan hoef je niet te escapen met mysql_real_escape, alleen htmlentities/htmlspecialchars). Je kan zelf een "database" aanleggen in een textbestand, of je kan ervoor kiezen of een tekstbestand aan te maken met dezelfde naam als je foto en daarin het bericht te zetten.
Alle mogelijkheden hebben voordelen en nadelen :)

freyk 22-02-2006 22:11

Offtopic:
Citaat:

Dr HenDre schreef op 22-02-2006 @ 21:45 :
gast post niks als je niks toe te voegen hebt...
wat heeft t nou voor zin om een fucking handleiding door te nemen als je niet weet hoe je 2 dingen bv moet linken.

Zoals je weet bevat de handleiding enige sourcecode waarmee hij overweg kan.
Als hij ff snel de index doorleest, zal hij automatisch wel wat vinden.
Hij vroeg naar tips, dus ik gaf hem tips :s.

pietervdb 22-02-2006 22:46

hey echt super bedankt! beide posts waren erg nuttig hoor!! echt een goede resource op php.net / phpfreaks

dragonstorm ook erg bedankt(heb je uitleg aandachtig gelezen), ik heb een SQL database ja, ik ben echter nog een beginneling maar je uitleg snap ik helemaal!
bedankt voor jullie tips!

pc nerd 24-02-2006 20:34

Je vind zulke complete scripts en natuurlijk heel veel andere op de populairste Nederlandse PHP sites:

www.phpfreakz.nl
www.phphulp.nl
www.scriptkiddies.nl


Alle tijden zijn GMT +1. Het is nu 18:45.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.