1 |
1 2 3 | include(BASE_PATH . "/classes/class.test.php"); ?> |
1 2 3 | echo "<table border=1 width=800px><tr><td width=20%> {$row['email']}</td><td width=20%> {$row['voornaam']} </td><td width=20%>{$row['achternaam']} </td width=20%><td>Filename: <a href=download.php?id={$row['id']}> {$row['name']}</a></td></tr></table>"; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | if(isset($_GET['id'])) { // if id is set then get the file with the id from database include 'library/config.php'; include 'library/opendb.php'; $id = $_GET['id']; $query = "SELECT name, type, size, content " . " FROM upload WHERE id = '$id'"; $result = mysql_query($query) or die('Error, query failed'); list($name, $type, $size, $content) = mysql_fetch_array($result); header("Content-length: $size"); header("Content-type: $type"); header("Content-Disposition: attachment; filename=$name"); ob_clean(); flush(); print $content; include 'library/closedb.php'; exit; } ?> |
Je vergeet header("Content-Transfer-Encoding: binary");.quote:Op maandag 30 augustus 2010 16:39 schreef Jumparound het volgende:
hoi,
ik heb een onwijze noobvraag.. sorry daarvoor
Ik gebruik code die ik aanroep via:
[ code verwijderd ]
roept aan:
[ code verwijderd ]
Wat is mijn vraag:
Hoe voorkom ik dat het bestand wat ik wil openen alsnog geopend wordt in de browser? Ik moet het downloaden vanuit de mysql database...
1 2 3 4 5 6 7 8 9 10 | *, CASE feed_id WHEN 0 THEN u2.* ELSE u1.* END CASE FROM objects |
Je idee is goed, alleen het gebruik van CASE niet.quote:Op dinsdag 31 augustus 2010 09:19 schreef Doc.Brown het volgende:
Hmm, volgens mij mis ik de obvious solution maar het wil maar niet lukken;
Situatie: één tabel met woningen en één tabel met gebruikersinformatie. Alleen welke gebruiker bij welke woning hoort is afhankelijk van 2 waardes in de woningentabel; de gebruiker kan ofwel gekoppeld worden met het user_id ofwel door een feed_id die ook aanwezig is in de gebruikerstabel.
Nu doe ik dus 2 left joins voor situatie 1 en situatie 2. Maar dat is natuurlijk niet ideaal omdat je dan altijd 1 tabel joint die vol met null staat en dus in situatie 1 de waardes in PHP nutteloos maakt.
Nu wilde ik eigenlijk een soort IF statement gebruiken om de benodigde tabel te joinen afhankelijk van de waarde van feed_id. Ik kwam de CASE statement tegen maar dan heb ik iets als:
[ code verwijderd ]
Geeft me een syntax error en dat * is natuurlijk nog niet goed. Maar misschien kan dit ook met een slimme manier van joinen gedaan worden? Het gaat het me er dus om dat ik gewoon één user-tabel terug krijg die afhankelijk is van de feed_id.
Any thoughts?
1 2 3 4 5 6 7 8 9 | object.veld1, object.veld2, (CASE object.feed_id WHEN 0 THEN user.id ELSE feed.id END) AS UiteindelijkUserID, (CASE object.feed_id WHEN 0 THEN user.username ELSE feed.username END) AS UiteindelijkUsername FROM object LEFT OUTER JOIN feed ON feed.id = object.feed_id LEFT OUTER JOIN user ON user.id = object.user_id |
ik ben dom geloof ik... maar zoek nog even verder, krijg het echt niet voor elkaar!quote:Op dinsdag 31 augustus 2010 00:08 schreef Tuvai.net het volgende:
Woeps, header("Content-Description: File Transfer"); hoort er ook bij.
En vang meteen die querystring ID af, die's nu gevoelig voor SQL injection.
Is jouw $content wel binair?quote:Op dinsdag 31 augustus 2010 10:44 schreef Jumparound het volgende:
[..]
ik ben dom geloof ik... maar zoek nog even verder, krijg het echt niet voor elkaar!
probeer nu een ander script, maar die loopt vast
yupquote:
http://nl2.php.net/manual/en/function.current.phpquote:Op dinsdag 31 augustus 2010 15:41 schreef Schepseltje het volgende:
hoe kan ik de eerste waarde uit een associative array halen op een nette manier?
ik doe het nu met foreach en dan gelijk een break, maar das lelijk
met reset lijkt het te lukken, thanksquote:Op dinsdag 31 augustus 2010 15:43 schreef mstx het volgende:
[..]
http://nl2.php.net/manual/en/function.current.php
Eventueel met http://nl2.php.net/manual/en/function.reset.php
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 27 28 | if(isset($_GET['id'])) { // if id is set then get the file with the id from database header("Content-Description: File Transfer"); header("Content-length: $size"); header("Content-type: $type"); header("Content-Disposition: attachment; filename=$name"); header("Content-Transfer-Encoding: Binary"); include 'library/config.php'; include 'library/opendb.php'; $id = $_GET['id']; $query = "SELECT name, type, size, content " . "FROM upload WHERE id = '$id'"; $result = mysql_query($query) or die('Error, query failed'); list($name, $type, $size, $content) = mysql_fetch_array($result); echo $content; include 'library/closedb.php'; exit; } ?> |
[code=php] :)quote:Op dinsdag 31 augustus 2010 17:15 schreef Jumparound het volgende:
PS, hoe krijg je je php code met kleurtjes?
Maakt niets uit, als het goed is bevalt ie wel de data die je nodig hebt.quote:Op dinsdag 31 augustus 2010 17:30 schreef Jumparound het volgende:
tevroeg gejuigd, hij gaat nu de download.php opslaan
Ik ga er van uit dat het categorie-veld dat je in je wijzigingsformulier gebruikt, een dropdown ( <select> ) is. Je met deze dan niet alleen vullen met de naam van de categorieën, maar de IDs van deze categorieën als value gebruiken, dus als volgt:quote:Op woensdag 1 september 2010 00:40 schreef boem-dikkie het volgende:
Ik zit een beetje vast. Zal vast wel weer een beginnersfoutje zijn maar ik hoop dat jullie mij kunnen helpen.
Ik heb een tabel met nieuws-categorieën en een tabel met nieuws.
In de tabel nieuws staat een rij die 'categorie_id (INT)' heet. Met een JOIN kan ik op de nieuwspagina laten zien welke categorie uit 'nieuws-categorieën' bij welke categorie_id hoor in het nieuwsbericht..
Dat werkt allemaal prima!
Alleen nu heb ik een wijzigingsformulier voor nieuwsberichten waar ik dus ook JOIN gebruik. Zodat de user kan zien welke categorie er momenteel bij het nieuwsbericht hoor.. Alleen door die JOIN wil hij nu als hij een categorie wijzigt de naam van de categorie in de rij 'categorie_id' gooien volgens mij. Dat wil dus niet omdat categorie_id INT als eigenschap heeft...
Dit is echter alleen zo als hij de categorie die al bij het nieuwsbericht hoort laat voor wat het is. Als hij de categorie wijzigt doet hij het wel, als hij iets in het nieuwsbericht aanpast en de categorie zo laat geeft hij dus een 'undefined index' fout.
Ik hoop dat jullie het snappen.Geen idee hoe ik dit handig kan uitleggen..
1 2 3 4 5 | <option value="1">Categorie 1</option> <option value="2">Categorie 2</option> <option value="3">Categorie 3</option> </select> |
1 2 3 4 5 | return true; }else{ return false; } |
Je geeft geen begin en einde aan in je (mogelijke) expressie.quote:Op vrijdag 3 september 2010 08:58 schreef Sitethief het volgende:
[ code verwijderd ]
Ik wil hier mee postcodes valideren, dat gaat soms goed, maar hij pakt ook 5445 gh7 als geldige postcode.....
1 |
Ik zie gewoon een slash als begin en als eind.quote:Op vrijdag 3 september 2010 09:01 schreef Tuvai.net het volgende:
[..]
Je geeft geen begin en einde aan in je (mogelijke) expressie.
[ code verwijderd ]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |