Kwam van mij vandaan....quote:Uhm ik ga nog wel ff kijken. Lol. Ik heb net pas ERD's gemaakt (entity relation diagram) voor de database. En ik moet ff bespreken met een vriend of ik dat goed heb gedaan maar ik ben bezig mijn eigen site op te zetten zegmaar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $uploaddir = "users/upload/".$gebruiker."-"; $uploadfile = $uploaddir.basename($_FILES['foto']['name']); if (is_uploaded_file($_FILES['foto']['tmp_name'])) { move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile); die ("<p>De afbeelding is geupload. Deze vindt je terug op <br><b><a href='http://www.pestforum.nl/".$uploadfile."'>http://www.pestforum.nl/".$uploadfile."</a> <br><br> <b>forum link naar dit bestand: </b><br><br><i>[URL=http://www.pestforum.nl/".$uploadfile."]Bestand geupload via pestforum uploader[/URL]</i><br><br> <b>Als afbeelding op forum plaatsen: </b><br><br>[IMG]http://www.pestforum.nl/".$uploadfile."[/IMG]<br> </p>"); } else{ die ("Er is een fout opgetreden tijdens het uploaden"); } |
Ik weet van twee manieren, die beide eigenlijk niet erg betrouwbaar zijnquote:Op maandag 24 april 2006 14:12 schreef LeeHarveyOswald het volgende:
Vraagje![]()
Onderstaand is een stukje uit een (werkend) upload script.. ik wil dit script alleen beperken tot gif en jpg files, om misbruik te voorkomenIemand enig idee hoe dat te doen?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $uploaddir = "users/upload/".$gebruiker."-"; $uploadfile = $uploaddir.basename($_FILES['foto']['name']); if (is_uploaded_file($_FILES['foto']['tmp_name'])) { //check MIME-type: if ($_FILES['foto']['type']!="image/jpg" && $_FILES['foto']['type']!="image/gif") die("Upload aub alleen jpg of gif plaatjes!"); $ext = substr($_FILES['foto']['name'],-4); //check .ext: if ($ext!=".gif" && $ext !=".jpg") die("Upload aub alleen jpg of gif plaatjes!"); move_uploaded_file($_FILES['foto']['tmp_name'],$uploadfile); etc... |
1 2 3 | $sql_query = "INSERT INTO slowchat (userid, user, bericht, type, datumtijd, ip) VALUES ($MemCookID, 'Pestforum.nl', $bericht, 4, $datumtijd, $ip')"; $result = mysql_query($sql_query) or die(mysql_error()); |
quote:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Afbeelding</' at line 1
Probeer dit eens:quote:Op maandag 24 april 2006 16:32 schreef LeeHarveyOswald het volgende:
Ik heb het met het voorbeeld van Ralfie gedaan, en dan werkt (thq both)
Enige probleem waar ik nu tegen op knal is dat hij weigert een melding in mn slowchatbox te zetten..
[ code verwijderd ]
Returns:
[..]
1 2 3 4 | $sql_query = "INSERT INTO slowchat (userid, user, bericht, type, datumtijd, ip) VALUES ($MemCookID, 'Pestforum.nl', '".addslashes($bericht)."', 4, $datumtijd, $ip')"; $result = mysql_query($sql_query) or die(mysql_error()); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | id | gepland_voor | plannen_voor | plannen_door 1 2 0 0 2 3 2 2 3 4 1 0 Tabel: Medewerkers id | Naam 1 ik 2 jij 3 wij 4 Zij |
1 2 3 4 | php $sql = "SELECT tabel1.kolom, tabel2.kolom FROM tabel1 INNER JOIN tabel2 ON tabel1.kolom = tabel2.kolom"; ?> |
1 2 3 4 5 | FROM planning p LEFT JOIN Medewerkers m1 ON p.gepland_voor = m1.id LEFT JOIN Medewerkers m2 ON p.plannen_voor = m2.id LEFT JOIN Medewerkers m3 ON p.plannen_door = m3.id |
Mag ik er dan vanuit gaan dat ik het xml bericht via $_POST kan uitlezen?quote:Een XML bericht wordt via HTTPS POST verstuurd als body van het request.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Content-type: text/xml, charset=UTF-8 Content-Length: 1201 Host: ideal.ing.nl <?xml version="1.0" encoding="UTF-8"?> <DirectoryReq xmlns="http://www.idealdesk.com/Message" version="1.1.0"> <createDateTimeStamp>2005-05-24T08:49:00.670Z</createDateTimeStamp> <Merchant> <merchantID>000384841</merchantID> <subID>0</subID> <authentication>1</authentication> <token>hashkey</token> <tokenCode>WajqV1a3nDen0be2r196g9FGFF</tokenCode> </Merchant> </DirectoryReq> |
TNX!, zal er z.s.m naar kijken maar ziet er goed uitquote:Op maandag 24 april 2006 17:28 schreef JeRa het volgende:
@mooya
Je moet dan drie keer joinen. Dat doe je zo:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 | ID | Datum 1 2006-04-21 2 2006-04-21 3 2006-04-22 Tabel Detail: ID | Master_ID | Info 1 1 blabla 2 1 hdhhdj 3 2 fjwrfjrlwkj 4 2 frefrefe 5 3 hdhdhd |
1 2 3 | 2006-04-21 | 2 | 4 2006-04-22 | 1 | 1 |
Wat een oud type global lijkt me dat?quote:Op maandag 24 april 2006 22:31 schreef JeRa het volgende:
@Swetsenegger
Ik heb net getest hoe dat soort POSTs worden afgehandeld door PHP, en ik heb ontdekt dat je de data dan in $GLOBALS['HTTP_POST_RAW_DATA'] krijgtdus misschien kun je daar wat mee. Ergens anders zag ik de data niet terug.
Viel me ook al op. Ik zag 'm echter nergens anders terug, dus dat moet ie dan wel zijnquote:Op maandag 24 april 2006 22:39 schreef Swetsenegger het volgende:
[..]
Wat een oud type global lijkt me dat?
Nope, het is eerder een XML-push via HTTP POSTquote:Op maandag 24 april 2006 22:41 schreef Roönaän het volgende:
Gaat dit over xml request die via post binnen komen?
Either way. Meestal is het tweeweg verkeer. Bovenstaande commando gebruik ik in samenwerking met xml.sendAndLoad uit Flash.quote:Op maandag 24 april 2006 22:42 schreef JeRa het volgende:
[..]
Nope, het is eerder een XML-push via HTTP POST
quote:Op maandag 24 april 2006 22:49 schreef Swetsenegger het volgende:
(ftp server ligt er weer eens uit bij de hoster)
Net gestart, nog nauwelijks commercieel bezig, goede kennis enzoquote:Op maandag 24 april 2006 22:52 schreef JeRa het volgende:
[..]![]()
![]()
Garanderen die lui niet ergens een minimale uptime van hun diensten? Je hebt hosters die bij meer dan ~0,5% outage van hun diensten gaan crediteren
Ah, een andere hoster dan de vorige dus?quote:Op maandag 24 april 2006 22:53 schreef Swetsenegger het volgende:
[..]
Net gestart, nog nauwelijks commercieel bezig, goede kennis enzo
Dit is mijn 'vaste' hoster. Met b-one was ik vreemd gegaanquote:Op maandag 24 april 2006 22:55 schreef JeRa het volgende:
[..]
Ah, een andere hoster dan de vorige dus?
Ik bedoelde eigenlijk meer het parsen van XML met behulp van PHP. Al is die W3C-link wel erg interessant om eerst is te snappen hoe het nou in elkaar zit 0=).quote:
WHaa!quote:Op maandag 24 april 2006 22:41 schreef Roönaän het volgende:
Gaat dit over xml request die via post binnen komen?
Probeer deze eens:
$xml = !empty($_SERVER['HTTP_RAW_POST_DATA']) ? $_SERVER['HTTP_RAW_POST_DATA'] : file_get_contents('php://input');
Tuurlijk werkt het. Anders zou de routeplanner op zijn bek liggenquote:Op dinsdag 25 april 2006 19:04 schreef Swetsenegger het volgende:
[..]
WHaa!
Het werkt!!
LOL
Wat heb ik toch altijd veel hulp van dit topic
Ik twijfelde ook niet aan jouw code, maar aan de ING bankquote:Op dinsdag 25 april 2006 19:08 schreef Roönaän het volgende:
[..]
Tuurlijk werkt het. Anders zou de routeplanner op zijn bek liggen
Heb ik geprobeert, maar dat werkt niet (de warden van de 2x count zijn dan hetzelfde)quote:Op maandag 24 april 2006 22:59 schreef JeRa het volgende:
@mooya
Hoezo kun je maar één keer een GROUP BY doen? Je kunt gewoon een comma-separated list opgeven met kolommen waarop je wilt groupen hoor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $query = "SELECT m.timestamp, DATE_FORMAT( FROM_UNIXTIME( m.timestamp ) , '%d-%m-%Y' ) AS `date` , count( d.id ) AS aantal_hits FROM hits_detail AS d, hits_master AS m WHERE d.master_id = m.id GROUP BY `date` ORDER BY `m`.`timestamp` ASC $limit"; $result = mysql_query($query) or die (mysql_error()); while (list($timestamp, $date, $hits) = mysql_fetch_row($result)) { $ydata[] = $hits; $xas[] = $date; $query2 = "SELECT count(id) as aantal FROM hits_master WHERE DATE_FORMAT( FROM_UNIXTIME( timestamp ) , '%d-%m-%Y' ) = '$date'"; $result2 = mysql_query($query2) or die (mysql_error()); $aantal = mysql_result($result2, 0, 'aantal'); $ydata2[] = $aantal; } ?> |
1 2 3 4 5 6 7 8 | - ID - Timestamp Hist_Detail - ID - Master_ID - Timestamp |
1 2 3 4 5 6 7 | 1143893967 01-04-2006 1141259085 02-03-2006 1143947304 02-04-2006 1141372390 03-03-2006 1144048870 03-04-2006 1141477844 04-03-2006 |
1 2 3 4 5 6 7 | COUNT(m.id) AS aantal, COUNT(DISTINCT d.id) AS aantal_hits, FROM hits_master AS m LEFT OUTER JOIN hits_detail AS d ON d.Master_ID = m.ID GROUP BY `date` ORDER BY `date` ASC |
1 2 3 4 5 6 7 8 | 01-03-2006 102 102 01-04-2006 7 7 02-03-2006 113 113 02-04-2006 19 19 03-03-2006 156 156 03-04-2006 16 16 04-03-2006 12 12 |
Logisch wel. De detailregels zijn al uniek. De DISTINCT moet juist bij de masterid.quote:Op woensdag 26 april 2006 08:49 schreef mooya het volgende:
@SuperRembo
De aantallen zijn nu weet gelijk..
[ code verwijderd ]
Dit is het aantal hits per dat in de detail tabel..
dus het aantal hits uit de mastertabel klopt niet..
Restart van mysql was voldoendequote:Op dinsdag 25 april 2006 22:12 schreef Boink het volgende:
Dames en heren,
Bij een upload form gebruik ik de functie NOW, deze insert de huidige tijd + datum in de database.
Nu wil het zo zijn dat deze 6 uur achterloopt. Ik heb de server tijd gechecked en die staat gewoon op CEST. Tevens heb ik google geraadpleegd maar ik kwam niet veel verder.
Heeft iemand suggesties hoe dit te corrigeren valt?
Ik gebruik heel wat contactforms en krijg eigenlijk nooit lange zinnen binnen.quote:Op woensdag 26 april 2006 17:28 schreef Norman het volgende:
als iemand op een zin blijft doortypen krijg je een lange zin. lijkt me overzichtelijk voor degene die het bericht schrijft en voor mij als ik het mailtje in mijn mailbox krijg. Ik heb het een paar keer getest en dan krijg ik een hele lange zin. moet ik zelf naar rechts scrollen in mijn outlook.
TNX!quote:Op woensdag 26 april 2006 12:00 schreef SuperRembo het volgende:
[..]
Logisch wel. De detailregels zijn al uniek. De DISTINCT moet juist bij de masterid.
Een apart veld in je database maken voor de meta keys?quote:Op woensdag 26 april 2006 20:07 schreef muhammad_ali het volgende:
Ik heb ff een vraagje heren. Zoals een aantal van jullie weten werk ik aan een website (teminste een vriend van me helpt me). Ik ben een fantasybook indexer aan het maken. Maar wat ik wil is dat ie voor elk boek aparte metatags maakt. Dus zoek iemand op google naar Harry Potter dan moet ie mijn site zien maar niet de index maar gelijk de page waar Harry Potter op staat. Hoe kan ik dat bereiken??
Klopt. Je leest de meta tags en echo'd ze dan in een <meta> tag.quote:Op woensdag 26 april 2006 20:23 schreef muhammad_ali het volgende:
En dan dan in de header zetten?? Dat klinkt wel logisch idd. Ik weet alleen niet of dat kan. Ik bedoel leest google de metatags dan wel, want er moet toch een echo voor zijn om het uit de db te halen...
google indexeerd ook op metatags.quote:Op woensdag 26 april 2006 20:07 schreef muhammad_ali het volgende:
Ik heb ff een vraagje heren. Zoals een aantal van jullie weten werk ik aan een website (teminste een vriend van me helpt me). Ik ben een fantasybook indexer aan het maken. Maar wat ik wil is dat ie voor elk boek aparte metatags maakt. Dus zoek iemand op google naar Harry Potter dan moet ie mijn site zien maar niet de index maar gelijk de page waar Harry Potter op staat. Hoe kan ik dat bereiken??
Nee, update = update. Insert = insert.quote:Op vrijdag 28 april 2006 00:09 schreef the_jasper het volgende:
ik kon niet echt een handige manual vinden ervoor zoals die van php
maar als je alleen UPDATE gebruikt, maakt hij ook een nieuwe aan als er nog geen in de lijst staat?
naja ik kan iig ff verder met het sorteren
bedankt
Of je gebruikt Replace, dan laat je het afvangen aan MySQL over.quote:Op vrijdag 28 april 2006 07:49 schreef GI het volgende:
[..]
Nee, update = update. Insert = insert.
Of iets al bestaat moet je gewoon in je code afvangen
Zoeken op multiviews levert waarschijnlijk meer resultaten op dan zoeken op multieviewsquote:Op woensdag 26 april 2006 20:59 schreef Swetsenegger het volgende:
voor het maken van userfriendly urls moet je even op 'multieviews' zoeken of 'modrewrite'. De eerste is denk ik eenvoudiger en breder toepasbaar bij meer hosters.
quote:Op vrijdag 28 april 2006 07:52 schreef Light het volgende:
[..]
Of je gebruikt Replace, dan laat je het afvangen aan MySQL over.
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <title> Test resultaten</title> <? // ontvangen van alle vragen + antwoorden $datum = $_POST['totaleDatum'] $vraag1 = $_POST['Vr1']; $vraag2 = $_POST['Vr2']; $vraag3 = $_POST['Vr3']; $vraag4 = $_POST['Vr4']; $vraag5 = $_POST['Vr5']; $vraag6 = $_POST['Vr6']; $vraag7 = $_POST['Vr7']; $vraag8 = $_POST['Vr8']; $vraag9 = $_POST['Vr9']; $vraag10 = $_POST['Vr10']; $vraag11 = $_POST['Vr11']; $vraag12 = $_POST['Vr12']; $vraag13 = $_POST['Vr13']; $vraag14 = $_POST['Vr14']; $vraag15 = $_POST['Vr15']; // De gegevens op het scherm toveren print "De test is afgenomen op: ". $datum . "<br>" print "Vraag 1: ". $vraag1 . "<br>"; print "Vraag 2: ". $vraag2 . "<br>"; print "Vraag 3: ". $vraag3 . "<br>"; print "Vraag 4: ". $vraag4 . "<br>"; print "Vraag 5: ". $vraag5 . "<br>"; print "Vraag 6: ". $vraag6 . "<br>"; print "Vraag 7: ". $vraag7 . "<br>"; print "Vraag 8: ". $vraag8 . "<br>"; print "Vraag 9: ". $vraag9 . "<br>"; print "Vraag 10: ". $vraag10 . "<br>"; print "Vraag 11: ". $vraag11 . "<br>"; print "Vraag 12: ". $vraag12 . "<br>"; print "Vraag 13: ". $vraag13 . "<br>"; print "Vraag 14: ". $vraag14 . "<br>"; print "Vraag 15: ". $vraag15 . "<br>"; ?> </html> |
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 29 | <html> <title> resultaten gegevens</title> <body> <? $flashData = $_POST["totaleVr"]; $myTextFileHandler = @fopen("resultaten.txt","a"); $txtfileArray = @file("resultaten.txt"); if($myTextFileHandler){ print("txtFile is opened\n"); foreach($txtfileArray as $count => $member); $gotoLastByteOfTxTFile = @fseek($myTextFileHandler,0,SEEK_END); $count = $count + 1; $writer = @fwrite($myTextFileHandler,"\nDatum afname: $count = $flashData"); if($writer){ $writeStatus = "Het text bestand is succesvol beschreven"; print("&writeStatus=$writeStatus"); }else{ $writeStatus = "het is mislukt om het text bestand aan te passen"; print("&writeStatus=$writeStatus"); }; @fclose($myTextFileHandler); }else{ print("Het openen van de het text bestand is mislukt\n"); }; print("&receivedData=$flashData"); ?> </body> </html> |
Dan moet the_jasper wel die 4 kolommen als primary key hebben gedefinieerd. Het zou me ook niet verbazen als hij helemaal geen pk heeft.quote:Op vrijdag 28 april 2006 07:52 schreef Light het volgende:
[..]
Of je gebruikt Replace, dan laat je het afvangen aan MySQL over.
quote:Op vrijdag 28 april 2006 07:54 schreef Light het volgende:
[..]
Zoeken op multiviews levert waarschijnlijk meer resultaten op dan zoeken op multieviews
sleepquote:Op vrijdag 28 april 2006 11:41 schreef the_disheaver het volgende:
Hoe krijg ik een pauze van x-seconde in mijn script?
Dat hij pas de onderstaande code verder uitvoert na een bepaalde tijdinterval.
Misschien is het handiger om eerst even uiteen te zetten wat je allemaal wil doen met je gegevens. De code die je post bestaat voor meer dan de helft uit onzinnige commando's die je niet schijnt te gebruiken. Ik kan wel een veel simpelere code posten maar de kans bestaat dan dat andere commandos die je hier niet laat zien niet meer werken. Daarom is het makkelijker als je wat beter beschrijft wat je wil. Is dit alle code?quote:Op vrijdag 28 april 2006 10:49 schreef Boy_Snakeye het volgende:
Ik heb een vraag.
Ik werk met flash en moet een multimedia enquete maken voor kinderen. Nu moeten de gegevens opgeslagen worden in een text document.
Offline kon het helaaas nietdus moet het online worden gezet en ik wil php gebruiken om de gegevens uit flash te halen. Nu lukt het wel netjes op de gegevens op een php pagina te zetten door middel van deze code:
[ code verwijderd ]
Maar ik heb ook een code gevonden om het in een document te plaatsen
[ code verwijderd ]
Maar hier komt het totaal niet overzichtelijk in het document.Is er een makkelijke code hiervoor (te vinden? )
Nou ik zou je zeggen. Zo ijverig als ik ben, heb ik doorgewerkt en overal dingen lopen zoeken en bij toeval allerlei elementen gevonden om een goed document te maken.quote:Op vrijdag 28 april 2006 13:31 schreef ralfie het volgende:
[..]
Misschien is het handiger om eerst even uiteen te zetten wat je allemaal wil doen met je gegevens. De code die je post bestaat voor meer dan de helft uit onzinnige commando's die je niet schijnt te gebruiken. Ik kan wel een veel simpelere code posten maar de kans bestaat dan dat andere commandos die je hier niet laat zien niet meer werken. Daarom is het makkelijker als je wat beter beschrijft wat je wil. Is dit alle code?
Ook: Hoe wil je je data in het bestand opslaan? gegroepeerd per vraag? Per datum? Met opmaak? Het is misschien zelfs makkelijker/overzichtelijker om bijvoorbeeld naar een html bestand te schrijven, of de gegevens zodanig op te slaan (via mysql of je gegevensarray binair naar een bestand schrijven) zodat je deze met php en html netjes kunt uitlezen op de manier die jij wilt.
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 29 30 31 32 33 34 | //Ophalen van variabele $datum = $_POST['totaleDatum'] . "\n"; $vraag1 = $_POST['Vr1'] . "\n"; $vraag2 = $_POST['Vr2'] . "\n"; $vraag3 = $_POST['Vr3'] . "\n"; $vraag4 = $_POST['Vr4'] . "\n"; $vraag5 = $_POST['Vr5'] . "\n"; $vraag6 = $_POST['Vr6'] . "\n"; $vraag7 = $_POST['Vr7'] . "\n"; $vraag8 = $_POST['Vr8'] . "\n"; $vraag9 = $_POST['Vr9'] . "\n"; $vraag10 = $_POST['Vr10'] . "\n"; $vraag11 = $_POST['Vr11'] . "\n"; $vraag12 = $_POST['Vr12'] . "\n"; $vraag13 = $_POST['Vr13'] . "\n"; $vraag14 = $_POST['Vr14'] . "\n"; $vraag15 = $_POST['Vr15'] . "\n" . "\n"; //Maken van 1 string $toSave ="Datum: $datum Vraag 1: $vraag1 Vraag 2: $vraag2 Vraag 3: $vraag3 Vraag 4: $vraag4 Vraag 5: $vraag5 Vraag 6: $vraag6 Vraag 7: $vraag7 Vraag 8: $vraag8 Vraag 9: $vraag9 Vraag 10: $vraag10 Vraag 11: $vraag11 Vraag 12: $vraag12 Vraag 13: $vraag13 Vraag 14: $vraag14 Vraag 15: $vraag15"; //open het bestand en toevoegmodus $fp = fopen("resultaten.txt", "a+"); if(fwrite($fp, $toSave)) echo "De data is goed opgeslagen. U kunt dit scherm sluiten"; else echo "Er is iets fout gegaan tijdens het opslaan...."; fclose($fp); ?> </html> |
Ik zie niet in hoe het veranderen van een Unix-newline naar een Windows-newline de server OS compatibiliteit bevordert?quote:Op vrijdag 28 april 2006 14:35 schreef Swetsenegger het volgende:
ik zou hem ook veranderen in \r\n ivm server OS compatibiliteit
Wat doet het precies? en wat moet ik laten staan en wat kan dan weg door deze regel?quote:
De comaptibiliteit met het server OS lijkt me toch wel duidelijk?quote:Op vrijdag 28 april 2006 16:04 schreef JeRa het volgende:
[..]
Ik zie niet in hoe het veranderen van een Unix-newline naar een Windows-newline de server OS compatibiliteit bevordert?
had de eerste als primairy keyquote:Op vrijdag 28 april 2006 11:52 schreef SuperRembo het volgende:
[..]
Dan moet the_jasper wel die 4 kolommen als primary key hebben gedefinieerd. Het zou me ook niet verbazen als hij helemaal geen pk heeft.
@the_jasper: W3Schools SQL tutorial is een aardig begin.
Ik geloof niet dat ik, naast e-mails, ooit verschil heb ondervonden in interpretaties van de newlinesquote:Op vrijdag 28 april 2006 16:06 schreef Swetsenegger het volgende:
[..]
De comaptibiliteit met het server OS lijkt me toch wel duidelijk?
Je weet toch nooit welk OS er op de server draait en hoe je newline dus geinterpreteerd wordt.
ja gewoon in echo's:quote:Op vrijdag 28 april 2006 16:20 schreef JeRa het volgende:
[..]
Ik geloof niet dat ik, naast e-mails, ooit verschil heb ondervonden in interpretaties van de newlinesde manier van opslag en inlezen is nooit een probleem geweest. Kun je iets concreets noemen?
laat maar, dat kun je niet gebruiken zoals ok GI kan beamen als hij jouw code nog een keer doorleestquote:Op vrijdag 28 april 2006 16:05 schreef Boy_Snakeye het volgende:
[..]
Wat doet het precies? en wat moet ik laten staan en wat kan dan weg door deze regel?
1 2 3 4 | Vraag 4: $vraag4 Vraag 5: $vraag5 Vraag 6: $vraag6 Vraag 7: $vraag7 Vraag 8: $vraag8 Vraag 9: $vraag9 Vraag 10: $vraag10 Vraag 11: $vraag11 Vraag 12: $vraag12 Vraag 13: $vraag13 Vraag 14: $vraag14 Vraag 15: $vraag15"; |
1 2 3 4 | for ($x=1;$x<16;$x++) { $tosave.="Vraag $x: ".$Vraag{$x}; } |
Ik probeer te begrijpen welk risico er is, maar ik zie het nietquote:Op vrijdag 28 april 2006 16:29 schreef Swetsenegger het volgende:
[..]
ja gewoon in echo's:
echo "what ever \r\n";
Dus waarom zou je het risico nemen?
Volgens mij doet windows het alleen met \r\n goed.quote:Op vrijdag 28 april 2006 17:11 schreef JeRa het volgende:
[..]
Ik probeer te begrijpen welk risico er is, maar ik zie het nietzowel Unix- als Windows-systemen kunnen toch prima omgaan met \n en \r\n-newlines? Voor zover ik weet is er geen 'betere' oplossing, vandaar mijn verwarring om de switch van \n naar \r\n
Het enige probleem wat ik in Windows ooit ben tegengekomen met betrekking tot newlines lag niet in het OS maar in het programma notepad dat geen op zichzelf staande \n-newlines ondersteuntquote:Op vrijdag 28 april 2006 17:17 schreef Swetsenegger het volgende:
[..]
Volgens mij doet windows het alleen met \r\n goed.
Dat lijkt toch niet helemaal te kloppen.quote:Op vrijdag 28 april 2006 17:20 schreef JeRa het volgende:
[..]
Het enige probleem wat ik in Windows ooit ben tegengekomen met betrekking tot newlines lag niet in het OS maar in het programma notepad dat geen op zichzelf staande \n-newlines ondersteuntvoor de rest heeft dat voor mij altijd prima gewerkt.
De historie van de EOL ken ikquote:Op vrijdag 28 april 2006 19:04 schreef Swetsenegger het volgende:
[..]
Dat lijkt toch niet helemaal te kloppen.
Zelf had ik dus op een windows server problemen met alleen \n ipv \r\n. In het vorige topic had Superrembo nog een mooie link: [PHP/(My)SQL] voor dummies - Deel 25
met \n zag ik in mijn source niet de verwachte newline terug. Met \n\n werd het een paragraaf.quote:Op vrijdag 28 april 2006 19:16 schreef JeRa het volgende:
[..]
De historie van de EOL ken ikmaar zo'n beetje alle serversoftware die ik ken is prima in staat om te gaan met alle drie te vormen (alhoewel alleen \r bijna niet meer voorkomt). Had je dat probleem met Exchange Server oid?
edit: ik ga er trouwens op door omdat ik geïnteresseerd ben in de problemen die zich rond de EOL op verschillende operating systems scharen en ze zo hopelijk kan voorkomen
...notepad... vermoed ik (rechtermuis, bekijk source)quote:Op vrijdag 28 april 2006 19:35 schreef JeRa het volgende:
[..]
Met welk programma bekeek je die source?
quote:Op vrijdag 28 april 2006 19:36 schreef Swetsenegger het volgende:
[..]
...notepad... vermoed ik (rechtermuis, bekijk source)
Als je die source met wordpad had bekeken was er geen probleemquote:Op vrijdag 28 april 2006 17:20 schreef JeRa het volgende:
[..]
Het enige probleem wat ik in Windows ooit ben tegengekomen met betrekking tot newlines lag niet in het OS maar in het programma notepad dat geen op zichzelf staande \n-newlines ondersteunt![]()
Toen je vroeg 'met welk programma bekeek je de source' begreep ik hem. Vandaar de puntjes.quote:Op vrijdag 28 april 2006 19:39 schreef JeRa het volgende:
[..]
[..]
Als je die source met wordpad had bekeken was er geen probleemmaar tot dusver is dat dus een clientside probleem met de textviewer en nog niet met de server
1 2 3 4 5 6 7 8 9 10 | $result = mysql_query($sql); $num=mysql_numrows($result); $i=0; while ($i < $num) { $temp[$i] = mysql_result($result,$i,"toegelaten"); echo $temp; $i++; } |
include je toevallig iets?quote:Op zaterdag 29 april 2006 22:30 schreef the_jasper het volgende:
stukje code uit mijn pagina
[ code verwijderd ]
ik probeer dit maar ik krijg alleen: Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in .....
wtf is het probleem
ik wil kijken welke waarde in de kolom toegelaten staat voor de gebruiker in de tabel gebruikers
maar het gaat alleen maar mis![]()
zal vast een heel dom foutje zijn
1 2 3 | $result = mysql_query($sql) or die(mysql_error()); $num=mysql_numrows($result); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | echo '<br><br>'; echo $gebruikersnaam[$n]; echo ' '; echo $score; echo ' '; echo $c; // schrijf de score weg naar de score kolom $schrijfweg = "UPDATE `".$gebruikersnaam[$n]."` SET `punten` = ".$score." WHERE 'wedstrijd' = ".$c.""; echo ' '; echo $schrijfweg; mysql_query($schrijfweg) or die(mysql_error()); |
1 2 3 | jasper 1 1 UPDATE `jasper` SET `punten` = 1 WHERE 'wedstrijd' = 1 |
1 2 | punten = 3 3 |
Je wilt e-mailadressen ge-encrypt opslaan (waarom weet ik niet) maar daarvoor wil je je niet verdiepen in encryptie? What about de RC4-encryptie die in het vorige deel aan bod is gekomen? Eén functie om tot op zekere hoogte veilig te encrypten en decryptenquote:Op zondag 30 april 2006 15:06 schreef beerten het volgende:
Al ben ik geen totale n00b, maar om me nu voor iets dergelijks helemaal te verdiepen in encryptie is mijn sinziens overbodig.
[PHP/(My)SQL] voor dummies - Deel 25 Ik heb Chandlers posting als basis gebruikt. En dit werkt.quote:Op zondag 30 april 2006 15:36 schreef JeRa het volgende:
[..]
Je wilt e-mailadressen ge-encrypt opslaan (waarom weet ik niet) maar daarvoor wil je je niet verdiepen in encryptie? What about de RC4-encryptie die in het vorige deel aan bod is gekomen? Eén functie om tot op zekere hoogte veilig te encrypten en decrypten
En hoe voorkom ik dat men mijn php bestandje kan uitlezen?quote:Op zondag 30 april 2006 18:44 schreef the_jasper het volgende:
als je geen php genie bent heb je al een probleem als ze je php bestand waarmee je decrypt kunnen uitlezen. De waardes moeten toch ergens hardcoded neergezet worden.
ik weet niet wat voor encryptie RC 4 is maar je hebt altijd een sleutel nodig
Een goede start is het buiten de webroot zetten van gevaarlijke gegevens zoals usernames en wachtwoorden. In de bestanden waar de webserver wél bij kan kun je deze bestanden includen zonder problemen.quote:Op zondag 30 april 2006 19:55 schreef beerten het volgende:
[..]
En hoe voorkom ik dat men mijn php bestandje kan uitlezen?
Oftewel als voorbeeld:quote:Op zondag 30 april 2006 19:59 schreef JeRa het volgende:
[..]
Een goede start is het buiten de webroot zetten van gevaarlijke gegevens zoals usernames en wachtwoorden. In de bestanden waar de webserver wél bij kan kun je deze bestanden includen zonder problemen.
Door gewoon het complete pad in te vullen neem ik aan? Het werkt in ieder geval wel!quote:Op zondag 30 april 2006 20:37 schreef beerten het volgende:
[..]
Oftewel als voorbeeld:
/domains/domain.com/public_html/inlcude/wachtwoorden.php
/domains/domain.com/private_html/inlcude/wachtwoorden.php
Bij een document in de public_html include ik dan het bestandje uit de private_html. Maar hoe fiks ik m dit?
1 |
hoeft er geen haakjes omheen?quote:Op zondag 30 april 2006 22:02 schreef beerten het volgende:
[..]
Door gewoon het complete pad in te vullen neem ik aan? Het werkt in ieder geval wel!
[ code verwijderd ]
Als jullie de vraag niet beantwoorden moet je wat...quote:Op zondag 30 april 2006 22:06 schreef JeRa het volgende:
Het zou verrekte handig zijn als alle users hier hun eigen vragen beantwoordenoh en beerten, als je veel includes moet uitvoeren is deze functie waarschijnlijk ook wel handig
Dat doen 'we' expres, zo leren we users aan dat ze soms ook best zelf op het antwoord kunnen komenquote:Op zondag 30 april 2006 23:04 schreef beerten het volgende:
[..]
Als jullie de vraag niet beantwoorden moet je wat...
1 2 3 | $data = mysql_query($cfg['DB_main_query']) or die(mysql_error()); ?> |
1 2 3 4 5 6 7 8 | while($data2 = mysql_fetch_array($data)) { $line .= "RGL,".$data2['no'].",".$data2['aantal'].",\r\n"; $RGL2 = $data2['line_id'].";".$data2['product_id'].";".$data2['aantal'].";".$data2['vsnno'].";".$data2['titel'].";".$data2['comments'].";\r\n"; fwrite($file2,$RGL2); } ?> |
hmm okequote:Op maandag 1 mei 2006 16:21 schreef JeRa het volgende:
@mschol
Een goede start is het kiezen van logische namen voor je variabelen. 'data' en 'data2' zegt absoluut niet wat erin staat; kies dan iets meer in de richting van 'resultset' en 'row' bijvoorbeeld
Verder snap ik je vraagstelling ook niet. Wat bedoel je met 'dan is die leeg'? Zijn er geen rows meer terwijl je die verwacht? Ben je de resource identifier kwijt? Iets concreter graag
edit: oh, misschien bedoel je dat je later nóg een keer die resultset wilt raadplegen? Je kunt dan het beste de data in een array zetten en die raadplegen, of iets uitvoeren met mysql_data_seek() nadat je een keer over de resultset bent heengelopen.
Snap je wel wat er precies in jouw variabele $data komt te staan?quote:Op maandag 1 mei 2006 16:38 schreef mschol het volgende:
[..]
hmm oke
als volgt:
ik probeer $data (de resultset dus kennelijk) later dus idd nog eens te benaderen maar dan staat er niks meer in de variable $data (terwijl ik aan neem dat wanneer een variable gevuld wordt met gegrevens pas leeg wordt gemaakt als het script eindigd, of neem ik dat verkeerd aan?)
zo ver wist ik te komen.quote:Op maandag 1 mei 2006 16:43 schreef JeRa het volgende:
[..]
Snap je wel wat er precies in jouw variabele $data komt te staan?
Als je een query uitvoert krijg je een resource identifier terug van PHP waarmee je de data die je terug hebt gekregen van MySQL kunt benaderen...en dus niet de data zelfdoe maar eens een 'echo $data' direct na het uitvoeren van je query.
dit wist ik niet..quote:Die resource identifier houdt een pointer bij over wáár je precies in de resultset zit. Die wordt opgehoogd als je een mysql_fetch_*-aanroep doet. Als je dus een keer helemaal over de resultset bent gelopen, dan staat die pointer achteraan en dan krijg je bij volgende aanroepen dus geen data meer terug.
Dan kun je dus het beste één keer alle data in een aparte array zetten zodat je die alsnog kunt raadplegen, of die pointer resetten door middel van mysql_data_seek()
1 2 3 4 5 6 7 | ,Nettoprijs,Leverancier,VB,Kenmerk1,Kenmerk2,Kenmerk3,Kenmerk4,Kenmerk5) values ('Etna','EEK 260 VA','Witgoed','Inbouw koelkast','170 cm en hoger','999.00','999.00','487.00','270.84','Atag Etna Pelgrim HomeProducts B.V.','14.29','Energieklasse: A','Netto Inhoud koelgedeelte: 176liter','Nismaat Hoogte: 177.5cm','Nismaat Breedte: 57cm','Nismaat Diepte: 56cm')"); mysql_query("insert into Test (Merk,Type,Hoofdgroep,Subgroep,Subsubgroep,Goingprijs,Brutoprijs,Verkoopprijs ,Nettoprijs,Leverancier,VB) values ('B&H','RHKNST4060 NGOUD','Foto en film','Overige accessoires','Lijsten','18.95','18.95','18.95','6.11','United Distributie','0.00')"); |
Het komt niet uit een database?quote:Op maandag 1 mei 2006 20:15 schreef the_jasper het volgende:
hoi ben ik weer
mijn wk poule is bijna af, berekeningen worden uitgevoert etc
maar nu wil ik een scores lijstje maken. dus bovenaan degene met de hoogste
ik lees data uit met een loop.
Er zijn dan 2 variablen $user en $score
maar als ik wil gaan sorteren op score hoe doe ik dat dan zonder de bijbehorende username kwijt te raken of mensen met dezelfde score te overschrijven. Ik zat bij multi dimensionele arrays te kijken maar ik snap er eigenlijk niets van :S
hoe pak je zoiets aan. (alleen sorteren, de rest lukt wel)
Wel goed controleren of anders...quote:Op maandag 1 mei 2006 19:58 schreef JeRa het volgende:
eval() is evil maar kan je uit de brand helpen, soms
1 2 | echo file_get_contents('index.php'); |
ja maar uit een stuk of 100 tabellenquote:
Weet je hoe JOINs werken? Die doen denk ik namelijk precies wat jij wilquote:Op maandag 1 mei 2006 20:18 schreef the_jasper het volgende:
[..]
ja maar uit een stuk of 100 tabellen
Er is een tabel waar hij de users uitleest die aan een bepaalde voorwaarde voldoen
vervolgens leest hij hun punten kolom uit stopt die in een array en telt ze bij elkaar op
uhhh... elke user heeft een aparte tabel? oky...quote:Op maandag 1 mei 2006 20:18 schreef the_jasper het volgende:
[..]
ja maar uit een stuk of 100 tabellen
Er is een tabel waar hij de users uitleest die aan een bepaalde voorwaarde voldoen
vervolgens leest hij hun punten kolom uit stopt die in een array en telt ze bij elkaar op
1 |
Als je het zo hebt geregeld moet je je toch eens ernstig afvragen of je database-opmaak in orde is, zoek bv. eens op database normalisatie met googlequote:Op maandag 1 mei 2006 20:27 schreef the_disheaver het volgende:
[..]
uhhh... elke user heeft een aparte tabel? oky...
Uhm, je hebt een WK-poule met 100 tabellen?quote:Op maandag 1 mei 2006 20:18 schreef the_jasper het volgende:
[..]
ja maar uit een stuk of 100 tabellen
Er is een tabel waar hij de users uitleest die aan een bepaalde voorwaarde voldoen
vervolgens leest hij hun punten kolom uit stopt die in een array en telt ze bij elkaar op
maar anders heb je toch 64 * 7 + alle andere kolommen in gebruikers in 1 tabel?quote:Op maandag 1 mei 2006 20:31 schreef JeRa het volgende:
Als je het zo hebt geregeld moet je je toch eens ernstig afvragen of je database-opmaak in orde is, zoek bv. eens op database normalisatie met google
Ja, maar dan ook echt volkomen verkeerd. Sorry...quote:Op maandag 1 mei 2006 21:26 schreef the_jasper het volgende:
bedankt voor de reacties
iedereen die zich aanmeld krijgt een tabel toegewezen, daar worden de 64 wedstrijden in opgeslagen zoals zij ze hebben ingevult met een paar kolommen : de wedstrijd , het land dat thuis speelt, het land dat uit speelt de uitslag de score van de thuisploeg de score van de uitploeg en het aantal punten behaalt met die wedstrijd.
dit wordt niet als tekst opgeslagen maar als getallen. Zo is bijvoorbeeld van uitslag van die wedstrijd
1 = gelijkspel
2 = eerste wint (thuis)
3 = de tweede wint (uit)
Net zoals bijvoorbeeld de landen die gewoon in een array staan en het getal overeenkomt met de plaats in de array
die punten worden berekent door de tabel te vergelijken met een mastertabel die de waardes van het wk zal bevatten
verder is er nog een user tabel met alle gegevens over de users zoals email wachtwoord etcetc maar ook of ze betaald hebben. Ik laat alleen de scores zien van de mensen die betaald hebben en toegelaten zijn (het is een poule van vrienden).
dat van die 100 user is een schatting, vorig jaar deden we het met de hand en deden 105 mensen mee. Dit jaar gaat het dus automatisch. Mss kan het beter ingedeelt worden maar het werkt nu bijna perfect en het is precies zoals wij willen en waar je punten voor krijgt.
ik doe pas mysql voor een paar dagen php een jaar, en moest altijd heel creatief zijn met tekstbestanden enzo omdat mijn host geen mysql had maar lycos heeft dat nu in het pakket zitten dat ik heb dus waarom zou ik het niet gebruiken?
[..]
maar anders heb je toch 64 * 7 + alle andere kolommen in gebruikers in 1 tabel?
dit is in mijn ogen veel makkelijk, of begrijp ik het verkeerd?
Nee, je hebt dan één kolom 'userid' meer die een foreign key is naar de id van de gebruikerquote:Op maandag 1 mei 2006 21:26 schreef the_jasper het volgende:
[..]
maar anders heb je toch 64 * 7 + alle andere kolommen in gebruikers in 1 tabel?
dit is in mijn ogen veel makkelijk, of begrijp ik het verkeerd?
Even geheel off-the-record: je beseft je hopelijk dat je bezig bent met een soort van kansspel? Het is gewoon een ordinaire pool, dit valt onder zoveel als kansspelen. Online gokken op wedstrijden. Het grootste probleem is dat je geld vraagt. De belastingdienst en jij worden geen vrienden. Je hebt dit geheel openbaar online staan. Excuses zijn er dus niet.quote:Op maandag 1 mei 2006 21:41 schreef the_jasper het volgende:
owja als jullie nieuwsgierig zijn
http://wk.familie-gerbers.nl
(url is tijdelijk ff een leuke .tk zoeken)
je kan je registreren maar je ziet toch niets omdat je niet bent toegelaten tot het spel
en dus niet eens bij de invul schermen kan komen
als iemand wil kijken registert ie maar, ik zie je wel verschijnen op de admin pagina
de error op het score pagina is de fout die ik nu probeer uit te zoeken
Nee, maar dat is dan ook het enige nadeel. Je zal inderdaad, als je het goed doet, moeten kijken in phpMyAdmin welk record uit welke tabel, ofhankelijk van andere tabellen, je moet wijzigen. Maar als je je systeem goed opzet kan je dit ook met een admin-gedeelte doen.quote:Op maandag 1 mei 2006 21:55 schreef the_jasper het volgende:
ok wist ik niet
is iig leerzaam
sorry ben een beginner maar wat is het voordeel hiervan? simpelere queries? snelheid? neem het minder ruimte in? Makkerlijker te beheren?
Zo te zien is het iig minder leesbaar in phpMyAdmin dan die van mij. Snel ergens een nummertje fixen of checken of het goede getal op de juiste plaats komt is er niet meer bij.
Met één extra kolom in één grote tabel kun je nog prima werken hoor. Wat dacht je van:quote:Op maandag 1 mei 2006 21:55 schreef the_jasper het volgende:
Zo te zien is het iig minder leesbaar in phpMyAdmin dan die van mij. Snel ergens een nummertje fixen of checken of het goede getal op de juiste plaats komt is er niet meer bij.
1 2 | UPDATE pool SET blaat = 5 WHERE userid = 91 AND ...etc |
quote:Op maandag 1 mei 2006 22:02 schreef the_jasper het volgende:
aaah ok bedankt
volgende keer kan ik het beter zo aanpakken inderdaad nu te laat om te gaan herschrijven
maar het is ook echt een leerproject
1 2 3 4 5 6 7 8 9 10 | $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("mail@adres.nl", $_POST['onderwerp'], $bericht); ?> |
misschien een mogelijkheid om een random gegenereerde tekst erbij te zetten in een plaatje en die als check gebruiken om te kijken of het een mens is die het formulier invult?quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Alvast bedankt.
quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Alvast bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $verboden= array('Content-Type','multipart/mixed;'); //hier woorden in welke wel in de spam voor komen, maar niet in de normale aanvragen (penis, invited, poker, viagra, etc). De woorden die er al instaan, checken op mail injection, dus best handig om te laten staan :) foreach ($verboden as $search) { if(stristr($_POST['voorvoegsele'],$search)!=FALSE || stristr($_POST['naam'],$search)!=FALSE || stristr($_POST['emailadres'],$search)!=FALSE|| stristr($_POST['telefoonnummer'],$search)!=FALSE || stristr($_POST['berichte'],$search)!=FALSE){ header("HTTP/1.0 404"); die(); } } if(preg_match('/^[A-Za-z0-9._-]+[@][0-9A-Za-z_\-]+([.][0-9A-Za-z]+)([.][A-Za-z]{2,4}){0,1}$/x',$_POST['email'])){ //voorkomt dater gemailed wordt met een niet bestaand mail adres $bericht = " voorvoegsel: ". $_POST['voorvoegsel']; $bericht .= " Naam = ".$_POST['naam']; $bericht .= " Emailadres = ".$_POST['emailadres']; $bericht .= " Telefoonnummer = ".$_POST['telefoonnummer']; $bericht .= " Bericht: \r\n"; $bericht .= $_POST['bericht']; Mail("mail@adres.nl", $_POST['onderwerp'], $bericht); } ?> |
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | php include("config.php"); //error_reporting(E_ALL); // $breedte is nieuwe breedte // $hoogte is nieuwe hoogte // $imgFILE waar het plaatje van gemaakt wordt, het orgineel dus (bijv $_FILES['image']['tmp_name']) // $imgDIR waar het plaatje naartoe verhuisd als ie gemaakt is // $imgNAME nieuwe naam voor plaatje (bijv. mysql_insert_id () ) // $imgEXTENSION jpg of voor thumbs _th.jpg etc. // $quality getal tussen de 0 en 100 waarbij 100 beste kwaliteit is function create_new_JPGimage ($breedte, $hoogte, $imgFILE, $imgDIR, $imgNAME, $imgEXTENSION, $quality) { //temp_photo voor thumbnail maken $photo = imagecreatefromjpeg ($imgFILE); //afmetingen bepalen $source_x = imagesx($photo); $source_y = imagesy($photo); $target_x = $breedte; $target_y = $hoogte; //als foto te hoog is if (($source_x/$target_x) < ($source_y/$target_y)) { //echo "te hoog"; $from_y = ceil(($source_y - ($target_y * $source_x / $target_x))/2); $from_x = '0'; $source_used_y = ceil(($target_y * $source_x / $target_x)); $source_used_x = $source_x; } //als foto te breed is if (($source_y/$target_y) < ($source_x/$target_x)) { //echo "te breed"; $from_x = ceil(($source_x - ($target_x * $source_y / $target_y))/2); $from_y = '0'; $source_used_x = ceil(($target_x * $source_y / $target_y)); $source_used_y = $source_y; } //als verhoudingen gelijk zijn if (($source_x/$target_x) == ($source_y/$target_y)) { $from_x = '0'; $from_y = '0'; $source_used_x = $source_x; $source_used_y = $source_y; } //nieuwe image maken en wegschrijven naar dir $create_blank = imagecreatetruecolor ($target_x, $target_y); imagecopyresampled ($create_blank, $photo, 0, 0, $from_x, $from_y, $target_x, $target_y, $source_used_x, $source_used_y); $new_filename = $imgDIR.$imgNAME.$imgEXTENSION; $new_filename = 'thumbs/'.$imgNAME; ImageJpeg($create_blank,$new_filename,$quality); Imagedestroy($photo); } php global $_FILES; $filename = $_FILES['userfile']['name']; $allow[0] = "jpg"; $uploadname = $_FILES['userfile']['name']; $i = 0; $excist = 'yes'; $bestand = "$uploadname"; $extentie = substr($bestand, -4); $naam_zonder_ext = basename($bestand, "$extentie"); $extentie = substr($uploadname, -3); while ( $excist == 'yes' ) { $file = "$naam_zonder_ext"."[$i]."."$extentie"; $file2 = "uploads/"."$naam_zonder_ext"."[$i]."."$extentie"; if (file_exists($file2)) { //echo "Het bestand bestaat ( $file ) <br />"; $i++; } else { //echo "Het bestand bestaat niet ( $file ) <br />"; $uploadname = "$file"; $excist = "no"; } } $extentie = substr($uploadname, -3); for ($i = 0; $i < count($allow); $i++) { if ($extentie == $allow[$i]) { $extentie_check = "ok"; $i = count($allow) + 5; // om loop te beindigen } } if ($extentie_check) { if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/" . $uploadname); $SPEL_NAAM = $_POST['naam']; $SPEL_LINK = $_POST['link']; $SPEL_PLAATJE = $uploadname; $SPEL_CATEGORIE_ID = $_POST['categorie']; mysql_query ("INSERT INTO occasions ( id, merk, type, foto, bouwjaar, kilometerstand, kleur, brandstof, specificaties, vraagprijs ) VALUES ( '', ".$_POST['merk'].", ".$_POST['type'].", '$uploadname', ".$_POST['bouwjaar'].", ".$_POST['kilometerstand'].", ".$_POST['kleur'].", ".$_POST['brandstof'].", ".$_POST['specificaties'].", ".$_POST['vraagprijs']." )"); $een = '1'; $query = 'SELECT * FROM `occasions` ORDER BY `id` DESC LIMIT 1,1'; $result = mysql_query($query); while ($result=mysql_fetch_array($result, MYSQL_ASSOC)) { $occasion_id = $result['id']; $occasion_id2 = $result['id']; } $sql = 'SELECT * FROM `occasions` ORDER BY `ID` DESC LIMIT 1'; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $occasion_id = $row['id']; } mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', $uploadname, $occasion_id )"); $filling= "- $occasion_id - $uploadname <br />" . $_POST['merk'] ."<br />". $_POST['type'] ."<br />". $_POST['bouwjaar'] ."<br />". $_POST['kilometerstand'] ."<br />". $_POST['kleur'] ."<br />". $_POST['brandstof'] ."<br />". $_POST['specificaties'] ."<br />". $_POST['vraagprijs'] ."<br />"; $breedte = '100'; $hoogte = '100'; $imgFILE = 'uploads/'.$uploadname; $imgDIR = 'thumbs'; $imgNAME = $uploadname; $imgEXTENSION = '.jpg'; $quality = '100'; create_new_JPGimage ($breedte, $hoogte, $imgFILE, $imgDIR, $imgNAME, $imgEXTENSION, $quality); echo"$filling"; } } else { echo "Sorry je hebt geen foto toegevoegd of een bestand met de verkeerde extentie"; } <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> php echo"$header"; </body> </html> ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', $uploadname, $occasion_id )"); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', 'blaaaap', $occasion_id )"); ?> |
Je script is niet het probleem. Je hebt het emailadres als tekst op de paina staan. Er zijn speciale zoekmachines die niets anders doen dan webpagina's doorzoeken op emailadressen. Het emailadres is dus gevonden, dus krijg je spam binnen.quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Alvast bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $bla = "bla"; mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', $bla, $occasion_id )"); ?> |
Zijn backticks niet verplicht? Dat is me nooit duidelijk geworden, maar ik gebruik het wel altijd:quote:Op dinsdag 2 mei 2006 17:50 schreef BaggerUser het volgende:
als ik er dit van maak
[ code verwijderd ]
werkt het zelfs niet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | mysql_query ("INSERT INTO `fotos` ( `id`, `foto`, `occasion_id` ) VALUES ( '', $bla, $occasion_id )") or die( mysql_error() ); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $bla = "bla"; mysql_query ("INSERT INTO fotos ( id, foto, occasion_id ) VALUES ( '', '{$bla}', $occasion_id )"); ?> |
1 2 3 4 5 | $sql = sprintf("INSERT INTO fotos (id,foto,occasion_id) VALUES (NULL,'%s',%d)",$bla,$occasion_id); mysql_query($sql); ?> |
En als het veld ID als eigenschappen "not null" en "auto increment" heeft dan moet je vooral niet proberen dat ding op null te zetten. Dan beter nog dat hele ID veld niet vullen, dan weet Mysql ook dat het zelf moet.quote:Op dinsdag 2 mei 2006 20:10 schreef smesjz het volgende:
Het gebruik van de sprintf() familie voorkomt dit soort problemen:
[ code verwijderd ]
Je moet er misschien even aan wennen, maar met printf() kan je nog veel meer dingen doen.
Ook als je geen C gewend bent, kan het zeker voor wat betere leesbare code zorgen.
Hiervoor zijn nou prepared statements bedacht, prima ondersteund door PDO en de standaard MySQLi-extensie in PHPquote:Op dinsdag 2 mei 2006 20:10 schreef smesjz het volgende:
Het gebruik van de sprintf() familie voorkomt dit soort problemen:
[ code verwijderd ]
Je moet er misschien even aan wennen, maar met printf() kan je nog veel meer dingen doen.
Ook als je geen C gewend bent, kan het zeker voor wat betere leesbare code zorgen.
Prepared statements zijn leuk als je veel terugkerende queries hebt, anders niet.quote:Op dinsdag 2 mei 2006 20:42 schreef JeRa het volgende:
[..]
Hiervoor zijn nou prepared statements bedacht, prima ondersteund door PDO en de standaard MySQLi-extensie in PHPniet alleen doen die wat jij beschrijft, maar ze zorgen ook voor een escaping gebaseerd op de juiste character set en kunnen een query vantevoren parsen zodat je dezelfde query vaak kunt uitvoeren zonder telkens de parse-overhead te hebben
Is dat niet bij bijna elke werkgever zo? Laatst een bedrijf gezien waar PHP-programmeurs (en alleen PHP dus!) op HBO-niveau tussen de 35 en 40 euro per uur verdienenquote:Op dinsdag 2 mei 2006 21:02 schreef Swetsenegger het volgende:
Ik ben zowaar een werkgever tegen gekomen welke een afgeronde HBO opleiding belangrijker vind dan aantoonbare ervaring
Nee, een werkgever zou pas naar diploma's moeten kijken wanneer er geen aantoonbaar relevante werkervaring is.quote:Op dinsdag 2 mei 2006 21:08 schreef JeRa het volgende:
[..]
Is dat niet bij bijna elke werkgever zo? Laatst een bedrijf gezien waar PHP-programmeurs (en alleen PHP dus!) op HBO-niveau tussen de 35 en 40 euro per uur verdienenmaar reken er maar niet op dat je daar komt te werken zonder HBO-diploma.
Je mag hopen dat een internationaal opererende organisatie mensen op posities neerzet vanwege de kwaliteiten van die mensen. Maar bedrijven kunnen zich natuurlijk ook wel eens vergissen.quote:Op dinsdag 2 mei 2006 21:16 schreef Swetsenegger het volgende:
Je mag aannemen dat een internationaal opererende organisatie in een snelle competitieve markt mensen niet op die positie zet voor hun zweet voetenMet andere woorden, ik ben competent... ondanks dat mijn hoogst behaalde opleiding MBO is.
Ja, dat wil ik ook wel wetenquote:-edit- waar was dat bedrijf van die PHP'ers overigens
Ik heb nu 17 jaar werkervaring en incompetente mensen houden het in de regel niet langer dan 1, max 2 jaar vol op hun positie.quote:Op dinsdag 2 mei 2006 21:54 schreef Light het volgende:
[..]
Je mag hopen dat een internationaal opererende organisatie mensen op posities neerzet vanwege de kwaliteiten van die mensen. Maar bedrijven kunnen zich natuurlijk ook wel eens vergissen.
Heb je HBOquote:Ja, dat wil ik ook wel weten
Ervaring natuurlijk. Maar m'n punt was dat sommige werkgevers dat niet zo zwaar laten meetellenquote:
Ben aan het zoeken, kan het zo 1-2-3 niet vinden. Ik post het wel hier zodra ik hun website weer hebquote:-edit- waar was dat bedrijf van die PHP'ers overigens
Zit wat in.quote:Op dinsdag 2 mei 2006 22:00 schreef Swetsenegger het volgende:
[..]
Ik heb nu 17 jaar werkervaring en incompetente mensen houden het in de regel niet langer dan 1, max 2 jaar vol op hun positie.
Nee, wel ZCEquote:Heb je HBO
1 2 3 4 5 6 7 8 | ( [To Download.txt] => file [aaa] => dir [bla] => dir [blaat] => dir [hihi] => dir ) |
1 2 3 4 5 6 7 8 | ( [aaa] => dir [bla] => dir [blaat] => dir [hihi] => dir [To Download.txt] => file ) |
1 2 3 4 5 6 7 8 | ( [hihi] => dir [blaat] => dir [bla] => dir [aaa] => dir [To Download.txt] => file ) |
1 |
dank je voor je snelle reactie...quote:Op woensdag 3 mei 2006 01:56 schreef _dirkjan_ het volgende:
<?
echo "<a href=\"http://dit is de link.com\"><img src=\"plaatje.jpg\"></a>";
?>
Maar snap je het doel van php wel?
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 29 30 31 | mysql_query ("INSERT INTO occasions ( id, merk, type, foto, bouwjaar, kilometerstand, kleur, brandstof, specificaties, vraagprijs ) VALUES ( '', ".$_POST['merk'].", ".$_POST['type'].", '$uploadname', ".$_POST['bouwjaar'].", ".$_POST['kilometerstand'].", ".$_POST['kleur'].", ".$_POST['brandstof'].", '$specificaties', ".$_POST['vraagprijs']." )") or die( mysql_error() ); ?> |
Misschien wel, maar dan moet ik vrij veel code ombouwen en het op deze manier sorteren lijkt me nou geen onmogelijke opgave, of vergis ik me ?quote:Op woensdag 3 mei 2006 00:54 schreef JeRa het volgende:
@MeScott
Is het niet mogelijk ze eerst in aparte arrays te stoppen, ze onafhankelijk van elkaar te sorteren en weer bij elkaar te plakken?
Je kunt met usort een sorteerfunctie verzinnen, maar dan moet je array alsnog verbouwd worden:quote:Op woensdag 3 mei 2006 10:01 schreef MeScott het volgende:
[..]
Misschien wel, maar dan moet ik vrij veel code ombouwen en het op deze manier sorteren lijkt me nou geen onmogelijke opgave, of vergis ik me ?
edit:
Heb het nu toch maar ff opgelost door twee aparte arrays, mocht er iemand zijn die een oplossing heeft voor het sorteerprobleem dan sta ik daar ook nog voor open
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $files=array(); $files[]=array("blat.txt","file"); $files[]=array("amb.php","file"); $files[]=array("corn.sys","file"); $files[]=array("abacus","dir"); $files[]=array("betacaroteen","dir"); usort($files,"cmpfile"); function cmpfile($a, $b) { if ($a[1]=="dir" && $b[1]!="dir") return -1; if ($a[1]==$b[1]) return (strcmp($a[0],$b[0])); return 1; } var_dump($files); ?> |
1 2 3 4 5 6 7 8 9 10 | function sortfiles($files) { foreach($files as $key => $value) { ${$value}[$key]=$value; } ksort($file); ksort($dir); return array_merge($dir,$file); } ?> |
quote:Op woensdag 3 mei 2006 00:44 schreef MeScott het volgende:
Ik heb een array:
[ code verwijderd ]
Nu wil ik dus eerst alle mappen hebben, en daarna alle bestanden, beide op alfabetische volgorde sorteren. Dit zou er dus uit moeten komen:
[ code verwijderd ]
Ik heb het met asort al geprobeerd, maar dan krijg ik zo'n array:
[ code verwijderd ]
Iemand een idee hoe het wel moet ?
Er moeten overal quotjes omheen. Dus:quote:Op woensdag 3 mei 2006 02:41 schreef BaggerUser het volgende:
kut he twerkt dus toch niet...
[ code verwijderd ]
het hangt af van de invoer maar het werkt vaak niet
vul maar eens wat in op
http://80.61.232.209/bruins/
zolang je invult wat er voor staat werkt het, ongelofelijk maf...
dus bij specificaties, specificaties invullen , bij benzine, benzine
echt raar ?
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 29 30 31 | mysql_query ("INSERT INTO occasions ( id, merk, type, foto, bouwjaar, kilometerstand, kleur, brandstof, specificaties, vraagprijs ) VALUES ( '', '".$_POST['merk']."', '".$_POST['type']."', '$uploadname', '".$_POST['bouwjaar']."', '".$_POST['kilometerstand']."', '".$_POST['kleur']."', '".$_POST['brandstof']."', '$specificaties', '".$_POST['vraagprijs']."' )") or die( mysql_error() ); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $from = trim(urldecode($_POST["mail"])); if(!preg_match("/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/", $from)) { $error .= "Het mailadres is onjuist.<br />\n"; } if (eregi("\r",$from) || eregi("\n",$from) || eregi("0x0D",$from) || eregi("%0D",$from) || eregi("0x0A",$from) || eregi("%0A",$from)) { header("Location: http://www.watbenjedan.nl"); } ?> |
Werkt inderdaad perfect, dank jequote:Op woensdag 3 mei 2006 11:45 schreef freiss het volgende:
[..]
[ code verwijderd ]
Deze werkt in dit geval iig goed.
jeej het werktquote:Op woensdag 3 mei 2006 12:00 schreef HuHu het volgende:
[..]
Er moeten overal quotjes omheen. Dus:
[ code verwijderd ]
Bij uploadname en specificaties doe je het wel goed, maar het moet bij al die andere ook.
Op http://nl3.php.net/mail staan goede voorbeelden van betere code die mail injectie tegen gaan. Die van mfp (28-Apr-2006 05:55) is wel ok, hoewel erg uitgebreid. Misschien is die van derernst at gmx dot ch (17-Feb-2006 05:43) ook al voldoende.quote:Op woensdag 3 mei 2006 12:03 schreef HuHu het volgende:
Een vraagje, als ik mail-injection wil voorkomen, is dit dan genoeg?
[ code verwijderd ]
Om integers niet, en ik neem aan dat bouwjaar, kilometerstand en prijs ints zijn?quote:Op woensdag 3 mei 2006 12:00 schreef HuHu het volgende:
[..]
Er moeten overal quotjes omheen. Dus:
[ code verwijderd ]
Bij uploadname en specificaties doe je het wel goed, maar het moet bij al die andere ook.
Wees creatief. Als je het de gebruiker moeilijker wilt maken een tekst in een plaatje om over te typen, maar je kunt creatievere zaken verzinnen die spammers niet zo snel door hebben of gewoon teveel moeite vinden om te omzeilen. Denk hierbij bijvoorbeeld aan time-based methoden, zoals op basis van de datum en tijd de form velden dynamische namen geven.quote:Op dinsdag 2 mei 2006 14:26 schreef -calimero- het volgende:
Ik heb (weer) een vraagje. Een tijdje geleden hebben jullie mij geholpen met een mailformulier voor een website. Nu staat deze al een tijdje online, maar er komt steeds meer spam op binnen te komen.
Is er een mogelijkheid om dat te weren op een of andere manier?
Het gaat om deze code:
[ code verwijderd ]
Hier te vinden: http://www.zwembaddezwoer.nl/contact.htm
Bij integers niet, dat klopt. Maar je weet niet wat mensen invullen in de vakjes.quote:Op woensdag 3 mei 2006 23:20 schreef CraZaay het volgende:
[..]
Om integers niet, en ik neem aan dat bouwjaar, kilometerstand en prijs ints zijn?
Dus eigenlijk moeten we zeggen dat user input controlle noodzakelijk isquote:Op donderdag 4 mei 2006 09:13 schreef HuHu het volgende:
[..]
Bij integers niet, dat klopt. Maar je weet niet wat mensen invullen in de vakjes.
Bouwjaar: in 1985
Kilometerstand: 120000 kilometer
Prijs: 1200 euro
Als mensen dat invullen moet je het wel quoten. Of je moet alle letters en spaties eruit strippen. Maar dat gebeurd niet, aangezien hij rechtstreeks de POST-data in de query stopt.
Dat zou wel handig zijn jaquote:Op donderdag 4 mei 2006 09:14 schreef Swetsenegger het volgende:
[..]
Dus eigenlijk moeten we zeggen dat user input controlle noodzakelijk is
1 |
Wat Swetsenegger zegt, dat moet je gewoon afvangen natuurlijk. Het is per definitie ranzig als je dergelijke toevoegingen opneemt in je database (bijvoorbeeld omdat het niet meer te vergeljken is). Met is_numeric() kom je een heel endquote:Op donderdag 4 mei 2006 09:13 schreef HuHu het volgende:
[..]
Bij integers niet, dat klopt. Maar je weet niet wat mensen invullen in de vakjes.
Bouwjaar: in 1985
Kilometerstand: 120000 kilometer
Prijs: 1200 euro
Als mensen dat invullen moet je het wel quoten. Of je moet alle letters en spaties eruit strippen. Maar dat gebeurd niet, aangezien hij rechtstreeks de POST-data in de query stopt.
Hey, het levensmotto van een gemiddelde programmeur!quote:Op donderdag 4 mei 2006 13:14 schreef BaggerUser het volgende:
nu ik net weer wakker ben en er weer fris tegenaan kan zie ik dat het nergens op lijkt![]()
1 |
Ja, door het in variabelen te stoppen. Die worden namelijk in het werkgeheugen opgeslagen. Verder blijf je wel beperkt tot de geheugenlimiet die PHP je oplegt.quote:Op vrijdag 5 mei 2006 22:00 schreef wipes66 het volgende:
Bestaat er eigenlijk in php een mogelijkheid om iets naar het werkgeheugen te schrijven? (bv om te cachen)
ik denk dat ie echt bewaren bedoeld, want variabelen zijn weg zodra de pagina geladen is. Maar ik weet niet precies wat je met werkgeheugen bedoeld, maar cachen kan wel natuurlijk, gewoon een scriptje schrijven.quote:Op vrijdag 5 mei 2006 22:13 schreef JeRa het volgende:
[..]
Ja, door het in variabelen te stoppen. Die worden namelijk in het werkgeheugen opgeslagen. Verder blijf je wel beperkt tot de geheugenlimiet die PHP je oplegt.
Ja maar al die variabelen zijn weg zodra je script weer opnieuwe begint. Of valt daar wat aan te doen?quote:Op vrijdag 5 mei 2006 22:13 schreef JeRa het volgende:
[..]
Ja, door het in variabelen te stoppen. Die worden namelijk in het werkgeheugen opgeslagen. Verder blijf je wel beperkt tot de geheugenlimiet die PHP je oplegt.
Ja meestal wordt er gecached door iets op te slaan in een bestandje, maar ik vroeg me af of het ook via werkgeheugen kan.quote:Op vrijdag 5 mei 2006 22:15 schreef _dirkjan_ het volgende:
[..]
ik denk dat ie echt bewaren bedoeld, want variabelen zijn weg zodra de pagina geladen is. Maar ik weet niet precies wat je met werkgeheugen bedoeld, maar cachen kan wel natuurlijk, gewoon een scriptje schrijven.
Hoe bedoel je dit? Als de user de pagina ververst of als het script de pagina opnieuw aanroept, dat dan je variabelen blijven bestaan? Dit kan door middel van sessions. De variabelen blijven bestaan, zolang de client verbinding houdt met de server.quote:Op vrijdag 5 mei 2006 22:19 schreef wipes66 het volgende:
[..]
Ja maar al die variabelen zijn weg zodra je script weer opnieuwe begint. Of valt daar wat aan te doen?
Sessions worden per user opgeslagen als bestand, dus dat is niet wat ik zoek.quote:Op vrijdag 5 mei 2006 22:58 schreef beerten het volgende:
Of begrijp ik je verkeerd?
Geen probleem. Alleen schrijven en lezen van het werkgeheugen gaat natuurlijk veel sneller.quote:Op zaterdag 6 mei 2006 01:12 schreef fokME2 het volgende:
Maar wat is het probleem van een file openen dan..?
Je moet niet zo geforceerd naar werkgeheugen kijkenquote:Op zaterdag 6 mei 2006 01:30 schreef wipes66 het volgende:
[..]
Geen probleem. Alleen schrijven en lezen van het werkgeheugen gaat natuurlijk veel sneller.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $vars = $HTTP_GET_VARS; // indien variable "upper" aanwezig is deze verwijderen uit de array if(array_key_exists("upper", $vars)) { print "Upper = " . $vars['upper'] . "<br>"; unset($vars['upper']); } // Hier het stukkie code om de variabelen in een string te zetten // De get-variabelen worden voor een link in // de variabele $pad_eind gestopt // ????????? //Een vereenvoudige weergave van de link print "<a href=\"http://www.domain.com/page.php?" . $pad_eind . "\">link</a>"; ?> |
Eerst even wat anders, waarom gebruik je niet de superglobal $_GET ?quote:Op zondag 7 mei 2006 22:10 schreef beerten het volgende:
Ik wil een variabele verwijderen uit de array HTTP_GET_VARS.
Dit had ik me al bedacht, maar ik kreeg het niet werkend.quote:Op maandag 8 mei 2006 09:15 schreef CraZaay het volgende:
[..]
Door de array loopen en steeds '&key=value' toevoegen aan een string?
Die kende ik nog niet, dank en hulde. Alweer iets geleerd.quote:Op maandag 8 mei 2006 09:19 schreef Light het volgende:
[..]
Eerst even wat anders, waarom gebruik je niet de superglobal $_GET ?
1 2 3 4 5 6 7 8 9 10 11 12 13 | if(array_key_exists("upper", $_GET)) { //print "Upper = " . $_GET['upper'] . "<br>"; unset($_GET['upper']); } foreach($_GET AS $key => $value) { //print $key . " - " . $value . "<br>"; $pad_eind .= "&". $key . "=". $value; } print $pad_eind; |
Thx, dat is eigenlijk precies wat ik zochtquote:Op maandag 8 mei 2006 23:46 schreef Roönaän het volgende:
Doet FormHandler dat niet?
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | function upload_file($inputname, $destination) { // Als naam opgegeven en niet leeg is if (isset($_FILES[$inputname]['name']) && !empty($_FILES[$inputname]['name'])) { // Kijk of naam al bestaat if (file_exists($destination."/".$_FILES[$inputname]['name'])) { return "Fout: bestand ".$_FILES[$inputname]['name']." bestaat al."; } else { // Kijken of bestand is geupload if (is_uploaded_file($_FILES[$inputname]['tmp_name'])) { // Verplaats bestand van tmp naar doel if (move_uploaded_file($_FILES[$inputname]['tmp_name'], $destination."/".$_FILES[$inputname]['name'])) { //return "Afbeelding ".$_FILES[$inputname]['name']." is geupload."; return ''; } else { return "Fout: Bestand kon niet worden verplaatst naar opgegeven doel."; } } else { echo "Fout: "; switch($_FILES[$inputname]['error']) { case 0: //no error; possible file attack! print_r($_FILES); die(); return " Er was een probleem met het uploaden van het bestand."; break; case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini default: //a default error, just in case! return "Er was een probleem opgetreden tijdens het uploaden."; break; } } } } else { return "Klik eerst op \'Browse\' om een afbeelding op te geven!"; } } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $msg = upload_file('imginput', $_GET['path']); if ($msg != '') echo "alert('".$msg."');\n"; //print_r($_FILES); } ?> |
1 2 3 4 5 | if (!file_exists($_FILES[$inputname]['tmp_name'])) { die('Bestand '.$_FILES[$inputname]['tmp_name'].' bestaat niet.'); } ?> |
1 |
Nee, en het lijkt me dat dit ook jouw probleem is. Je voert niet één of andere stripslashes() routine uit op je globale variabelen?quote:Op dinsdag 9 mei 2006 12:33 schreef wipes66 het volgende:
Het vreemd is dat er geen slashes in staan, hoort dit?
Yes en dat was ook het probleem!quote:Op dinsdag 9 mei 2006 13:06 schreef JeRa het volgende:
[..]
Nee, en het lijkt me dat dit ook jouw probleem is. Je voert niet één of andere stripslashes() routine uit op je globale variabelen?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | set_magic_quotes_runtime(0); if(get_magic_quotes_gpc() || ini_get('magic_quotes_sybase')) { $_GET = magic_quotes_strip($_GET); $_POST = magic_quotes_strip($_POST); $_COOKIE = magic_quotes_strip($_COOKIE); $_REQUEST = array_merge($_GET, $_POST, $_COOKIE); $_FILES = magic_quotes_strip($_FILES); $_ENV = magic_quotes_strip($_ENV); $_SERVER = magic_quotes_strip($_SERVER); } function magic_quotes_strip($mixed) { if(is_array($mixed)) return array_map('magic_quotes_strip', $mixed); return stripslashes($mixed); } ?> |
ugh, idd enkele quotes vergetenquote:Op dinsdag 9 mei 2006 17:32 schreef ikke_ook het volgende:
je vergeet hoogst waarschijnlijk de quotes om de value van het input veld.
Maar das niet echt makkelijk om te ruiken voor ons... misschien kun je een voorbeeldje posten In het daarvoor bestemde topic
Nee, dat is het nietquote:Op dinsdag 9 mei 2006 17:35 schreef Fugie het volgende:
[..]
Het is trouwens een php webshop met een waarde die ik ophaal uit php, dus dit is wel het goede topic hoor
voeg ook even htmlspecialchars() toequote:Op dinsdag 9 mei 2006 17:35 schreef Fugie het volgende:
[..]
ugh, idd enkele quotes vergeten![]()
krijg je als je te lang bezig bent![]()
Het is trouwens een php webshop met een waarde die ik ophaal uit php, dus dit is wel het goede topic hoor
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | php $naam = "Jantje van Jansen"; $array = explode(" ", $naam); $voornaam = $array['0']; $achternaam = ""; for($i = 1; $i < count($array); $i++){ $achternaam .= " ".$array[$i]; } ?> |
MySQL is eigenwijs bij het aan elkaar plakken van strings. Ze hebben daar een complete functie voor, CONCAT genaamdquote:Op dinsdag 9 mei 2006 23:14 schreef mstx het volgende:
Ik heb een probleempje met MySQL.
Ik heb een tabel met 3 kolommen: voornaam, achternaam, emailadres.
Nu heb ik één tekstvak waar ik de naam in kan typen en daarmee moet ik dus het e-mailadres zien te selecteren. De query moet dus zoiets zijn:
[ code verwijderd ]
Maar die "+" werkt natuurlijk niet. Is er geen functie in MySQL die 2 kolommen aan elkaar plakt ofzo?
P.S. Ik kan niet exploden op een spatie omdat de voornaam (of achternaam misschien ook) ook een spatie kan bevatten.
Zoiets zocht ik ja. Ik zal het vanmiddag eens uitproberen.quote:Op woensdag 10 mei 2006 08:22 schreef Light het volgende:
[..]
MySQL is eigenwijs bij het aan elkaar plakken van strings. Ze hebben daar een complete functie voor, CONCAT genaamd
Volgens mij gaat dat mis als je de naam "Karel Jan van den Broek" hebt o.i.d.quote:
Volgens mij zou het opslaan in twee verschillende velden dan juist heel erg zinnig zijn. Je kunt dan namelijk zoeken op "voornaam achternaam", maar iemand die dan ook alleen "achternaam" in kunnen typen, of "achternaam, voornaam".quote:Op woensdag 10 mei 2006 10:03 schreef mstx het volgende:
[..]
Zoiets zocht ik ja. Ik zal het vanmiddag eens uitproberen.
Bedankt!![]()
En voornaam en achternaam apart laten invullen kan niet. Het is namelijk voor een webmail programmatje. Bij het opstellen van een nieuw bericht begin je te typen in het "Aan:"-veld en m.b.v. AJAX roep ik dus deze pagina aan om in het adresboek te zoeken naar contactpersonen die met die letters (die je typt) beginnen.(Net zoiets dus als bij google suggest en op www.ns.nl maar bij mij werkt het ook als je een komma typt en dan nog een persoon zoekt.)
Ter verduidelijking, het gaat dus om dit:quote:Op woensdag 10 mei 2006 14:24 schreef CraZaay het volgende:
[..]
Volgens mij zou het opslaan in twee verschillende velden dan juist heel erg zinnig zijn. Je kunt dan namelijk zoeken op "voornaam achternaam", maar iemand die dan ook alleen "achternaam" in kunnen typen, of "achternaam, voornaam".
Ik snap je probleem, maar met wat creativiteit zou je een eind moeten kunnen komen, ook als concat niet mocht werken op de manier die je voor ogen hebt. Als je de voornaam bijvoorbeeld hebt zou je verder kunnen zoeken op de achternamen van de personen waarvan de voornamen al matchen.quote:Op woensdag 10 mei 2006 16:32 schreef mstx het volgende:
[..]
Ter verduidelijking, het gaat dus om dit:
[afbeelding]
En het is opgeslagen in 2 aparte kolommen.
Hij kijkt nu of de eerste letters van de voornaam OF achternaam OF emailadres met een "m" begint. Maar als je nu "voornaam achternaam" intypt kan hij niks vinden (omdat kolom "voornaam" niet "voornaam achternaam" bevat en kolom "achternaam" ook niet) dus ik ga straks even die CONCAT functie proberen.
Dit is iets wat je denk ik beter met javascript kunt oplossen dan met SQLquote:Op woensdag 10 mei 2006 16:32 schreef mstx het volgende:
[..]
Ter verduidelijking, het gaat dus om dit:
[afbeelding]
En het is opgeslagen in 2 aparte kolommen.
Hij kijkt nu of de eerste letters van de voornaam OF achternaam OF emailadres met een "m" begint. Maar als je nu "voornaam achternaam" intypt kan hij niks vinden (omdat kolom "voornaam" niet "voornaam achternaam" bevat en kolom "achternaam" ook niet) dus ik ga straks even die CONCAT functie proberen.
Hier stop ik even. Je weet wat 'inloggen' inhoudt op websiteA.nl? Waarschijnlijk krijgt de gebruiker hier een session ID toegestuurd en wordt deze in een cookie voor het domein websiteA.nl opgeslagen.quote:Op woensdag 10 mei 2006 16:38 schreef Desdinova het volgende:
Ik heb een database met users, met username, password, en ehh, data ofzo.
de informatie uit deze database wil ik gedeeltelijk delen met anderen. dus een vriend van mij heeft websiteA.nl ofzo, waar een login schermpje op te vinden is. hier logt een gebruiker in met een username en password.
Zoals eerder gezegd zul je dan de inloggegevens moeten hebben via de session, wat voor de meeste browsers inhoudt dat je een subdomein of subdirectory van websiteA.nl moet zijn. Een ingelogde gebruiker zal op websiteB.nl nu eenmaal niet zomaar zijn session ID afstaan.quote:Nou wil ik dat aan de hand van die login, de data uit veld 'data' wordt verkregen. dat kan natuurlijk via een standaard query en externe database toegang, maar dan kan de query aangepast worden zodat alle data beschikbaar is voor degene met toegang, en dat wil ik dus juist beperken.
sessie is idd niet te behouden want zijn andere servers. het gaat meer om verifiering van username+wachtwoord en het zoeken van de daarbij horende data. maar pin me niet vast op mn woorden want ik roep ook maar ietsquote:Op woensdag 10 mei 2006 17:25 schreef JeRa het volgende:
[..]
Hier stop ik even. Je weet wat 'inloggen' inhoudt op websiteA.nl? Waarschijnlijk krijgt de gebruiker hier een session ID toegestuurd en wordt deze in een cookie voor het domein websiteA.nl opgeslagen.
[..]
Zoals eerder gezegd zul je dan de inloggegevens moeten hebben via de session, wat voor de meeste browsers inhoudt dat je een subdomein of subdirectory van websiteA.nl moet zijn. Een ingelogde gebruiker zal op websiteB.nl nu eenmaal niet zomaar zijn session ID afstaan.
WebsiteA.nl maakt gebruik van een MySQL-server, en als websiteB.nl hier ook toegang tot heeft kun je toch gewoon SQL-queries uitvoeren waarmee je de data ophaalt? Het is niet zo alsof je gebruikers zomaar je queries kunnen aanpassen, of je doet iets gruwelijks fout.quote:Op woensdag 10 mei 2006 17:30 schreef Desdinova het volgende:
[..]
ik wil gewoon mn data van die gebruiker naar de andere server hebben zonder dat andere data toegankelijk is (tenzij username+password valid is)
1 2 3 4 5 6 7 8 9 | LEFT(`email`, ".$e_length.") = '".$e."' OR LEFT(`firstname`, ".$e_length.") = '".$e."' OR LEFT(`lastname`, ".$e_length.") = '".$e."' OR LEFT(CONCAT(`firstname`, ' ', `lastname`), ".$e_length.") = '".$e."') |
1 2 3 | FROM documents WHERE MATCH (document_name) AGAINST ('script' IN BOOLEAN MODE) |
1 2 3 | FROM documents WHERE MATCH (document_name) AGAINST ('javascript' IN BOOLEAN MODE) |
1 2 3 | FROM documents WHERE MATCH (document) AGAINST ('+php+script' IN BOOLEAN MODE) |
1 2 3 4 5 6 7 8 9 10 11 12 13 | if(count($parts) > 1){ $user_id=$parts[0]; $order_id=$parts[1]; $queryUser="UPDATE users SET activated='1' WHERE user_id=".$user_id; mysql_query($queryUser); $queryOrders="UPDATE test_orders SET activated='1' WHERE order_id=".$order_id; mysql_query($queryOrders); }else{ $order_id=$parts[0]; $queryOrders="UPDATE test_orders SET activated='1' WHERE order_id=".$order_id; mysql_query($queryOrders); } |
1 2 | UPDATE test_orders SET activated='1' WHERE order_id=13 |
quote:Op woensdag 10 mei 2006 23:39 schreef Swetsenegger het volgende:
Ach fuck, ik heb heel de db toegang niet geinclude in het script
Het is een script welke een xml catcht en vervolgens verwerkt. Het script draait dus niet in de browser. En ik weet niet hoe ik een fake xml kan aanbieden.quote:Op woensdag 10 mei 2006 23:43 schreef JeRa het volgende:
[..]
Geeft ie normaal dan geen foutmelding op mysql_query()?
Als dat om zo'n overschrijvings-XML gaat (van de bank) lijkt het me verstandig om een manier te vinden om héél veel te testen met fake XML'squote:Op woensdag 10 mei 2006 23:50 schreef Swetsenegger het volgende:
[..]
Het is een script welke een xml catcht en vervolgens verwerkt. Het script draait dus niet in de browser. En ik weet niet hoe ik een fake xml kan aanbieden.
hehe ja ik snap wat je bedoeltquote:Op woensdag 10 mei 2006 17:33 schreef JeRa het volgende:
[..]
WebsiteA.nl maakt gebruik van een MySQL-server, en als websiteB.nl hier ook toegang tot heeft kun je toch gewoon SQL-queries uitvoeren waarmee je de data ophaalt? Het is niet zo alsof je gebruikers zomaar je queries kunnen aanpassen, of je doet iets gruwelijks fout.
Ik gewoon testen tegen de test-omgeving van de bank.quote:Op woensdag 10 mei 2006 23:56 schreef JeRa het volgende:
[..]
Als dat om zo'n overschrijvings-XML gaat (van de bank) lijkt het me verstandig om een manier te vinden om héél veel te testen met fake XML'sze worden neem ik aan via een HTTP-POST gestuurd? Kun je die niet nabootsen door een tweede scriptje te schrijven dat via een socket stream wat data stuurt (en eventueel wil ik hier nog wel een voorbeeldje plaatsen)?
Je hoeft natuurlijk siteB geen toegang te geven tot een remote databaseserver. Je kunt op siteA prima een API draaien waar je gebruik van maakt. En tadaa, je eigen Identity Management / Single Sign-On is geborenquote:Op donderdag 11 mei 2006 11:53 schreef Desdinova het volgende:
[..]
hehe ja ik snap wat je bedoelt
maar het punt is dus, die toegang tot de database vanaf websiteB.nl moet beperkt zijn tot alleen het verkrijgen van de gegevens die horen bij de opgegeven gegevens. 1 rij dus.
maar ik heb al n ideetje, even kijken of dat lukt.
Dat is wel heel tof, dat ze een testomgeving aanbieden. Welke bank / betalingssysteem was dat ook alweer?quote:Op donderdag 11 mei 2006 12:30 schreef Swetsenegger het volgende:
[..]
Ik gewoon testen tegen de test-omgeving van de bank.
Nadat de eerste integratietesten geslaagd zijn, mag je WEL het test systeem misbruiken voor je eigen tests en dat werkt goed.
En hoe moet siteB gebruik maken van die API? Lijkt me dat dat alsnog via authenticatie of een secure socket layer moet gebeurenquote:Op donderdag 11 mei 2006 15:16 schreef CraZaay het volgende:
[..]
Je hoeft natuurlijk siteB geen toegang te geven tot een remote databaseserver. Je kunt op siteA prima een API draaien waar je gebruik van maakt. En tadaa, je eigen Identity Management / Single Sign-On is geboren![]()
iDEAL een samenwerking van Rabo, ABN, ING, Postbank en Fortis. Je betaalt gewoon met je internet bankier omgeving.quote:Op donderdag 11 mei 2006 15:38 schreef JeRa het volgende:
[..]
Dat is wel heel tof, dat ze een testomgeving aanbieden. Welke bank / betalingssysteem was dat ook alweer?
eerhm raar vraagje maar heb je je database gestart?quote:Op donderdag 11 mei 2006 10:39 schreef big_al het volgende:
Ik wil graag een FAQ-tool lokaal draaien. Ik heb hiervoor een php script http://www.phpmyfaq.de/ en heb wamp geinstalleerd (standaard). De database bij dit script zou die zelf moeten genereren. Maar als ik het script wil installeren krijg ik de volgende foutmelding:
“The connection to the sqlite server could not be established”
Mis ik nou instellingen die gedaan moeten worden in wamp, phpadmin, sqlitemanager of in een script zelf nog?
Btw ik ben een complete n00b met een webserver opzetten.
Alvast bedankt.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class WTF extends mysqli { function query($query) { $parent::query($query); } } $wtf = new WTF(); $wtf->query('wtf'); ?> |
1 2 3 4 | Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /opt/users/jelle/wtf.php on line 6 |
Uiteraard, maar je hoeft geen databaseserver open te zetten voor de buitenwereld. Het is wat generieker zo iig.quote:Op donderdag 11 mei 2006 15:39 schreef JeRa het volgende:
[..]
En hoe moet siteB gebruik maken van die API? Lijkt me dat dat alsnog via authenticatie of een secure socket layer moet gebeuren
Maar je moet wel een API openzetten voor de buitenwereldquote:Op donderdag 11 mei 2006 19:57 schreef CraZaay het volgende:
[..]
Uiteraard, maar je hoeft geen databaseserver open te zetten voor de buitenwereld. Het is wat generieker zo iig.
Zoals ik al zei, het is generieker. Voor twee websites die PHP draaien is het niet aan de orde, maar een API welke gebruik maakt van een XML (e.d.) formaat kan makkelijker voor andere media ingezet worden naast de media die direct verbinding (kunnen) maken met een MySQL-server.quote:Op donderdag 11 mei 2006 20:03 schreef JeRa het volgende:
[..]
Maar je moet wel een API openzetten voor de buitenwereldwaarom niet een MySQL-verbinding via SSL? Dan heb je die extra performanceverlies via de API ook niet meer. Je kunt in MySQL zelfs aangeven dat één bepaalde user vanaf één aangegeven IP-adres of hostadres kan inloggen, dus dat zit wel snor.
Je hebt helemaal gelijk, heb ik overheen gelezenquote:Op donderdag 11 mei 2006 21:24 schreef CraZaay het volgende:
[..]
Zoals ik al zei, het is generieker. Voor twee websites die PHP draaien is het niet aan de orde, maar een API welke gebruik maakt van een XML (e.d.) formaat kan makkelijker voor andere media ingezet worden naast de media die direct verbinding (kunnen) maken met een MySQL-server.
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | <head> <title>Google live search</title> <style> #targetDiv { background-color: #FFEEAA; width: 40%; } </style> <script language = "javascript"> var XMLHttpRequestObject = false; if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } function getData(dataSource) { if(XMLHttpRequestObject) { XMLHttpRequestObject.open("GET", dataSource); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { eval(XMLHttpRequestObject.responseText); } } XMLHttpRequestObject.send(null); } } function getSuggest(keyEvent) { keyEvent = (keyEvent) ? keyEvent: window.event; input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement; if (keyEvent.type == "keyup") { if (input.value) { getData("google.php?qu=" + input.value); } else { var targetDiv = document.getElementById("targetDiv"); targetDiv.innerHTML = "<div></div>"; } } } function sendRPCDone(unusedVariable, searchTerm, arrayTerm, arrayResults, unusedArray) { var data = "<table>"; var loopIndex; if (arrayResults.length != 0) { for (var loopIndex = 0; loopIndex < arrayResults.length; loopIndex++) { data += "<tr><td>" + "<a href='http://www.google.com/search?q=" + arrayTerm[loopIndex] + "'>" + arrayTerm[loopIndex] + '</a></td><td>' + arrayResults[loopIndex] + "</td></tr>"; } } data += "</table>"; var targetDiv = document.getElementById("targetDiv"); targetDiv.innerHTML = data; } </script> </head> <body> <H1>Google live search</H1> Search for <input id = "textField" type = "text" name = "textField" onkeyup = "getSuggest(event)"> <div id = "targetDiv"><div></div></div> </body> </html> |
1 2 3 4 5 6 7 8 9 | $handle = fopen("http://www.google.com/complete/search?hl=en&js=true&qu=" . $_GET["qu"], "r"); while (!feof($handle)){ $text = fgets($handle); echo $text; } fclose($handle); ?> |
Denk het niet. Moet er een database gemaakt worden als het script die zelf aanmaakt, of zou z'n script alleen de tabellen en velden maken?quote:Op donderdag 11 mei 2006 17:05 schreef the_jasper het volgende:
[..]
eerhm raar vraagje maar heb je je database gestart?
ik gebruik trouwens xampp de opvolger van wampp
tis heel makkelijk en je download het als kant en klaar pakket
met een launcher kan je vervolgens alles starten en stoppen
ff googlen op xampp als je dat wilt![]()
Ergens in het script zit een bestandje install.php Of iets dergelijks. Daarion stel je de database gegevens in.quote:Op vrijdag 12 mei 2006 09:20 schreef big_al het volgende:
[..]
Denk het niet. Moet er een database gemaakt worden als het script die zelf aanmaakt, of zou z'n script alleen de tabellen en velden maken?
Owja en als ik z'n databse met phpmyadmin aanmaak, waar zet die hem dan neer zodat ik in het installatiescript ernaar kan verwijzen?
Alvast bedankt.
Ja dat snap ik. Ik heb nu een database aangemaakt met phpmyadmin. Maar waar zet phpmyadmin die neer, zodat ik in het installatiescript daarna kan verwijzen.quote:Op vrijdag 12 mei 2006 13:00 schreef beerten het volgende:
[..]
Ergens in het script zit een bestandje install.php Of iets dergelijks. Daarion stel je de database gegevens in.
Met phpMyAdmin maak je een database. De database naam, inlognaam en wachtwoord geef je op in het install bestandje. Dat maakt de benodigde tabellen aan, niet de database zelf.
Er zit vast en zeker een readme bij, daar staat in hoe je het moet installeren. lees die eens door. heb je dan vragen, stel ze dan weer hier.
Huh? Ik snap van jouw probleem helemaal niets...quote:Op vrijdag 12 mei 2006 13:53 schreef big_al het volgende:
[..]
Ja dat snap ik. Ik heb nu een database aangemaakt met phpmyadmin. Maar waar zet phpmyadmin die neer, zodat ik in het installatiescript daarna kan verwijzen.
1 2 3 | $login = "loginnaam"; $pass = "wachtwoord"; |
1 2 3 4 5 6 7 | $db = mysql_connect("localhost", "inlognaam", wachtwoord") or die("Could not connect."); if(!$db) die("no db"); if(!mysql_select_db("databasenaam",$db)) die("No database selected."); ?> |
Hmm ik ben erachter waarom de query niet loopt zoals verwacht.quote:Op woensdag 10 mei 2006 22:55 schreef mooya het volgende:
Ik wil mijn zoekfunctie verbeteren door de FULL TEXT zoekfunctie..
Maar ik loop tegen een aantal vreemde resultaten aan:
Ik heb een tabel Documents waarvan de titel en inhoud FULL TEXT zijn.
Als ik de volgende query doe krijg ik niets:
[ code verwijderd ]
Maar als ik deze query heb krijg ik wel resultaten:
[ code verwijderd ]
Dus als ik zoek op 'script' krijg ik niet en met 'javascript' wel.. Hoe kan ik dit aanpassen?
En deze query loopt ook niet zoals verwacht:
[ code verwijderd ]
Ik krijg bij de resultaten documenten waarin het woord PHP helemaal niet staat (??) en de kolom PERCENT is overal 1.
Hoe kan dit? Of wat doe ik fout?
Bekijk deze pagina eensquote:Op zondag 14 mei 2006 02:05 schreef beerten het volgende:
Ik heb een array met getallen. Die wil ik graag opsplitsen per character en in een array stoppen.
Stel ik heb de string $upper = "6352781";
Ik wil hiervan een array maken.
$upper= array(6,3,5,2,7,8,1);
Dit kan niet met explode, er is geen scheidingsteken(tussen de characters). Nu zou ik het ook via een soort van loop kunnen doen, en dan met substr() en een teller character voor character in een array stoppen. Maar dit moet anders kunnen. Welke functie kan dit? Hoe flik ik 'm dit?
1 2 3 4 5 6 7 8 9 10 | $str = '1234'; $arr = array(); $len = strlen($str); for ($i = 0; $i < $len; $i++) { $arr[] = intval($str{$i}); } ?> |
quote:Op zondag 14 mei 2006 02:09 schreef JeRa het volgende:
[..]
Bekijk deze pagina eenswel PHP5 only.
Een andere methode is idd de string aflopen zoals dit:
[ code verwijderd ]
Dat kun je beter met Javascript oplossen:quote:Op zondag 14 mei 2006 19:21 schreef wobbel het volgende:
Ik kan redelijk PHPen maar ik weet niet hoe ik moet beginnen bij het volgende:
Ik wil een plattegrond maken (1 jpeg als achtergrond) en daarop kan iedereen een locatie kiezen (dmv. een <map>/<area>). Hetzelfde systeem dus als http://tent75.nl/index/map/
Maargoed....hoe zorg ik ervoor dat als ik ergens op het plaatje klik mijn positie wordt vastgelegd en wordt opgeslagen in de MySQL DB?
http://www.w3.org/TR/html401/interact/forms.html#h-17.4.1quote:Op zondag 14 mei 2006 19:47 schreef wobbel het volgende:
Ik kan elke pixel wel een eigen area geven, maar bij 50.000 pixels zal de gemiddelde browser zo'n beetje crashen denk ik
Hee, dat is nog makkelijkerquote:Op zondag 14 mei 2006 23:12 schreef the_disheaver het volgende:
[..]
http://www.w3.org/TR/html401/interact/forms.html#h-17.4.1
En onder 'image'.
Het zou de coordinaten door moeten zenden van de plaats waar geklikt is.
En daar kun je vervolgens iest mee php'en
Hij werkt eindelijkquote:Op vrijdag 12 mei 2006 15:54 schreef beerten het volgende:
[..]
Huh? Ik snap van jouw probleem helemaal niets...
Post het stukje installatiescript eens waar je de gegevens in moet vullen.
Ik neem aan dat je databaseserver en de webserver op dezelfde computer staan? Dan is de locatie "localhost" je krijgt zoiets als onderstaand stukkie code.
Of zoiets als
[ code verwijderd ]
[ code verwijderd ]
Volgens mij werkt dat niet in FireFox, die geeft alleen de naam en value van het input field mee, en niet de x en y lokatie waar geklikt is.quote:Op zondag 14 mei 2006 23:12 schreef the_disheaver het volgende:
[..]
http://www.w3.org/TR/html401/interact/forms.html#h-17.4.1
En onder 'image'.
Het zou de coordinaten door moeten zenden van de plaats waar geklikt is.
En daar kun je vervolgens iest mee php'en
1 2 3 4 5 6 7 8 9 10 11 12 13 | for ($i = 1; $i <= imap_num_msg($mbox); $i++){ $header = imap_headerinfo($mbox, $i, 80, 80); $mailinfo = mail_array($header); //**knip** if(!imap_status($mbox, $parsedir, SA_ALL)){ //kijken of de mailbox INBOX.parsed bestaat imap_createmailbox($mbox, imap_utf7_encode($parsedir)); //zoniet dan aanmaken } imap_mail_move($mbox, $i, 'INBOX.parsed'); //klopt dit wel? } ?> |
1 2 3 | VALUES ($naam, $buurt, $bericht)"; mysql_query($sql)or die ("fout"); |
Welke foutmedling?quote:Op maandag 15 mei 2006 18:53 schreef timbastiaansen het volgende:
[ code verwijderd ]
Ziet hier iemand een fout in, ik krijg iig wel een foutmelding![]()
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |