PDO lijkt heel interessant, maar zijn er veel hosters die het ondersteunen?quote:Op woensdag 2 april 2008 00:52 schreef SuperRembo het volgende:
Het grootste voordeel van PDO is wat mij betreft dat je geparameteriseerde query's kunt gebruiken. Daarmee vermijd je het gevaar van sql injection. Je hebt dan dus geen last meer van problemen zoals die van qu63. Ik vind geparameteriseerde query's meestal beter leesbaar dan query's met telkens mysql_escape_string() er tussen.
Verder sluit 't ook beter aan bij hoe ik query's bouw in .NET, waar ik dagelijks mee werk.
In PHP 5 kun je een __autoload() functie definiėren die automatisch de benodigde files kan includen op het moment dat je een bepaalde class gebruikt.quote:Op vrijdag 4 april 2008 18:57 schreef mausie het volgende:
Verder emmer ik over of ik gewoon een loader.php moet maken die meteen alles aanmaakt, maargoed dan worden dus op elke pagina alle classes ingeladen terwijl ik ze soms niet eens nodig heb. Maar dat maakt wel weer veel kortere code in bijv. index.php, home.php
Of het er veel zijn weet ik niet, maar Ik ben onlangs overgestapt naar een andere hoster die PHP 5 draaitquote:Op vrijdag 4 april 2008 19:34 schreef Light het volgende:
PDO lijkt heel interessant, maar zijn er veel hosters die het ondersteunen?
Volgens mij is PHP5 geen garantie dat PDO wordt ondersteund. Helaas.quote:Op vrijdag 4 april 2008 21:02 schreef SuperRembo het volgende:
Of het er veel zijn weet ik niet, maar Ik ben onlangs overgestapt naar een andere hoster die PHP 5 draait
offtopicquote:Op vrijdag 4 april 2008 18:57 schreef mausie het volgende:
verhaaltje
1 2 3 4 5 6 7 8 9 10 | $to = 'qu63@qu63.com'; $subject = 'Test-bericht'; $message = 'Dit is een test-bericht'; $headers = 'From: Test-user <iBus@ahrenstravel.nl>' . "\r\n" . 'Reply-To: iBus@ahrenstravel.nl' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); ?> |
Mogelijk door het minteken, ik heb wat RFCs doorgelezen maar kom er niet echt achter waarom het niet werkt. Probeer dit eens:quote:Op zaterdag 5 april 2008 13:53 schreef qu63 het volgende:
[ code verwijderd ]
geeft een foutmelding:
Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in mail.php on line 11
Ik weet dat de fout zit in regel 5, nl "Test-user <iBus@ahrenstravel.nl>", als ik het doe zoals in regel 6 werkt het wel. Wat doe ik fout in regel57?
1 |
nope, zelfde melding.quote:Op zaterdag 5 april 2008 14:00 schreef JeRa het volgende:
[..]
Mogelijk door het minteken, ik heb wat RFCs doorgelezen maar kom er niet echt achter waarom het niet werkt. Probeer dit eens:
[ code verwijderd ]
Werkt het zo wel?quote:Op zaterdag 5 april 2008 13:53 schreef qu63 het volgende:
[ code verwijderd ]
geeft een foutmelding:
Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in mail.php on line 11
Ik weet dat de fout zit in regel 5, nl "Test-user <iBus@ahrenstravel.nl>", als ik het doe zoals in regel 6 werkt het wel. Wat doe ik fout in regel57?
1 2 3 4 5 6 7 8 9 10 11 12 | $to = 'qu63@qu63.com'; $subject = 'Test-bericht'; $message = 'Dit is een test-bericht'; $from = 'From: Test-user <iBus@ahrenstravel.nl>\r\n'; $reply = 'Reply-To: iBus@ahrenstravel.nl\r\n' $params = 'X-Mailer: PHP/' . phpversion(); $headers = $from.$reply.$params; mail($to, $subject, $message, $headers); ?> |
1 2 3 | 'From: Test-user <iBus@ahrenstravel.nl>' . "\r\n" ?> |
1 2 3 | 'From: Test-user <iBus@ahrenstravel.nl>\r\n' ?> |
Ik heb het direct over genomen van http://nl2.php.net/manual/en/function.mail.php (example #2),quote:Op zaterdag 5 april 2008 14:56 schreef Tarabass het volgende:
[..]
Werkt het zo wel?
[ code verwijderd ]
Bovendien begrijp ik niet waarom je achter het mailadres de string breekt met een punt om vervolgens de string gelijk weer te vervolgen met een \r\n en een " ipv een '.
[ code verwijderd ]
zou zo moeten:
[ code verwijderd ]
Je zou tijdelijk PHPMailer kunnen proberen om te kijken of het probleem 'm in het adres ligt of bij de serverquote:Op zaterdag 5 april 2008 15:05 schreef qu63 het volgende:
[..]
Ik heb het direct over genomen van http://nl2.php.net/manual/en/function.mail.php (example #2),
En helaas werkt jouw code ook niet, in eerste instantie omdat er een ; miste, maar daarna kreeg ik weer een server response: 501 5.5.4 Invalid Address terug
ik kopieėr het letterlijk van de php.net site. Het probleem zal dus aan mijn server liggen, gok ik.quote:Op zaterdag 5 april 2008 15:09 schreef JeRa het volgende:
[..]
Je zou tijdelijk PHPMailer kunnen proberen om te kijken of het probleem 'm in het adres ligt of bij de server?
jup, geupload naar een andere server en daar werkt het wel.quote:Op zaterdag 5 april 2008 15:18 schreef qu63 het volgende:
[..]
ik kopieėr het letterlijk van de php.net site. Het probleem zal dus aan mijn server liggen, gok ik.
1 2 3 4 | //Resultaat http://www.mijnwebsite.nl/tarabass/1/ |
Ehm, ja en nee eigenlijkquote:Op zaterdag 5 april 2008 16:26 schreef Tarabass het volgende:
Dat we niet zagen waar het aan lag is dus niet gek te noemenMooi dat het iig werkt op die andere server, dan weet je wat je te doen staat
mod_rewrite =)quote:Op zaterdag 5 april 2008 16:26 schreef Tarabass het volgende:
Dat die escapes niet werkte met enkele quote's wist ik niet, heb het inderdaad in mijn classe met dubbele quote's staan. Weer wat geleerd
@qu63
Dat we niet zagen waar het aan lag is dus niet gek te noemenMooi dat het iig werkt op die andere server, dan weet je wat je te doen staat
Ik heb trouwens ook een vraagje. Ik geef nu variables mee in de url, maar ik wil dat het dus in de browser gezien wordt als folders. Voorbeeldje:
[ code verwijderd ]
Thx! Het was hier al eens voorbij gekomen volgens mij maar was het alweer kwijt. Ga me maar eens inlezenquote:
Als je echt met submappen wilt werken dan kun je dit oplossen met de volgende HTML-tag in je <head>-sectie:quote:Op maandag 7 april 2008 12:54 schreef thatsme het volgende:
Ik heb een probleem
Ik heb mijn pagina opgebouwd en doormiddel van een header en een footer wordt de pagina in de juiste layout gezet.
In de header staat ook een verwijzing naar een stylesheet (relatief). In de root is het in het script:
include("header.php)
in een submap
include("../header.php)
het probleem is dat dat de header "denkt" dat die in die submap staat waardoor deze de stylesheet niet meer kan vinden. Is er een manier om de header te includen zonder dat ik de url naar de stylesheet "vast" moet zetten met de complete url?
1 |
Waarom zou je dat in hemelsnaam niet willen? een makkelijkere manier is er niet.quote:Op maandag 7 april 200812:54 schreef thatsme het volgende:
Is er een manier om de header te includen zonder dat ik de url naar de stylesheet "vast" moet zetten met de complete url?
Weet wel dat slecht gebouwde bots die tag compleet negeren of slecht intrepetreren en gaan loopen als je pech hebt. Is iig iets om in je achterhoofd te houdenquote:Op maandag 7 april 2008 14:09 schreef JeRa het volgende:
[..]
Als je echt met submappen wilt werken dan kun je dit oplossen met de volgende HTML-tag in je <head>-sectie:
[ code verwijderd ]
Alle relatieve locaties (zoals die naar je CSS-bestanden en al je relatieve hyperlinks) zullen zich nu baseren op die base locatie
Moet er nog een keer detectie voor gaan schrijven. Had er laatst een die had er 2.5GB in een uurtje of 8 door heen geschotenquote:Op maandag 7 april 2008 16:52 schreef slacker_nl het volgende:
Hoezo zou die bot gaan loopen dan? owja, slecht geschreven bots
Dus als ik op jouw site zoek op "http://" dan ben ik meteen gebanned?quote:Op maandag 7 april 2008 18:09 schreef WyriHaximus het volgende:
[..]
Zelf ban ik alles wat http:// ergens na de host bit in de URL heeft.
Gebruik je mail-adres eens van Planet als afzender.quote:Op zaterdag 5 april 2008 16:31 schreef qu63 het volgende:
[..]
Ehm, ja en nee eigenlijk
Ik weet dat het dus aan mijn pc ligt, maar geen idee aan welke instellingen e.d., of dat het mn provider (Planet) is die het niet accepteerd
Zolang het in de URL staat wel. Draait al een half jaar en nog nooit false positives gehad, hou het nog steeds wel in de gaten. Het begon op een gegeven moment op te vallen dat er zeker 20 van dat soort aanvallen per dag waren. Heb toen maar stukje code gemaakt wat de reuqest uri checkt of er z'n soort aanval in zit of niet en IP ban als er zon aanval in zit.quote:Op maandag 7 april 2008 20:32 schreef SuperRembo het volgende:
[..]
Dus als ik op jouw site zoek op "http://" dan ben ik meteen gebanned?
Ik heb er zelf (nog) geen last van gehad, zoveel bezoekers krijg ik ook niet. Het valt me wel op dat sommige bots idioot vaak langs komen, vooral BaiduBot en Yahoo!Slurp.
he, das een goeie, maar ik kan vanaf huis ook met andere mailadressen mailen (maar die gebruiken dan wel een andere smtp-host idd..)quote:Op maandag 7 april 2008 20:47 schreef saban het volgende:
[..]
Gebruik je mail-adres eens van Planet als afzender.
dat was het probleem dus nietquote:Op maandag 7 april 2008 21:53 schreef qu63 het volgende:
[..]
he, das een goeie, maar ik kan vanaf huis ook met andere mailadressen mailen (maar die gebruiken dan wel een andere smtp-host idd..)
ff proberen!
Een float neemt minder geheugen/schijfruimte in en is qua berekeningen sneller.quote:Op dinsdag 8 april 2008 08:26 schreef ursel het volgende:
Kan iemand mij eigenlijk vertellen wat het daadwerkelijke verschil is tussen FLOAT en DECIMAL in MySQL?
Merk bijv. dat FLOAT getallen ver achter de komma wil veranderen. Dus als ik 6.2 opsla terwijl de FLOAT (22,10) is, dan maakt hij er 6.1999999980 van ofzoiets. Maar vaak niet exact. DECIMAL doet dat wel. Maar wat is dan het nut van het gebruik van FLOAT?
Ok, maar waarom slaat hij de waardes zo raar op dan?quote:Op dinsdag 8 april 2008 09:08 schreef JeRa het volgende:
[..]
Een float neemt minder geheugen/schijfruimte in en is qua berekeningen sneller.
Float waardes worden vaak als 32-bits of 64-bits (ik geloof zo in MySQL) getallen opgeslagen. In plaats van alle cijfers naar binaire codes om te zetten wordt er een wiskundige formule toegepast en de parameters van die formule worden opgeslagen. Door die formule wordt het mogelijk om een belachelijk groot getalbereik te specificeren, maar doordat je maar 64 bits hebt kun je niet élk mogelijk getal vastleggen. Dan wordt het meest dichtstbijzijnde getal gekozen, en dat zorgt voor rare resultaten zoals 9,99999997.quote:Op dinsdag 8 april 2008 09:12 schreef ursel het volgende:
[..]
Ok, maar waarom slaat hij de waardes zo raar op dan?
Ja, absoluut. Een DECIMAL kent geen verlies van data, voor zover je de precisie hebt gespecificeerd. Op het moment dat je 4 getallen achter de komma nodig hebt en je hebt je DECIMAL gespecificeerd als 2 getallen achter de komma, dan raak je alsnog gegevens kwijt. Maar deze nieuwe getallen zijn wél accuraat en hier kun je ook gewoon mee verder rekenen.quote:Aangezien de nauwkeurigheid belangrijker is dan performance zullen we denk ik wel een switch gaan maken.
Is dit verschil zo groot dan eigenlijk?
Okido. Verhelderend. Gaat in dit geval inderdaad om een financiėle toepassing..quote:Op dinsdag 8 april 2008 09:17 schreef JeRa het volgende:
[..]
Float waardes worden vaak als 32-bits of 64-bits (ik geloof zo in MySQL) getallen opgeslagen. In plaats van alle cijfers naar binaire codes om te zetten wordt er een wiskundige formule toegepast en de parameters van die formule worden opgeslagen. Door die formule wordt het mogelijk om een belachelijk groot getalbereik te specificeren, maar doordat je maar 64 bits hebt kun je niet élk mogelijk getal vastleggen. Dan wordt het meest dichtstbijzijnde getal gekozen, en dat zorgt voor rare resultaten zoals 9,99999997.
[..]
Ja, absoluut. Een DECIMAL kent geen verlies van data, voor zover je de precisie hebt gespecificeerd. Op het moment dat je 4 getallen achter de komma nodig hebt en je hebt je DECIMAL gespecificeerd als 2 getallen achter de komma, dan raak je alsnog gegevens kwijt. Maar deze nieuwe getallen zijn wél accuraat en hier kun je ook gewoon mee verder rekenen.
Voor dingen zoals financiėle toepassingen wil je absoluut DECIMALs gebruiken, je kunt je het niet veroorloven om opeens centen te laten verdwijnen
Weet jij wat je tegen die loopende bots kan doen? Ik word d'r helemaal gestoord van namelijk, vooral omdat ik mezelf een mail stuur bij een 404quote:Op maandag 7 april 2008 18:09 schreef WyriHaximus het volgende:
Moet er nog een keer detectie voor gaan schrijven. Had er laatst een die had er 2.5GB in een uurtje of 8 door heen geschoten. Nu we toch in dit straat je zitten, hebben jullie veel last van dit soort shit (loopende botjes, remote file inclusions, sql injections) en zo ja wat doen jullie er tegen? Zelf ban ik alles wat http:// ergens na de host bit in de URL heeft.
Omdat dat lokaal de site niet meer naar behoren draait.quote:Op maandag 7 april 2008 15:11 schreef mcDavid het volgende:
[..]
Waarom zou je dat in hemelsnaam niet willen? een makkelijkere manier is er niet.
quote:Op dinsdag 8 april 2008 09:25 schreef Xcalibur het volgende:
[..]
Weet jij wat je tegen die loopende bots kan doen? Ik word d'r helemaal gestoord van namelijk, vooral omdat ik mezelf een mail stuur bij een 404.... andere problemen heb ik niet zover ik weet, maar die loopende bots zijn vervelend....
1 |
Floats en decimals worden allebei binair opgeslagen, het enige verschil is eigenlijk dat bij een decimal de positie van de komma vast is, en bij een float variabel (drijvend/floating). Een decimal heeft een vast aantal decimalen, een float heeft een vast aantal significante cijfers.quote:Op dinsdag 8 april 2008 09:17 schreef JeRa het volgende:
[..]
Float waardes worden vaak als 32-bits of 64-bits (ik geloof zo in MySQL) getallen opgeslagen. In plaats van alle cijfers naar binaire codes om te zetten wordt er een wiskundige formule toegepast en de parameters van die formule worden opgeslagen. Door die formule wordt het mogelijk om een belachelijk groot getalbereik te specificeren, maar doordat je maar 64 bits hebt kun je niet élk mogelijk getal vastleggen. Dan wordt het meest dichtstbijzijnde getal gekozen, en dat zorgt voor rare resultaten zoals 9,99999997.
[..]
1 2 3 4 | $q = "UPDATE rit SET (user1, user2, van_datum, naar_datum, vertrek, aankomst, km, prijs, pax, opmerkingen) VALUES ( 'TESTUSER', '', '1206710100', '1206710100', 'Bussum', 'Naarden', '15', '250', '12', 'dus' ) WHERE rit_id = 7"; mysql_query($q); ?> |
Op het eerste gezicht zou je dat wel zeggen. Echter wordt een float opgeslagen als een IEEE 754-1985 floating point, terwijl een decimal de exacte getallen opslaat. Dat is ook de reden waarom de opslagvereisten voor een float neerkomen op 4 danwel 8 bytes (afhankelijk van de vereiste precisie) en een decimal afhankelijk van de grootte van de precisieparameters veel groter kan zijn. Zie ook deze paginaquote:Op dinsdag 8 april 2008 13:44 schreef SuperRembo het volgende:
[..]
Floats en decimals worden allebei binair opgeslagen, het enige verschil is eigenlijk dat bij een decimal de positie van de komma vast is, en bij een float variabel (drijvend/floating). Een decimal heeft een vast aantal decimalen, een float heeft een vast aantal significante cijfers.
Je combineert de insert en de update.quote:Op dinsdag 8 april 2008 16:07 schreef qu63 het volgende:
Wat klopt er niet aan deze query?
[ code verwijderd ]
1 2 3 | $sql = "UPDATE tabelnaam SET kolom1='waarde1', kolom2='waarde2' WHERE kolom3='waarde3'" ?> |
quote:Op dinsdag 8 april 2008 16:07 schreef qu63 het volgende:
Wat klopt er niet aan deze query?
[ code verwijderd ]
1 2 3 4 | $q = "UPDATE rit SET user1 = 'TESTUSER', user2 = '', van_datum = '1206710100', naar_datum = '1206710100', vertrek = 'Bussum', aankomst = 'Naarden', km = 15, prijs = 250, pax = 12, opmerkingen = 'dus' WHERE rit_id = 7"; mysql_query($q); ?> |
thanks!quote:Op dinsdag 8 april 2008 16:18 schreef ursel het volgende:
[..]
Je combineert de insert en de update.
Update moet als het ware zo:
[ code verwijderd ]
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 | if(isset($_GET['editid']) and isset($_POST['submit']) and $_POST['submit'] == "ok"); { $user1 = mysql_real_escape_string($_POST['user1']); $user2 = mysql_real_escape_string($_POST['user2']); $van_datum = strtotime(mysql_real_escape_string($_POST['van_datum'])); $naar_datum = strtotime(mysql_real_escape_string($_POST['naar_datum'])); $vertrek = mysql_real_escape_string($_POST['vertrek']); $aankomst = mysql_real_escape_string($_POST['aankomst']); $km = mysql_real_escape_string($_POST['km']); $prijs = mysql_real_escape_string($_POST['prijs']); $pax = mysql_real_escape_string($_POST['pax']); $opmerkingen = mysql_real_escape_string($_POST['opmerkingen']); $q = "UPDATE rit SET user1 = '".$user1."', user2 = '".$user2."', van_datum = '".$van_datum."', naar_datum = '".$naar_datum."', vertrek = '".$vertrek."', aankomst = '".$aankomst."', km = '".$km."', prijs = '".$prijs."', pax = '".$pax."', opmerkingen = '".$opmerkingen."' WHERE rit_id = ".$_GET['editid'].""; if(mysql_query($q)) { echo $q; $succes = true; } else { echo $q; } } ?> |
Idd, fixed point is exact. Ik was uit gegaan van de manier waarop MSSql z'n decimals opslaat, maar sinds versie 5 gebruikt MySQL ook voor decimals een binair formaat. Alleen vreemd dat de decimalen (het deel achter de komma) blijkbaar apart wordt opgeslagen, in MSSql wordt 1 getal opgeslagen + de positie van de komma.quote:Op dinsdag 8 april 2008 16:12 schreef JeRa het volgende:
[..]
Op het eerste gezicht zou je dat wel zeggen. Echter wordt een float opgeslagen als een IEEE 754-1985 floating point, terwijl een decimal de exacte getallen opslaat. Dat is ook de reden waarom de opslagvereisten voor een float neerkomen op 4 danwel 8 bytes (afhankelijk van de vereiste precisie) en een decimal afhankelijk van de grootte van de precisieparameters veel groter kan zijn. Zie ook deze pagina
Zoiezo de ; na je if weghalen.quote:Op dinsdag 8 april 2008 16:42 schreef qu63 het volgende:
op de een of andere manier werkt dit niet:
[ code verwijderd ]
Hij voert het gewoon uit, ook al is de $_POST leeg :{
waardoor nu rit_id 7 helemaal leeg is :')
iemand een tip over hoe dit beter kan en/of waar de fout zit?
1 2 3 4 5 6 7 8 9 10 | $_GET = array ("editid" => 1); $_POST = array ("submit" => 'ok'); if(isset($_GET['editid']) and isset($_POST['submit']) and $_POST['submit'] == "ok") { print_r($_POST); // Waarom check je de rest van $_POST niet? } ?> |
RewriteRule ^/(.*)/$ http://blabla.nl/index.php?page=$1quote:Op dinsdag 8 april 200817:52 schreef GioStyle het volgende:
Met .htaccess kan je urls herschrijven, alleen ik kom er niet helemaal uit.
Voorbeeld:
Ik heb nu een link: http://blabla.nl/index.php?page=contact
Ik zou het mooier vinden als bovenstaande link als volgt wordt weergegeven: http://blabla.nl/contact
Hoe zet ik dit in .htacces?
Ik heb het nu wat niet werkt:
RewriteEngine On
Hmm.. ik moet nog veel leren zo te zien haha..
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |