abonnement Unibet Coolblue Bitvavo
pi_46764744
quote:
Op woensdag 28 februari 2007 10:34 schreef JeRa het volgende:

[..]

gethostbyaddr(). Oftewel, een simpele reverse DNS lookup.

Doe maar eens dit
[ code verwijderd ]

[..]

Wat mag er niet gebruikt worden en waarom is het niet netjes?
aha oke...

het mag opzich wel (die domeinnaam) echter vind ik het niet netjes staan, en klopt hij ook niet (ik krijg a62-251-83-181.adsl.xs4all.nl terug)
en er is ook een "normale" domeinnaam aangekoppeld, home.mschol.eu, en die heb ik liever, echter kan ik er wel mee leven als dat niet werkt
pi_46764844
quote:
Op woensdag 28 februari 2007 10:46 schreef mschol het volgende:

[..]

aha oke...

het mag opzich wel (die domeinnaam) echter vind ik het niet netjes staan, en klopt hij ook niet (ik krijg a62-251-83-181.adsl.xs4all.nl terug)
Dat daar iets anders wordt gevonden dan bij jou thuis komt waarschijnlijk doordat je misschien laatst bent overgestapt? Het duurt altijd even voordat DNS-servers helemaal up-to-date zijn
quote:
en er is ook een "normale" domeinnaam aangekoppeld, home.mschol.eu, en die heb ik liever, echter kan ik er wel mee leven als dat niet werkt
Jouw domeinnaam -> IP-adres translatie vind plaats door een DNS-request, maar voor een reverse DNS-request wordt de 'beheerder' van jouw IP-adres geraadpleegd en dat is jouw provider, gegeven dat je je domeinnaam naar jouw ISP IP-adres laat verwijzen meer info.
pi_46764958
quote:
Op woensdag 28 februari 2007 10:50 schreef JeRa het volgende:

[..]

Dat daar iets anders wordt gevonden dan bij jou thuis komt waarschijnlijk doordat je misschien laatst bent overgestapt? Het duurt altijd even voordat DNS-servers helemaal up-to-date zijn
dit is overstappen is al ruim een half jaar geleden gebeurd.
quote:
Jouw domeinnaam -> IP-adres translatie vind plaats door een DNS-request, maar voor een reverse DNS-request wordt de 'beheerder' van jouw IP-adres geraadpleegd en dat is jouw provider, gegeven dat je je domeinnaam naar jouw ISP IP-adres laat verwijzen meer info.
aha oke.
pi_46765035
is er een mogelijkheid om het volgende te doen

ik heb een tabel met

Project + uren + maand + jaar

Ik wil een Top 3 per maand draaien per project
  woensdag 28 februari 2007 @ 11:06:13 #205
53753 BereNDD
drampo uit je raam
pi_46765193
quote:
Op woensdag 28 februari 2007 10:57 schreef morpheus_at_work het volgende:
is er een mogelijkheid om het volgende te doen

ik heb een tabel met

Project + uren + maand + jaar

Ik wil een Top 3 per maand draaien per project
Lekker duidelijk vraag, een top drie waarvan? Uren, projecten waaraan gewerkt is? Projecten die al te lang lopen?
You're crazy in the coconut..
That boy needs therapy..
pi_46766867
Kort vraagje. Ik heb een SQL select statement, een redelijk simpele. Maar, ik wil als een bepaalde boolean op 1 staat een kolom tonen in de query, en als die boolean op 0 staat wil ik de andere laten zien.
De output moet dit zijn bij een true:

Nummer|Kosten_hoog

En bij een false:
Nummer|Kosten_laag
pi_46766934
quote:
Op woensdag 28 februari 2007 11:06 schreef BereNDD het volgende:

[..]

Lekker duidelijk vraag, een top drie waarvan? Uren, projecten waaraan gewerkt is? Projecten die al te lang lopen?
Scherpe vraag

Top 3 van de projecten waarop de meeste uren geboekt zijn per maand / jaar

mysql kent geen top dus zal zoiezo bij met limit moeten
pi_46767019
quote:
Op woensdag 28 februari 2007 12:04 schreef Aibmi het volgende:
Kort vraagje. Ik heb een SQL select statement, een redelijk simpele. Maar, ik wil als een bepaalde boolean op 1 staat een kolom tonen in de query, en als die boolean op 0 staat wil ik de andere laten zien.
De output moet dit zijn bij een true:

Nummer|Kosten_hoog

