abonnement Unibet Coolblue Bitvavo
  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.

-
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')