En bij een false:
Nummer|Kosten_laag
Dat kun je in PHP zo doen:
1$query = 'SELECT ..., ' . (($boolean) ? 'kolomtrue'' : 'kolomfalse') . ' FROM ...';
pi_46767034
quote:
Op woensdag 28 februari 2007 12:06 schreef morpheus_at_work het volgende:

[..]

Scherpe vraag

Top 3 van de projecten waarop de meeste uren geboekt zijn per maand / jaar

mysql kent geen top dus zal zoiezo bij met limit moeten
Er is volgens mij geen standaard 'goede' manier om dat te doen, alhoewel Swetsenegger geloof ik ooit ook zo'n query nodig had dus misschien kan die nog wat tips geven.
  woensdag 28 februari 2007 @ 12:23:08 #210
53753 BereNDD
drampo uit je raam
pi_46767423
quote:
Op woensdag 28 februari 2007 12:06 schreef morpheus_at_work het volgende:

[..]

Scherpe vraag

Top 3 van de projecten waarop de meeste uren geboekt zijn per maand / jaar

mysql kent geen top dus zal zoiezo bij met limit moeten
1SELECT project,uren,maand FROM projecten ORDER BY uren DESC LIMIT 3


(of ASC voor de minste uren)

In de database moeten 'uren' dan wel een INTEGER veld wezen
You're crazy in the coconut..
That boy needs therapy..
pi_46767446
quote:
Op woensdag 28 februari 2007 12:09 schreef JeRa het volgende:

[..]

Dat kun je in PHP zo doen:
[ code verwijderd ]
Helaas zal het toch echt in een gewone query moeten Geen webpagina.
pi_46767643
Ik zit overigens te denken aan een stored procedure, die ik het unieke ID meegeef, en die dan als output het juiste getal terugvoert, omdat je in een stored procedure wel gewoon IFs kunt gebruiken. Is dat een goed idee?
pi_46767978
quote:
Op woensdag 28 februari 2007 12:23 schreef BereNDD het volgende:

[..]
[ code verwijderd ]

(of ASC voor de minste uren)

In de database moeten 'uren' dan wel een INTEGER veld wezen
Dat zou inderdaad kunnen, ik dacht dat hij een top 3 pér maand van alle projecten wilde
pi_46767990
quote:
Op woensdag 28 februari 2007 12:30 schreef Aibmi het volgende:
Ik zit overigens te denken aan een stored procedure, die ik het unieke ID meegeef, en die dan als output het juiste getal terugvoert, omdat je in een stored procedure wel gewoon IFs kunt gebruiken. Is dat een goed idee?
Het is het enige idee als je niets anders dan SQL wilt praktiseren
pi_46770860
Ik heb een tabel met de kolommen artiest en album.
In mijn query staat het gesorteerd op alfabet bij artiest, en zo wil ik het hebben.
Maar hoe kan ik binnen die artiest sorteren op alfabet op de kolom album?
  woensdag 28 februari 2007 @ 14:36:45 #216
12880 CraZaay
prettig gestoord
pi_46771958
quote:
Op woensdag 28 februari 2007 14:05 schreef super-muffin het volgende:
Ik heb een tabel met de kolommen artiest en album.
In mijn query staat het gesorteerd op alfabet bij artiest, en zo wil ik het hebben.
Maar hoe kan ik binnen die artiest sorteren op alfabet op de kolom album?
"ORDER BY artiest, album"
pi_46771984
@super-muffin
ORDER BY Artiest ASC, Album ASC of denk ik te simpel?


Ik heb ooit eens iets gezien van $var{1,2}. ik dacht eigenlijk dat het een verkapte versie van substr() was.. het valt alleen niet mee om op zoiets te zoeken, dus kan iemand mij uitleggen hoe het werkt en wat het doet?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_46772197
Nee Desdinova, ik dacht te moeilijk

Bedankt beiden
-edit;
Toch niet bedankt Het werkt niet. Ga wel even verder zoeken


-edit2:
Wat heb ik geleerd vandaag: Kijk eens goed naar de kolomnamen voor dat je zegt dat het niet werkt.
pi_46772362
quote:
Op woensdag 28 februari 2007 14:42 schreef super-muffin het volgende:
-edit;
Toch niet bedankt Het werkt niet. Ga wel even verder zoeken
Voor zover jouw vraag klopt is dat toch echt het antwoord hoor
quote:
Op woensdag 28 februari 2007 14:42 schreef super-muffin het volgende:
-edit2:
Wat heb ik geleerd vandaag: Kijk eens goed naar de kolomnamen voor dat je zegt dat het niet werkt.
Zie je wel
pi_46772426
quote:
Op woensdag 28 februari 2007 14:37 schreef Desdinova het volgende:
Ik heb ooit eens iets gezien van $var{1,2}. ik dacht eigenlijk dat het een verkapte versie van substr() was.. het valt alleen niet mee om op zoiets te zoeken, dus kan iemand mij uitleggen hoe het werkt en wat het doet?
Als je een string hebt kun je middels die curly brackets een karakter op positie x (met 0 als eerste teken) als volgt ophalen:

$string{x}

Maar aangeraden wordt om de array-like brackets te gebruiken:

$string[x]

Dat doet precies hetzelfde zie ook deze paragraaf.
pi_46772961
quote:
Op woensdag 28 februari 2007 14:49 schreef JeRa het volgende:

[..]

Als je een string hebt kun je middels die curly brackets een karakter op positie x (met 0 als eerste teken) als volgt ophalen:

$string{x}

Maar aangeraden wordt om de array-like brackets te gebruiken:

$string[x]

Dat doet precies hetzelfde zie ook deze paragraaf.
ok thanks. Ik zie niks staan in de vorm van {0,2}, behalve bij de reguliere expressie erboven ergens. maar dit zal wel een ander iets zijn.

het is dus geen verkapte versie van substr() begrijp ik.
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_46772986
quote:
Op woensdag 28 februari 2007 15:04 schreef Desdinova het volgende:

[..]

ok thanks. Ik zie niks staan in de vorm van {0,2}, behalve bij de reguliere expressie erboven ergens. maar dit zal wel een ander iets zijn.

het is dus geen verkapte versie van substr() begrijp ik.
Nee, en die vorm die jij bedoelde ($string{x,y}) bestaat niet voor zover ik weet wel in regular expressions natuurlijk.
pi_46788104
Kent iemand toevallig een database programma voor sqlite?
..///
  FOK!-Schrikkelbaas woensdag 28 februari 2007 @ 22:26:13 #224
1972 Swetsenegger
Egocentrische Narcist
pi_46789434
quote:
Op woensdag 28 februari 2007 21:56 schreef wipes66 het volgende:
Kent iemand toevallig een database programma voor sqlite?
je bedoelt een manager ofzo?
http://sourceforge.net/projects/sqlitemanager/
pi_46813628
Even een vraagje, zijn sessie´s door spambot´s ofzo uit te lezen?
  donderdag 1 maart 2007 @ 17:36:03 #226
12880 CraZaay
prettig gestoord
pi_46813878
quote:
Op donderdag 1 maart 2007 17:28 schreef super-muffin het volgende:
Even een vraagje, zijn sessie´s door spambot´s ofzo uit te lezen?
Nee. De sessie is alleen uit te lezen door je eigen scripts.
  donderdag 1 maart 2007 @ 19:52:15 #227
36568 s00z
geboren voor het geluk
pi_46818641
Ja nou kom ik weer met mijn problemen :P

Heb een hele chille MySQL query in elkaar gedraaid die nog werkt ook:

1
2
3
<?php
$sql    
= "SELECT * FROM projects LEFT JOIN clients ON (projects.client_id = clients.id ) WHERE projects.client_id = '".$_GET['klant']."' LIMIT ".$page." , 1";
?>


Maar nu...

Het gaat om de LIMIT.

Heb er een paginatie bij gemaakt (script met "prev - 1 - 2 - 3 - 4 - next") , en ik krijg bijvoorbeeld bij deze query 4 resultaten eruit, dan laat hij het eerste resultaat niet zien, maar alleen de laatste 3.
Het systeem werkt wel prima, alleen als ik dus resultaat 1 bekijk, dan krijg ik uit de query resultaat 2 te zien.
Als ik dan dus op pagina 4 kijk, krijg ik niks te zien.

Heb ook al alle variabelen geprint om te zien of het daar aan ligt, maar op de eerste pagina staat de LIMIT gewoon netjes op 1, 1.....

Iemand een idee waarom hij op pagina 1 niet gewoon netjes resultaat 1 laat zien?
pi_46818725
misschien moet je eens bij 0 beginnen met tellen
  donderdag 1 maart 2007 @ 19:59:29 #229
36568 s00z
geboren voor het geluk
pi_46818921
quote:
Op donderdag 1 maart 2007 19:54 schreef Xcalibur het volgende:
misschien moet je eens bij 0 beginnen met tellen
Heb ik ook al geprobeerd, maar toen gaf hij een error....... r r r

als ik dus zeg: LIMIT 0, 1

Dan zegt hij dat er een syntax error is, maar dan laat hij wel weer de juiste pagina zien bij pagina 1.. erg raar.
pi_46818977
quote:
Op donderdag 1 maart 2007 19:59 schreef s00z het volgende:

[..]

Heb ik ook al geprobeerd, maar toen gaf hij een error....... r r r
0,1, niet 1,0 dus
  donderdag 1 maart 2007 @ 20:04:04 #231
36568 s00z
geboren voor het geluk
pi_46819098
quote:
Op donderdag 1 maart 2007 20:00 schreef JeRa het volgende:

[..]

0,1, niet 1,0 dus
Ja, dan doet hij het helemaal niet meer
pi_46819699
quote:
SELECT * FROM `clients` LIMIT 0 , 30
volgens mijn phpMyAdmin is dit toch echt een goede query
pi_46819737
trouwens: $_GET['klant'] is nogal SQL injection gevoelig
  donderdag 1 maart 2007 @ 20:54:42 #234
36568 s00z
geboren voor het geluk
pi_46821189
quote:
Op donderdag 1 maart 2007 20:19 schreef Xcalibur het volgende:
trouwens: $_GET['klant'] is nogal SQL injection gevoelig
Ja weet ik, maar moet het eerst draaiende krijgen, daarna ga ik me wel druk maken over beveiliging...

Zoiets:
1
2
3
4
5
6
<?php
$unsafeContentPage
= isset($_GET['content']) ? $_GET['content'] : 'home';
if (!
preg_match('~^[a-z_]+$~i', $unsafeContentPage)) {
    
// Iets of iemand probeert iets fouts mee te geven
$unsafeContentPage = 'home';
?>




Krijg het echt niet lekker met die 0 erin...

Okay het is gelukt... heb maar weer een extra variabele gemaakt met een rekensommetje en nou werkt het wel als ik zeg LIMIT 0,1

Ik denk dat ik zo'n server draai met een soort "oostindische wil"
pi_46822289
kwam het niet door de spaties rond de komma ofzo?
  donderdag 1 maart 2007 @ 21:26:06 #236
36568 s00z
geboren voor het geluk
pi_46822412
quote:
Op donderdag 1 maart 2007 21:23 schreef Xcalibur het volgende:
kwam het niet door de spaties rond de komma ofzo?
nu maar zo gedaan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
   
if($_GET['page']) // Is page defined?

    
{

        
$page $_GET['page']; // Set to the page defined

    
}else{

        
$page 1// Set to default page 1

    
}
$limitminimalizer $page '1';
?>


En dan:
1
2
3
<?php
LIMIT 
".$limitminimalizer." 1
?>
  donderdag 1 maart 2007 @ 22:50:20 #237
12880 CraZaay
prettig gestoord
pi_46826421
$limitminimalizer = $page - '1';

Je trekt een string van een integer af? (ja, het werkt in PHP, maar da's nog geen reden om het te doen )
pi_46826807
Wat is de standaard poort voor mysql? Dat is 3306 toch?
Ik heb op mijn server thuis port 3306 opengezet, maar is nog steeds van buiten af niet bereikbaar.
quote:
php connect.inc.php
Kan niet verbinden: Lost connection to MySQL server during query
Moet er ook nog een ander port open?
ne okuyon, bokmu var?
pi_46826856
quote:
Op donderdag 1 maart 2007 22:58 schreef saban het volgende:
Wat is de standaard poort voor mysql? Dat is 3306 toch?
Ik heb op mijn server thuis port 3306 opengezet, maar is nog steeds van buiten af niet bereikbaar.
[..]

Moet er ook nog een ander port open?
3306 voor MySQL en 80 voor Apache.
pi_46827068
quote:
Op donderdag 1 maart 2007 22:59 schreef Geqxon het volgende:

[..]

3306 voor MySQL en 80 voor Apache.
Vaag dat het niet werkt.
Apache is wel bereikbaar, op dezelfde manier heb ik 3306 ook opengezet, maar kan geen verbinding tot stand brengen.
Misschien staat mijn shell provider het niet toe.

Kan iemand zijn IP PM'en zodat ik het in de firewall gooi, zodat je even een poging kan wagen on verbinding tot stand te brengen?
ne okuyon, bokmu var?
pi_46827620
quote:
Op donderdag 1 maart 2007 22:58 schreef saban het volgende:
Moet er ook nog een ander port open?
laat je router / modem / whatever het wel door?
misschien kan je daar een logfile zien van geblokkeerde requests?
  donderdag 1 maart 2007 @ 23:16:16 #242
12880 CraZaay
prettig gestoord
pi_46827659
quote:
Op donderdag 1 maart 2007 22:58 schreef saban het volgende:
Wat is de standaard poort voor mysql? Dat is 3306 toch?
Ik heb op mijn server thuis port 3306 opengezet, maar is nog steeds van buiten af niet bereikbaar.
Kun je je MySQL server helemaal niet bereiken, of kom je er gewoon niet in met je user? In het laatste geval moet je je user niet alleen toegang geven vanaf localhost waarschijnlijk.
pi_46827669
quote:
Op donderdag 1 maart 2007 21:26 schreef s00z het volgende:

[..]

nu maar zo gedaan:
[ code verwijderd ]

En dan:
[ code verwijderd ]
dan zou het zonder het hernoemen van die variabele ook moeten werken
pi_46827673
quote:
Op donderdag 1 maart 2007 23:15 schreef Xcalibur het volgende:

[..]

laat je router / modem / whatever het wel door?
misschien kan je daar een logfile zien van geblokkeerde requests?
Daar heb ik hem dus ook open gezet.
Mijn router ondersteund geen logfiles

Een deel van je IP is ook voldoende voor de firewall.
ne okuyon, bokmu var?
pi_46827702
quote:
Op donderdag 1 maart 2007 23:16 schreef CraZaay het volgende:

[..]

Kun je je MySQL server helemaal niet bereiken, of kom je er gewoon niet in met je user? In het laatste geval moet je je user niet alleen toegang geven vanaf localhost waarschijnlijk.
mysql_error zegt:
Lost connection to MySQL server during query

User heeft toegang vanaf %, dus overal vandaan.
ne okuyon, bokmu var?
pi_46827990
quote:
Op donderdag 1 maart 2007 22:50 schreef CraZaay het volgende:
$limitminimalizer = $page - '1';

Je trekt een string van een integer af? (ja, het werkt in PHP, maar da's nog geen reden om het te doen )
Nog leuker, als $_GET['page'] niet leeg of nul is dan is $page ook een string. En dan trek je dus een string van een string af in de hoop dat er een integer uit komt
  vrijdag 2 maart 2007 @ 01:18:29 #247
36568 s00z
geboren voor het geluk
pi_46832100
quote:
Op donderdag 1 maart 2007 23:23 schreef Light het volgende:

[..]

Nog leuker, als $_GET['page'] niet leeg of nul is dan is $page ook een string. En dan trek je dus een string van een string af in de hoop dat er een integer uit komt
Maar het werkt prima!
En anders niet.

Jullie hadden ook niet echt zinvolle suggesties als ik zo brutaal mag zijn

Maar wel tof dat jullie me ook proberen te helpen, nu moet ik nog mijn site een beetje veilig maken tegen injectie enzo, en hierboven heb ik een stuk gequote dat ik daartegen wil gebruiken..

Zal dat voldoende zijn denken jullie?

Hierzo:
1
2
3
4
5
6
<?php
$unsafeContentPage 
= isset($_GET['content']) ? $_GET['content'] : 'home';
if (!
preg_match('~^[a-z_]+$~i'$unsafeContentPage)) {
    
// Iets of iemand probeert iets fouts mee te geven
$unsafeContentPage 'home';
?>
  vrijdag 2 maart 2007 @ 08:53:19 #248
12880 CraZaay
prettig gestoord
pi_46836107
quote:
Op vrijdag 2 maart 2007 01:18 schreef s00z het volgende:

[..]

Maar het werkt prima!
En anders niet.
Ja, PHP is zo loosely typed dat het niet uit maakt. Het ligt niet aan jou dus

Over je injection 'probleem', daar kan ik je helaas niet mee werken. Als ik iets met PHP doe gebruik ik meestal een framework met ActiveRecord-achtige functionaliteit waar standaard injection in voorkomen wordt.
  vrijdag 2 maart 2007 @ 09:44:12 #249
85514 ralfie
!Yvan eht nioj
pi_46837129
quote:
Op vrijdag 2 maart 2007 01:18 schreef s00z het volgende:

[..]

Maar het werkt prima!
En anders niet.

Jullie hadden ook niet echt zinvolle suggesties als ik zo brutaal mag zijn

Maar wel tof dat jullie me ook proberen te helpen, nu moet ik nog mijn site een beetje veilig maken tegen injectie enzo, en hierboven heb ik een stuk gequote dat ik daartegen wil gebruiken..

Zal dat voldoende zijn denken jullie?

Hierzo:
[ code verwijderd ]
het is niet logisch om daar van alles zelf voor te maken als er prachtige functies zijn die dit automatisch doen. Kijk bijvoorbeeld is naar:
1
2
3
4
<?php
$query
=mysql_escape_string($_GET['page']);
$query=mysql_real_escape_string($_GET['page']);
?>
Mocht je ergens numerieke waarden willen, gebruik je een van deze twee
1
2
3
4
<?php
$query
=intval($_GET['id'])
$query=floatval($_GET['value'])
?>

afhankelijk van of je een heel getal (integer) will hebben of niet (float)

Tenslotte kun je ervoor kiezen om, als er alleen een beperkt aantal mogelijkheden zijn, deze direct te vergelijken, zoals:
1
2
3
4
5
6
7
8
<?php
$allpages
=array('home','forum','contact','intro','about');
if (
in_array($_GET['page'],$allpages)) {
   
$page=$_GET['page'];
} else {
   
$page=$allpages[0];
}
?>

suc6
pi_46839925
Ik heb een vraagje mbt $_FILES in php.
Wanneer ik een bestand upload door middel van een upload veld dan is er geen $_POST maar hij maakt er automatisch $_FILES van. Dit variable heeft:

$_FILES['userfile']['name']
The original name of the file on the client machine.

$_FILES['userfile']['type']
The mime type of the file, if the browser provided this information. An example would be "image/gif". This mime type is however not checked on the PHP side and therefore don't take its value for granted.

$_FILES['userfile']['size']
The size, in bytes, of the uploaded file.

$_FILES['userfile']['tmp_name']
The temporary filename of the file in which the uploaded file was stored on the server.

$_FILES['userfile']['error']

van php.net

Maar ik wil niet alleen de orginile bestandsnaam ['name'] maar het hele pad, dus: C:\blabla\bla\file.ext
Is dit mogelijk? Of wordt dit clientside nooit doorgestuurd?

Ik wil dit omdat ik nogal een lang formulier heb en als je een veld niet of niet goed invuldt dan krijg je netjes een rijtje errors en staan alle waarden nog steeds in het formulier, maar het file veld onthoudt ie de waarde niet van.

-
pi_46839977
@splendor

Standaard wordt het 'echte' pad niet doorgegeven, maar er is wel een truukje voor. Je kunt met javascript vlak voordat je een formulier submit de waarde uitlezen en in een hidden field zetten.

Nadeel: je kunt niet in die file inputs wegschrijven dat om te voorkomen dat een website opeens mag bepalen welke bestanden jij verstuurt, dat zou een enorm lek betekenen.
pi_46839989


[ Bericht 100% gewijzigd door mschol op 02-03-2007 11:29:59 ]
pi_46840172
quote:
Op vrijdag 2 maart 2007 11:29 schreef JeRa het volgende:
@splendor

Standaard wordt het 'echte' pad niet doorgegeven, maar er is wel een truukje voor. Je kunt met javascript vlak voordat je een formulier submit de waarde uitlezen en in een hidden field zetten.

Nadeel: je kunt niet in die file inputs wegschrijven dat om te voorkomen dat een website opeens mag bepalen welke bestanden jij verstuurt, dat zou een enorm lek betekenen.
Tnx, daar was ik al bang voor ja.

Nouja wat een oplossing zou zijn is het file uploaden los maken van een groot ander formulier, met een eigen submit knop. Is een handeling meer voor de gebruiker maar scheelt een hoop ellende.
-
  vrijdag 2 maart 2007 @ 12:09:00 #254
85514 ralfie
!Yvan eht nioj
pi_46841135
quote:
Op vrijdag 2 maart 2007 11:35 schreef splendor het volgende:

[..]

Tnx, daar was ik al bang voor ja.

Nouja wat een oplossing zou zijn is het file uploaden los maken van een groot ander formulier, met een eigen submit knop. Is een handeling meer voor de gebruiker maar scheelt een hoop ellende.
zou anders toch niet handig werken, de gebruiker zou elke keer dat het formulier een fout bevat onnnodig het bestand opnieuw moeten uploaden
  vrijdag 2 maart 2007 @ 12:39:06 #255
12880 CraZaay
prettig gestoord
pi_46842021
quote:
Op vrijdag 2 maart 2007 11:27 schreef splendor het volgende:

Maar ik wil niet alleen de orginile bestandsnaam ['name'] maar het hele pad, dus: C:\blabla\bla\file.ext
Is dit mogelijk? Of wordt dit clientside nooit doorgestuurd?

Ik wil dit omdat ik nogal een lang formulier heb en als je een veld niet of niet goed invuldt dan krijg je netjes een rijtje errors en staan alle waarden nog steeds in het formulier, maar het file veld onthoudt ie de waarde niet van.
Zelfs al kan PHP het hele pad ergens vandaag toveren, dan nog heb je er niets aan. Je kunt de file input in de html namelijk niet populeren met een value uit veiligheidsoverwegingen.
  vrijdag 2 maart 2007 @ 12:42:36 #256
36568 s00z
geboren voor het geluk
pi_46842130
quote:
Op vrijdag 2 maart 2007 09:44 schreef ralfie het volgende:

[..]

het is niet logisch om daar van alles zelf voor te maken als er prachtige functies zijn die dit automatisch doen. Kijk bijvoorbeeld is naar:
[ code verwijderd ]

Mocht je ergens numerieke waarden willen, gebruik je een van deze twee
[ code verwijderd ]

afhankelijk van of je een heel getal (integer) will hebben of niet (float)

suc6
Juist, dus als iemand een query in wil vullen mtb injectie (want dat is injectie toch?) dan 'beschadigd' de variabele als het ware als er bij float een letter wordt ingevuld...

Weet namelijk niet precies wat je kan doen om een database te beschadigen oid.

Heb even rondgeklooid met die dingen die je me gaf, en ze zullen de dbase in ieder geval ongevoelig maken voor andere input dan cijfers.
Nu alleen nog zorgen dat ik de woorden escape.
pi_46842505
quote:
Op vrijdag 2 maart 2007 11:35 schreef splendor het volgende:

[..]

Nouja wat een oplossing zou zijn is het file uploaden los maken van een groot ander formulier, met een eigen submit knop. Is een handeling meer voor de gebruiker maar scheelt een hoop ellende.
Sommige sites gebruiken een apart systeem voor het uploaden van bestanden. Een gebruiker kan dan los bestanden uploaden zodat deze dan tijdelijk ergens worden weggezet en gekoppeld aan de sessie. Als vervolgens het formulier een fout bevat, dan zijn de bestanden niet verloren gegaan nadeel is dat je dan af en toe de boel moet laten schoonmaken zodra een sessie verloopt.
pi_46843429
1
2
3
4
5
R60: if($POST){
R61: $query ="INSERT INTO `kasboek` ( `id` , `datum` , `type` , `rekeningnr` , `van` , `categorie` , `default` , `bedrag` , `commentaar` ) VALUES ('', '".$POST[datum]."' , '".$POST[type]."', '".$POST[rekeningnr]."', '".$POST[van]."', '".$POST[categorie]."', '".$POST[`default`]."','".$POST[bedrag]."', '".$POST[commentaar]."');";
R62: $result = mysql_query($query) or ( $error = mysql_error());
R63: $data .= ($result) ? 'Afschrift toegevoegd' : 'Er ging wat fout:<br />'.$result;
R64:}

$POST is gewoon de gecontroleerde $_POST

En nu de foutmelding:

Warning: shell_exec() has been disabled for security reasons in C:domains\_adminkasboek.php on line 61




Edit: '".$POST[`default`]."' veranderd in '".$POST['default']."
Maar wat een gare waarschuwing'
pi_46843583
't Staat er toch vrij duidelijk? Je kan shell_exec() niet gebruiken wegens veiligheidsredenen.

Eerst goed lezen, er staat helemaal geen shell_exec() .
  FOK!-Schrikkelbaas vrijdag 2 maart 2007 @ 13:26:54 #260
1972 Swetsenegger
Egocentrische Narcist
pi_46843675
Sowieso... waarom die backticks?
pi_46843678
Overigens moet je binnen die $POST dingen waarschijnlijk wel quotes gebruiken, dus $POST['bedrag'] in plaats van $POST[bedrag].
pi_46844010
ja code is niet echt netjes.

Waarom de ticks, default is gereserveerd
pi_46844408
quote:
Op vrijdag 2 maart 2007 13:26 schreef Swetsenegger het volgende:
Sowieso... waarom die backticks?
Als je dat consequent doet kan er nooit een probleem komen met reserved words wat weer wel raar is, is dat MySQL heeft gekozen voor backticks en niet de ANSI dubbele quotes.
pi_46844506
Ik loop het nog wel na en dan word het wel consequent gedaan maar ben soms een luie donder
pi_46847429
Ik ben op het moment vaak met fopen bezig, en ik wil graag bijhouden hoeveel bandbreedte ik er doorheen jaag.

Op het moment doe ik dat door elke keer als ik een file open en deze regel voor regel met een foreach doorneem, de string lengte van de huidige regel te pakken, en de lengte hiervan bij een variabele toe te voegen. Dat door 1024 delen en ik heb het aantal kilobyte.

Zit ik toevallig in de goede richting?
pi_46848177
quote:
Op vrijdag 2 maart 2007 15:06 schreef Geqxon het volgende:
Ik ben op het moment vaak met fopen bezig, en ik wil graag bijhouden hoeveel bandbreedte ik er doorheen jaag.

Op het moment doe ik dat door elke keer als ik een file open en deze regel voor regel met een foreach doorneem, de string lengte van de huidige regel te pakken, en de lengte hiervan bij een variabele toe te voegen. Dat door 1024 delen en ik heb het aantal kilobyte.

Zit ik toevallig in de goede richting?
Ja...maar als je het hele bestand inleest is het natuurlijk veel simpeler om filesize() te gebruiken
pi_46848269
quote:
Op vrijdag 2 maart 2007 15:27 schreef JeRa het volgende:

[..]

Ja...maar als je het hele bestand inleest is het natuurlijk veel simpeler om filesize() te gebruiken
Een website in dit geval, dus volgens mij is dat niet mogelijk.

* Geqxon duikt TextMate weer even in

Edit Bingo!

1
2
3
4
5
<?php
           $headers
= get_headers($url, 1);
           if ((!
array_key_exists("Content-Length", $headers))) { return false; }
           return
$headers["Content-Length"];
?>


Edit

Met mijn regelteller methode: 41960 bytes
Met bovenstaande methode: 52848 bytes

Zat ik toch goed, al gebruik ik wel de header informatie. Ik gok dat het verschil is omdat hij dan ook het heen-en-weer verkeer + de header informatie meetelt.

[ Bericht 33% gewijzigd door Geqxon op 02-03-2007 15:38:43 ]
pi_46848529
Even een kort vraagje: $_POST, $_GET en $_COOKIE moet je altijd 'beveiligen' tegen gevaarlijke waardes, maar hoe zit dat met $_SESSION? Kan een gebruiker/hacker daar ook in veranderen?
  vrijdag 2 maart 2007 @ 15:40:40 #269
36568 s00z
geboren voor het geluk
pi_46848729
iemand nog tips voor mijn security wat ik hierboven beschrijf?
pi_46849786
quote:
Op vrijdag 2 maart 2007 15:35 schreef Piles het volgende:
Even een kort vraagje: $_POST, $_GET en $_COOKIE moet je altijd 'beveiligen' tegen gevaarlijke waardes, maar hoe zit dat met $_SESSION? Kan een gebruiker/hacker daar ook in veranderen?
Nee, dat kan de gebruiker niet. De $_SESSION wordt alleen op de server gebruikt.

De client krijgt echter wel en cookie op zijn pc met het sessie-id erin. Dus die moet je wel controleren op het moment dat je het sessie-id uitleest.
pi_46850734
quote:
Op vrijdag 2 maart 2007 16:08 schreef HuHu het volgende:

[..]

Nee, dat kan de gebruiker niet. De $_SESSION wordt alleen op de server gebruikt.

De client krijgt echter wel en cookie op zijn pc met het sessie-id erin. Dus die moet je wel controleren op het moment dat je het sessie-id uitleest.
Ik maak nu een random-hash aan die ik opsla in de database (met een user_id erbij) en in de sessie. Met de sessie haal ik het user_id weer uit de database enzovoorts

Is dat veilig genoeg?
pi_46851405
Grrrr, lekkere provider heb ik toch:
quote:
Fatal error: Call to undefined function: get_headers() in /home/buyshitn/public_html/peppisodelite/index.php on line 189
Toch maar de regels tellen

Edit: Mijn script wordt nu toch wel iets té optimistisch: Bandwidth used: 295.16 kB (126 kB/s). Op een 512kbit lijntje

[ Bericht 25% gewijzigd door Geqxon op 02-03-2007 16:57:35 ]
pi_46851859
quote:
Op vrijdag 2 maart 2007 16:32 schreef Piles het volgende:

[..]

Ik maak nu een random-hash aan die ik opsla in de database (met een user_id erbij) en in de sessie. Met de sessie haal ik het user_id weer uit de database enzovoorts

Is dat veilig genoeg?
Men zou de cookie met het sessie-id kunnen aanpassen, om zo SQL-injection te doen. Dus voordat je het sessie-id in een query gebruikt moet je deze controleren.
pi_46852014
quote:
Op vrijdag 2 maart 2007 17:02 schreef HuHu het volgende:

[..]

Men zou de cookie met het sessie-id kunnen aanpassen, om zo SQL-injection te doen. Dus voordat je het sessie-id in een query gebruikt moet je deze controleren.
Dan doen we dat
pi_46852410
quote:
Op vrijdag 2 maart 2007 16:49 schreef Geqxon het volgende:
Grrrr, lekkere provider heb ik toch:
[..]

Toch maar de regels tellen

Edit: Mijn script wordt nu toch wel iets té optimistisch: Bandwidth used: 295.16 kB (126 kB/s). Op een 512kbit lijntje
Heeft jou editor geen line numbers?
pi_46853538
quote:
Op vrijdag 2 maart 2007 17:24 schreef super-muffin het volgende:

[..]

Heeft jou editor geen line numbers?
Niet die regels
ne okuyon, bokmu var?
pi_46853776
quote:
Op vrijdag 2 maart 2007 15:28 schreef Geqxon het volgende:

[..]

Een website in dit geval, dus volgens mij is dat niet mogelijk.
Heb je het geprobeerd? PHP heeft stream wrappers, kans is dat het dus wel werkt.

edit: volgens de documentatie pas sinds PHP 5.0, en maar voor een beperkt aantal wrappers. Waarschijnlijk niet dus
pi_46856403
Okay mensen,

Ik zou volgend jaar graag een eigen webshop willen beginnen.

Aangezien ik echt een complete N00b ben, zou ik niet eens weten waar ik zou moeten beginnen.

De site zou er een beetje uit moeten komen te zien als die van de H&M of Abercrombie oid. Dus met verschillende categorieen, dat mensen zich moet registreren om een bestelling te plaatsen en dat je als je gaat afrekenen een plaatje ziet van alle bestelde items.
Qua uiterlijk hoeft het uiteraard niet (meteen) zo strak met pics etc, het gaat me meer om de structuur, de lay-out kan altijd nog verfraaid worden.

Wat is het handigst om eerste te leren; HTML, PHP, CSS, Dreamweaver, Frontpage of iets anders? Het plan is om elke dag een stukje te doen/leren.

Ik verwacht ook niet dat jullie me alles voorkauwen, maar een duw in de goeie richting zou fijn zijn. En welke goeie/leerzame sites raden jullie aan? En zeg niet 'google is your friend' want via google vind je er zoveel dat je door de bomen het bos niet ziet.

Ik wil de webshop zelf opbouwen, dus ook comments zoals 'n00b dit kun je beter laten doen' kunnen achterwege blijven.

Jullie hebben het ook allemaal moeten leren.

En nogmaals ik heb geen haast. Het streven is om de shop in 2008 af te hebben.

Alvast bedankt!
  vrijdag 2 maart 2007 @ 19:37:46 #279
12880 CraZaay
prettig gestoord
pi_46856616
Begin eens met HTML en CSS te leren, bijvoorbeeld via www.w3schools.com

Je kunt immers wel beginnen met PHP, maar uiteindelijk moet je het resultaat toch in HTML tonen. Lijkt mij handig om dat eerst te kunnen
pi_46856757
Inderdaad eerst HTML en CSS leren voor de basis. Met een programma als Dreamweaver leer je dan wel vanzelf omgaan als je de HTML en CSS begrijpt. Daarna PHP gaan leren.

Maar een complete webshop bouwen is wel een aardig project waarbij je wel op heel veel dingen moet letten. Je kan natuurlijk ook eens je licht laten schijnen op iets als osCommerce. Dat is een standaardpakket, zodat je het wiel niet opnieuw hoeft uit te vinden. Je kan dan je opgedane HTML, CSS en PHP kennis gebruiken om osCommerce naar je wensen aan te passen.

Je hoeft dan niet hele basic dingen zelf helemaal uit te gaan vinden, aangezien iets als osCommerce dat al over-en-over heeft uitgedacht, geprobeerd en getest.
pi_46872764
quote:
Op vrijdag 2 maart 2007 19:37 schreef CraZaay het volgende:
Begin eens met HTML en CSS te leren, bijvoorbeeld via www.w3schools.com

Je kunt immers wel beginnen met PHP, maar uiteindelijk moet je het resultaat toch in HTML tonen. Lijkt mij handig om dat eerst te kunnen
Heel erg bedankt voor die site, hier heb ik wat aan . Ik ga hem ff doorspitten
quote:
Op vrijdag 2 maart 2007 19:42 schreef HuHu het volgende:
Inderdaad eerst HTML en CSS leren voor de basis. Met een programma als Dreamweaver leer je dan wel vanzelf omgaan als je de HTML en CSS begrijpt. Daarna PHP gaan leren.

Maar een complete webshop bouwen is wel een aardig project waarbij je wel op heel veel dingen moet letten. Je kan natuurlijk ook eens je licht laten schijnen op iets als osCommerce. Dat is een standaardpakket, zodat je het wiel niet opnieuw hoeft uit te vinden. Je kan dan je opgedane HTML, CSS en PHP kennis gebruiken om osCommerce naar je wensen aan te passen.

Je hoeft dan niet hele basic dingen zelf helemaal uit te gaan vinden, aangezien iets als osCommerce dat al over-en-over heeft uitgedacht, geprobeerd en getest.
Dat osCommerce ken ik niet ja hoe bedoel je n00b
Maar ik ga daar maar es op googlen, jij ook bedankt
  FOK!-Schrikkelbaas zaterdag 3 maart 2007 @ 11:38:26 #282
1972 Swetsenegger
Egocentrische Narcist
pi_46872946
quote:
Op vrijdag 2 maart 2007 19:42 schreef HuHu het volgende:
Inderdaad eerst HTML en CSS leren voor de basis. Met een programma als Dreamweaver leer je dan wel vanzelf omgaan als je de HTML en CSS begrijpt. Daarna PHP gaan leren.

Maar een complete webshop bouwen is wel een aardig project waarbij je wel op heel veel dingen moet letten. Je kan natuurlijk ook eens je licht laten schijnen op iets als osCommerce. Dat is een standaardpakket, zodat je het wiel niet opnieuw hoeft uit te vinden. Je kan dan je opgedane HTML, CSS en PHP kennis gebruiken om osCommerce naar je wensen aan te passen.

Je hoeft dan niet hele basic dingen zelf helemaal uit te gaan vinden, aangezien iets als osCommerce dat al over-en-over heeft uitgedacht, geprobeerd en getest.
Maar aan de andere kant léér je ontzettend veel van het maken van een webshop en kan je hem helemaal aan je wensen aanpassen

weet ik uit ervaring
pi_46873091
quote:
Op zaterdag 3 maart 2007 11:38 schreef Swetsenegger het volgende:

[..]

Maar aan de andere kant léér je ontzettend veel van het maken van een webshop en kan je hem helemaal aan je wensen aanpassen

weet ik uit ervaring
Dat is zeker waar, maar jij was dan ook geen n00b meer toen je begon met 't bouwen ervan .
  FOK!-Schrikkelbaas zaterdag 3 maart 2007 @ 11:48:31 #284
1972 Swetsenegger
Egocentrische Narcist
pi_46873104
quote:
Op zaterdag 3 maart 2007 11:47 schreef HuHu het volgende:

[..]

Dat is zeker waar, maar jij was dan ook geen n00b meer toen je begon met 't bouwen ervan .
Niet volslagen nee....
pi_46874366
Ziet er erg goed uit Swets!! Heb je die helemaal 'from scratch' in elkaar gezet?
Wat was jouw voorkennis als ik vragen, omdat je aangeeft dat je voordat je begon geen volslagen n00b was?

[ Bericht 3% gewijzigd door Kwelit op 03-03-2007 13:36:23 (die c stond er al O-)) ]
  FOK!-Schrikkelbaas zaterdag 3 maart 2007 @ 13:28:37 #286
1972 Swetsenegger
Egocentrische Narcist
pi_46875174
quote:
Op zaterdag 3 maart 2007 12:54 schreef Kwelit het volgende:
Ziet er erg goed uit Swets!! Heb je die helemaal 'from sratch' in elkaar gezet?
bedankt en ja
quote:
Wat was jouw voorkennis als ik vragen, omdat je aangeeft dat je voordat je begon geen volslagen n00b was?
Ik was een jaar met php bezig voordat ik hieraan begon. En voor ik aan php begon had ik in een grijs verleden programmeer ervaring opgedaan in MSX basic en Z80/MSX assembly.
pi_46876440
Ik ben ook eerst een aantal jaren met HTML, CSS en PHP bezig geweest voordat ik echt grote applicaties als uitgebreide CMS systemen en webshops ging maken. Wil je echt in een jaar tijd alle weetjes, ditjes en datjes van het maken van bijvoorbeeld een webshop willen kennen dan zul je toch echt dagelijks d'r mee moeten gaan experimenteren hoor. Ik heb dat ook flink wat jaren gedaan alvorens ik 'commercieel' ging doen.
pi_46878084
ik voer een htmlspecialchars uit op al mijn POST variablen standaard voor ik er iets mee ga doen, en het ziet er naar uit dat karakters als \ en ' en " netjes omgezet worden maar moet ik alsnog een addslashes uitvoeren voor een post waarde de database ingaat? Want als ik dat doe en het komt de database uit zit alles vol met slashes en kan ik overal waar ik het wil gaan gebruiken eerst stripslashes uitvoeren.
-
  FOK!-Schrikkelbaas zaterdag 3 maart 2007 @ 15:18:35 #289
1972 Swetsenegger
Egocentrische Narcist
pi_46878229
quote:
Op zaterdag 3 maart 2007 15:13 schreef splendor het volgende:
ik voer een htmlspecialchars uit op al mijn POST variablen standaard voor ik er iets mee ga doen, en het ziet er naar uit dat karakters als \ en ' en " netjes omgezet worden maar moet ik alsnog een addslashes uitvoeren voor een post waarde de database ingaat? Want als ik dat doe en het komt de database uit zit alles vol met slashes en kan ik overal waar ik het wil gaan gebruiken eerst stripslashes uitvoeren.

gebruik de stripslashes_deep functie die halverwege de pagina staat. Schrijf je variabelen met mysql_real_escape_string naar de database.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function stripslashes_deep($value)
{
   
$value = is_array($value) ?
               
array_map('stripslashes_deep', $value) :
               
stripslashes($value);

   return
$value;
}

if(isset(
$_POST['submit']{

    if(
get_magic_quotes_gpc()){
        
$_POST = stripslashes_deep($_POST);
    }

    
$query="INSERT INTO tabel
            (id,iets)
            VALUES(0,'"
.mysql_real_escape_string($_POST['iets'])."')";
}
?>


[ Bericht 34% gewijzigd door Swetsenegger op 03-03-2007 15:23:50 ]
pi_46879159
quote:
Op zaterdag 3 maart 2007 15:18 schreef Swetsenegger het volgende:

[..]


gebruik de stripslashes_deep functie die halverwege de pagina staat. Schrijf je variabelen met mysql_real_escape_string naar de database.
[ code verwijderd ]
Hmm, maar even een vraag dan.. stel je hebt ergens in je query iets als
SET bla = 'ab'cd'
en dus zal ie over de zeik gaan.

doe ik dan addslashes dan wordt het
SET bla = 'ab\'cd'
maar in de database zelf komt dan toch ab'cd te staan? en niet ab\'cd ?

Ik snap niet goed waarom ik na een addslashes toch nog een stripslashes moet uitvoeren?

[ Bericht 1% gewijzigd door splendor op 03-03-2007 16:13:21 ]
-
pi_46879726
In je database komt dan ab backslash-singlequote cd te staan. Daarom moet je de slashes nog even strippen.
pi_46879776
quote:
Op zaterdag 3 maart 2007 16:10 schreef Geqxon het volgende:
In je database komt dan ab backslash-singlequote cd te staan. Daarom moet je de slashes nog even strippen.
Ja maar ik snap niet goed waarom dat is? Is het niet mogelijk om mysql te vertellen om het als waarde te behandelen maar wel de \ eruit te halen? Of is dat gewoon iets wat mysql niet doet en daarom moet je zo moeilijk doen in php?
-
pi_46879908
Waarschijnlijk gaat het ergens een keertje dubbelop en komt er dus 'ab\'cd' te staan in je query. In de database komt dan 'ab'cd' te staan, waardoor je bij het eruit halen nogmaals een stripslashes moet doen.

Als er een ' in je data zit, maar deze wordt niet ge-escaped, dan weet MySQL niet of daar je data ophoud en de query verder gaat, of dat het bij je data hoort. Vandaar dat je altijd moet escapen met slashes.
pi_46880305
quote:
Op zaterdag 3 maart 2007 16:17 schreef HuHu het volgende:
Waarschijnlijk gaat het ergens een keertje dubbelop en komt er dus 'ab\'cd' te staan in je query. In de database komt dan 'ab'cd' te staan, waardoor je bij het eruit halen nogmaals een stripslashes moet doen.

Als er een ' in je data zit, maar deze wordt niet ge-escaped, dan weet MySQL niet of daar je data ophoud en de query verder gaat, of dat het bij je data hoort. Vandaar dat je altijd moet escapen met slashes.
Zou het kunnen zijn omdat ik eerst htmlspecialchars uitvoer? En dat een addslashes daarna een beetje dubbelop is dus.
Ik ga eens proberen om eerst addslashes te doen en dan htmlspecialchars.
-
pi_46880376
Waarom doe je een htmlspecialchars() vóór het opslaan in de database? Je kan dat toch gewoon doen net voor het moment dat je 't gaat tonen?
pi_46880523
quote:
Op zaterdag 3 maart 2007 16:35 schreef HuHu het volgende:
Waarom doe je een htmlspecialchars() vóór het opslaan in de database? Je kan dat toch gewoon doen net voor het moment dat je 't gaat tonen?
Ik heb een module gemaakt die OO een compleet formulier kan opbouwen, verwerken en filteren. Dus wil ik ergens $_POST['iets'] gebruiken, dan is dat al helemaal gefilterd en veilig, scheelt een hoop controles overal die je toch weer kunt vergeten.
Je kunt overigens gewoon zeggen $clsTextField->htmlspecialchars = false; en dan doet ie dat niet, of ik kan hem zelfs standaard op false zetten, maar het leek me veilig om standaard elk POST variable daar mee te behandelen.

Kan het overigens zijn dat htmlspecialchars zelf al een addslashes uitvoert? En dat het daarom dubbel gebeurt bij mij?
-
pi_46881145
De htmlspecialchars() zet een ' om naar $lquot; ofzo, dus er blijft helemaal niets over om te escapen voor de addslashes() voor zover ik weet.
pi_46881512
Ik heb even een aantal dingen geprobeerd, wanneer ik een variable met quotes of slashes erin zo probeer door te sturen krijg je een foutmelding in de query, logisch.
Echter wanneer precies datzelfde variable met dezelfde waarde via een POST de query in gaat, krijg ik geen error en staat het netjes in de database.
Oftewel formulieren voeren ergens al een addslashes uit? Maar stel dat ikhet POST variable echo, dan staan er inderdaad extra slashes voor.

Dus het is logisch dat ik overal dubbele quotes kreeg en later weer stripslashes moest uitvoeren.

Maar wat zorgt ervoor dat een formulier slashes krijgt? Firefox/IE? Apache? Een instelling in mijn php.ini?
-
  FOK!-Schrikkelbaas zaterdag 3 maart 2007 @ 17:34:27 #299
1972 Swetsenegger
Egocentrische Narcist
pi_46882052
quote:
Op zaterdag 3 maart 2007 15:50 schreef splendor het volgende:

[..]

Hmm, maar even een vraag dan.. stel je hebt ergens in je query iets als
SET bla = 'ab'cd'
en dus zal ie over de zeik gaan.
nee
quote:
doe ik dan addslashes dan wordt het
SET bla = 'ab\'cd'
maar in de database zelf komt dan toch ab'cd te staan? en niet ab\'cd ?
Met mysql_real_escape_string zal inderdaad ab'cd in de db staan, met addslashes staat ab\'cd in de db
quote:
Ik snap niet goed waarom ik na een addslashes toch nog een stripslashes moet uitvoeren?
omdat er dan dus een slash in je database veld staat.
  FOK!-Schrikkelbaas zaterdag 3 maart 2007 @ 17:37:40 #300
1972 Swetsenegger
Egocentrische Narcist
pi_46882151
quote:
Op zaterdag 3 maart 2007 16:12 schreef splendor het volgende:

[..]

Ja maar ik snap niet goed waarom dat is? Is het niet mogelijk om mysql te vertellen om het als waarde te behandelen maar wel de \ eruit te halen? Of is dat gewoon iets wat mysql niet doet en daarom moet je zo moeilijk doen in php?
je moet gewoon mysql_real_escape_string gebruiken en niet addslashes en stripslashes.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')