abonnement Unibet Coolblue Bitvavo
pi_35289928
TVP

Bestaat er geen 'KRegExpEditor' voor windows?
  maandag 20 februari 2006 @ 19:20:42 #4
128033 eer-ik
Koning. Ja, nog steeds.
pi_35298342
Hallo allemaal, ik heb een probleempje, namelijk ik heb zo'n VBulletin forum, maar ik kan deze niet installeren op mijn server. Ik heb de mogelijkheid tot PHP en MySQL, maar ik krijg de melding bij stap 3 dat er iets is foutgegaan. Het gaat om http://www.wapata.nl/forum/install/install.php?step=3
Bij http://www.wapata.nl/forum/install/install.php?step=2 kun je ervoor kiezen om de database te legen en het nog een keer te proberen, maar dat lukt me niet.
Weet iemand wat ik hieraan kan doen?
Alvast bedankt,
Erik
Signature.
pi_35299721
Stel dat ik op mijn thuisserver eenofandere grote site ga rippen en in de database stop, zodat ik op een gegeven moment >1 gig aan data in MySQL heb. Probeert MySQL dat dan permanent in het geheugen te laden, zodat ik een gigantische (langzame) swapfile krijg? Of wordt het bij een query pas van de schijf gelezen en is het alsnog langzaam, maar zit het niet permanent in het geheugen?
pi_35300705
quote:
Op maandag 20 februari 2006 19:54 schreef Nevermind het volgende:
Stel dat ik op mijn thuisserver eenofandere grote site ga rippen en in de database stop, zodat ik op een gegeven moment >1 gig aan data in MySQL heb. Probeert MySQL dat dan permanent in het geheugen te laden, zodat ik een gigantische (langzame) swapfile krijg? Of wordt het bij een query pas van de schijf gelezen en is het alsnog langzaam, maar zit het niet permanent in het geheugen?
Waarom zou hij het in een swapfile zetten als het ook gewoon op je schijf staat?Het lijkt me handiger als MySql de index in zijn geheugen zet en de rest van schijf leest ofzo...
Ik kan me iig niet voorstellen dat er gebeurd wat jij zegt vraagt.

[ Bericht 1% gewijzigd door ikke_ook op 20-02-2006 20:32:19 ]
pi_35301139
quote:
Op maandag 20 februari 2006 20:12 schreef ikke_ook het volgende:

[..]

Waarom zou hij het in een swapfile zetten als het ook gewoon op je schijf staat?Het lijkt me handiger als MySql de index in zijn geheugen zet en de rest van schijf leest ofzo...
Ik kan me iig niet voorstellen dat er gebeurd wat jij zegt.
Ik zeg het ook niet, ik vraag het
pi_35303809
quote:
Op maandag 20 februari 2006 19:20 schreef eer-ik het volgende:
Hallo allemaal, ik heb een probleempje, namelijk ik heb zo'n VBulletin forum, maar ik kan deze niet installeren op mijn server. Ik heb de mogelijkheid tot PHP en MySQL, maar ik krijg de melding bij stap 3 dat er iets is foutgegaan. Het gaat om http://www.wapata.nl/forum/install/install.php?step=3
Bij http://www.wapata.nl/forum/install/install.php?step=2 kun je ervoor kiezen om de database te legen en het nog een keer te proberen, maar dat lukt me niet.
Weet iemand wat ik hieraan kan doen?
Alvast bedankt,
Erik
kijk eerder eens op de vBulletin forum. Volgens mij is er wel vrij duidelijke handleiding. Met je vraag kunnen we niets. Misschien specifiekere vraag over wat je moet invullen maar niet zeker weet?
  maandag 20 februari 2006 @ 21:22:59 #9
128033 eer-ik
Koning. Ja, nog steeds.
pi_35304230
Nou, kijk, ik heb de config file gewoon ingevuld, en dat heb ik een paar keer nagekeken, maar daar staat niks mis in...
Ik krijg de volgende melding:
quote:
Database error in vBulletin :

Invalid SQL:

CREATE TABLE deletionlog (
primaryid INT UNSIGNED NOT NULL DEFAULT '0',
type ENUM('post', 'thread') DEFAULT 'post',
userid INT UNSIGNED NOT NULL DEFAULT '0',
username VARCHAR(100) NOT NULL DEFAULT '',
reason VARCHAR(125) NOT NULL DEFAULT '',
PRIMARY KEY (primaryid, type)
);

MySQL Error : All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead
Error Number : 1171
Date : Monday, February 20th 2006 @ 09:19:05 PM
Script : http://www.wapata.nl/Vbulletin/install/install.php?step=3&emptydb=true&confirm=true
Referrer : http://www.wapata.nl/Vbulletin/install/install.php?step=3&emptydb=true&confirm=true
IP Address : 80.127.69.223
Username :
Classname : vb_database
Maar het probleem is, dat ik daar geen kont van snap
Ik heb wel al op de site van Vbulletin gekeken, maar daar word ik ook niet echt veel wijzer van ...

Dit script maakt alle tabellen zelf, maar deze tabel kan hij niet maken denk ik?
Signature.
pi_35304788
Maakt hij de database zelf ook? Kun je zien of er tabellen zijn aangemaakt via phpmyadmin oid (ik neem aan dat je het niet op een eigen webserver installeert, maar op een webhoster?
pi_35305015
De primary keys moeten allen NOT NULL zijn. primaryid is dat wel, maar type niet.

Ik zou niet weten waarom type OOK een primaryid moet zijn, dus kun je dat 'type' er niet uit halen? Ofwel, kun je de SQL wijzigen?

edit: En uhhh, uberhaupt op het forum daarzo gezocht? http://www.vbulletin.com/forum/search.php?searchid=256068
pi_35305162
-

[ Bericht 100% gewijzigd door the_disheaver op 20-02-2006 21:40:22 ]
  maandag 20 februari 2006 @ 21:58:35 #13
128033 eer-ik
Koning. Ja, nog steeds.
pi_35306139
eeeuh, nee, de database maakt hij niet zelf, die heet wapata.
Er zijn wel tabellen aangemaakt inderdaad, maar hij komt niet verder dan datastore...
http://i1.tinypic.com/o7k5jq.jpg
Daar het plaatje, kan je het evt zien...
En, nee, niet op het forum gekeken eigenlijk
Signature.
pi_35306273
quote:
Op maandag 20 februari 2006 21:58 schreef eer-ik het volgende:

En, nee, niet op het forum gekeken eigenlijk
Doe dat dan toch maar wel... Het probleem is vaker voorgekomen, en oplossing staat er ook wel bij.
  maandag 20 februari 2006 @ 22:08:43 #15
128033 eer-ik
Koning. Ja, nog steeds.
pi_35306667
magnificent, het werkt allemaal
iig bedankt!
Signature.
pi_35307197
quote:
Op maandag 20 februari 2006 19:54 schreef Nevermind het volgende:
Stel dat ik op mijn thuisserver eenofandere grote site ga rippen en in de database stop, zodat ik op een gegeven moment >1 gig aan data in MySQL heb. Probeert MySQL dat dan permanent in het geheugen te laden, zodat ik een gigantische (langzame) swapfile krijg?
MySQL heeft strakke restricties op het geheugengebruik, waarschijnlijk zal een groot deel van de indices en bepaalde delen van de data wel gecached worden door MySQL zelf. Voor de rest kun je prima vertrouwen op de block cache van het besturingssysteem waar het op draait.
quote:
Of wordt het bij een query pas van de schijf gelezen en is het alsnog langzaam, maar zit het niet permanent in het geheugen?
Een query hoeft niet langzaam te zijn, zolang je maar de juiste indices gebruikt.
pi_35310055
ik heb een script dat stats in mijn database pompt maar ik wil er een error check in dat wanneer de pagina niet geladen kan worden dat hij bijvoorbeeld refreshed en nog eens probeert en dat er een mailtje wordt gestuurd bijvoorbeeld
de code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$lines
= file('http://URL');
while(
$i &lt; 300)
{
preg_match_all($regex,$lines[$i],$needle);
  
$needle = split(' ',$needle[0][0]);
  if(
$needle[0] != '' && is_numeric($needle[0]))
  {
    
$query = RunQuery("INSERT INTO");
    
CloseConDB($con);
    exit;
  }
$i++;
}
?>


de niet echt nuttige info er eff uitgewerkt

i wordt nu gebruikt om een x aantal rijen af te gaan (deze rij is variable en daaarom moet ik een loop gebruiken!)
nou heb ik dus de vraag: hoe kan ik zo slim mogelijk een error check erin zetten zodat bij een "pagina kan niet worden gevonden" error hij refreshed en/of iets anders doet?


yips only dus e.v.t. functies die ik zou moeten gebruiken, wil zelf ontdekken hoe de vork in de steel zit, geven jullie me maar de vork en de steel

[ Bericht 5% gewijzigd door mschol op 20-02-2006 23:23:17 ]
pi_35318190
$view = "0";

if ($view){ echo "check"; }

ziet hij $view als een boolean ofzo? want hij echoed geen check?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_35318226
Welkom tot de wereld van PHP's Loose Typing

Het houdt in dat het type van variabelen los kan worden omgezet. De string '0' is gelijk aan de boolean false, en omdat je daar een if-constructie hebt die op een boolean slaat wordt de string $view ook zo behandeld.

Als je een goede boolean check wilt doen, doe je dit:

$view = '0';

if ($view === true) { echo 'check'; }

Drie is-tekens dus om ook het type te controleren. Wil je weten of er iets in de string zit, dan kan dat op verschillende manieren:

if ($view != '') {}
if (strlen($view) > 0) {}

Etc
pi_35318672
aaaah

tenks!

en isset($view)?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_35331789
quote:
Op dinsdag 21 februari 2006 09:48 schreef Desdinova het volgende:
en isset($view)?
Die bepaalt of een variabele bestaat. Wat houd je tegen om het uit te proberen?
pi_35347846
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
<?php
$query
= "SELECT * FROM MRprocesses WHERE MasterID = '0' ORDER BY Name ASC";
$result = mysql_query($query);

while (
$row = mysql_fetch_object($result)){

    
$query2 = "SELECT * FROM MRprocesses WHERE MasterID = '".$row-&gt;ID."' ORDER BY Name ASC";
    
$result2 = mysql_query($query2);
    
    while (
$row2 = mysql_fetch_object($result2)){
    
        
$query3 = "SELECT * FROM MRprocesses WHERE MasterID = '".$row2-&gt;ID."' ORDER BY Name ASC";
        
$result3 = mysql_query($query3);
        
        while (
$row3 = mysql_fetch_object($result3)){
            
            
$query4 = "SELECT * FROM MRprocesses WHERE MasterID = '".$row3-&gt;ID."' ORDER BY Name ASC";
            
$result4 = mysql_query($query4);
        
            while (
$row4 = mysql_fetch_object($result4)){
            
            }
        }
    }
}
?>


kan dit automatisch tot in het oneindige? dus tot er geen resultaat meer is zeg maar?
pi_35348003
@InsaneM666

Ja, maar dat kun je beter met een recursieve functie doen. Overigens is zo'n operatie wel érg databaseintensief, in de vorige topics zijn een paar treestructuren besproken waarvan je er wellicht een paar van kunt gebruiken
pi_35367923
quote:
Op maandag 20 februari 2006 23:15 schreef mschol het volgende:
ik heb een script dat stats in mijn database pompt maar ik wil er een error check in dat wanneer de pagina niet geladen kan worden dat hij bijvoorbeeld refreshed en nog eens probeert en dat er een mailtje wordt gestuurd bijvoorbeeld
de code:
[ code verwijderd ]

de niet echt nuttige info er eff uitgewerkt

i wordt nu gebruikt om een x aantal rijen af te gaan (deze rij is variable en daaarom moet ik een loop gebruiken!)
nou heb ik dus de vraag: hoe kan ik zo slim mogelijk een error check erin zetten zodat bij een "pagina kan niet worden gevonden" error hij refreshed en/of iets anders doet?


yips only dus e.v.t. functies die ik zou moeten gebruiken, wil zelf ontdekken hoe de vork in de steel zit, geven jullie me maar de vork en de steel
niemand ?
pi_35368336
lijkt mij dat als je page niet wordt geladen, je hele script niet aangeroepen wordt?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_35368378
quote:
Op woensdag 22 februari 2006 15:50 schreef mschol het volgende:

[..]

niemand ?
Ik snap niet wat je wilt doen. Wil je externe pagina's opvragen en zodra dit niet lukt iets anders doen? What about zoiets:

1
2
3
4
5
6
7
8
9
10
11
foreach ($sites as $site) {
    $fp = @fopen($site, 'r');
    if (!$fp) {
        $failed = true;
        break;
    }
}
...
if ($failed === true) {
    //stuur mail
}
pi_35372858
quote:
Op dinsdag 21 februari 2006 22:49 schreef InsaneM666 het volgende:

[ code verwijderd ]

kan dit automatisch tot in het oneindige? dus tot er geen resultaat meer is zeg maar?
Probeer je een parent-child tree te bouwen? Dan kun je wellicht beter alles uit de database halen en met php in elkaar zetten.
  woensdag 22 februari 2006 @ 18:12:05 #28
37634 wobbel
Da WoBBeL King
pi_35373666
Ik heb een .m3u file in het volgende formaat:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#EXTINF:199,Smashmouth - All Star
D:\MP3\Februari 2006\Smashmouth - Allstar.mp3
#EXTINF:208,Soulvation - Reset Your Brain
D:\MP3\Februari 2006\Soulvation - Reset Your Brain.mp3
#EXTINF:283,Sunblock - I'll Be Ready (Extended version)
D:\MP3\Februari 2006\Sunblock - I'll Be Ready .mp3
#EXTINF:247,Survivor - Eye Of The Tiger
D:\MP3\Februari 2006\Survivor - Eye Of The Tiger.mp3
#EXTINF:350,System F - Out of the Blue
D:\MP3\Februari 2006\System F - Out Of The Blue.mp3
#EXTINF:188,Tatu - Friend Or Foe
D:\MP3\Februari 2006\Tatu - Friend Or Foe.mp3
#EXTINF:260,The Bloodhound Gang - Uhn Tiss Uhn Tiss Uhn Tiss
D:\MP3\Februari 2006\The Bloodhound Gang - Uhn Tiss Uhn Tiss Uhn Tiss.mp3
#EXTINF:213,The Source ft. Candi Staton - You Got The Love
D:\MP3\Februari 2006\The Source ft. Candi Staton - You Got The Love.mp3


Hoe zorg ik ervoor dat ik het getal achter de #EXTINF: krijg (dus 288, 205, 204, 213 etc), de titel achter de komma bij het getal (dus artiest en titel) en de locatie (D:\mp3\februari 2006\young j...etc)

Hoe zorg ik ervoor dat ik dat allemaal uit elkaar haal en apart in strings stop zodat ik elk gegeven in een record kan stoppen?

Dus:
$tijd = 213
$titel = The Source ft. Candi Staton - You Got The Love
$locatie = D:\MP3\Februari 2006\The Source ft. Candi Staton - You Got The Love.mp3

Heel simpel beginseltje

1
2
3
4
5
6
7
8
9
10
<?php
php
$data
= file("playlist.m3u");

foreach (
$data as $entry)
{

}

?>
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 19:45:59 #29
1972 Swetsenegger
Egocentrische Narcist
pi_35377657
Simpele vraag.

Ik gebruik nu addslashes in combinatie met een if(!get_magic_quotes_gpc()). Indien magic quotes uitstaat, slash ik mijn data dus.

Maar op de een of andere manier krijg ik toch een foutmelding op mijn query wanneer een item een quote of dubbele quote bevat.

Eerste vraag: waarom?

Tweede vraag. Wat is het verschil met bovenstaande en mysql_real_escape_string?
pi_35377938
Je doet iets als

1$sql = "SELECT foo FROM bar WHERE baz='" . addslashes($string) . "'";


en toch krijg je een foutmelding over een niet-geescapete quote?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 19:53:42 #31
1972 Swetsenegger
Egocentrische Narcist
pi_35377942
quote:
Op woensdag 22 februari 2006 18:12 schreef wobbel het volgende:
Ik heb een .m3u file in het volgende formaat:
[ code verwijderd ]

Hoe zorg ik ervoor dat ik het getal achter de #EXTINF: krijg (dus 288, 205, 204, 213 etc), de titel achter de komma bij het getal (dus artiest en titel) en de locatie (D:\mp3\februari 2006\young j...etc)

Hoe zorg ik ervoor dat ik dat allemaal uit elkaar haal en apart in strings stop zodat ik elk gegeven in een record kan stoppen?

Dus:
$tijd = 213
$titel = The Source ft. Candi Staton - You Got The Love
$locatie = D:\MP3\Februari 2006\The Source ft. Candi Staton - You Got The Love.mp3

Heel simpel beginseltje
[ code verwijderd ]
www.php.net/explode
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 19:57:49 #32
1972 Swetsenegger
Egocentrische Narcist
pi_35378114
quote:
Op woensdag 22 februari 2006 19:53 schreef SuperRembo het volgende:
Je doet iets als
[ code verwijderd ]

en toch krijg je een foutmelding over een niet-geescapete quote?
1
2
3
4
5
6
7
8
9
10
11
<?php
if(!get_magic_quotes_gpc())
                                {
                                
$author=addslashes($author);
                                
$title=addslashes($title);
                                
$description=addslashes($description);
                                }
$query="INSERT INTO tabel
            (id,iuser,send,genre,ISBN,author,title,description,price,image,update_id,date)
            VALUES(0,48,1,'"
.$genre."','".$isbn."','".$author."','".$title."','".$description."','".$price."','$image','$update_id',NOW())";
?>


En ik krijg dus fouten terug van records welke niet geplaatst kunnen worden
You have an error near "'s morgens in alle vroegte, xxxxx,xxxxx"

Op de quotes krijg ik dus een error
Ik heb het nu zojuist vervangen in:

1
2
3
4
5
<?php
$author
=mysql_real_escape_string($author);
$title=mysql_real_escape_string($title);
$description=mysql_real_escape_string($description);
?>


Dus zonder te kijken of magic_quotes aanstaat
En dan loopt mijn loopje zonder fouten door alle records. Het valt me wel op dat met de laatste de data niet escaped in de tabel staat.
pi_35378490
Het verschil tussen addslashes en mysql_real_escape_string zit er zo te zien (in de manual) vooral in dat die laatste ook dingen als carriage return en newline tekens. En dat zou best het verschil kunnen maken als je description uit een textarea komt.
De beste aanpak is denk ik om altijd als magic quotes aan staan stripslashes over $_GET / $_POST te halen. Als je de sql samenstelt dan gebruik je mysql_real_escape_string.
quote:
Het valt me wel op dat met de laatste de data niet escaped in de tabel staat.
Dan staat magic quotes blijkbaar uit
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:10:29 #34
1972 Swetsenegger
Egocentrische Narcist
pi_35378667
quote:
Op woensdag 22 februari 2006 20:06 schreef SuperRembo het volgende:
Het verschil tussen addslashes en mysql_real_escape_string zit er zo te zien (in de manual) vooral in dat die laatste ook dingen als carriage return en newline tekens. En dat zou best het verschil kunnen maken als je description uit een textarea komt.
De beste aanpak is denk ik om altijd als magic quotes aan staan stripslashes over $_GET / $_POST te halen. Als je de sql samenstelt dan gebruik je mysql_real_escape_string.
Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?

In dit geval komt de data uit een CSV omdat ik 2000 records in 1 keer moet plaatsen. De code komt min of meer rechtstreeks uit de life website, waar de data WEL uit $_POST komt. Daar gaat het overigens goed.

Maar slashed mysql_real_escape_string de data dan alleen 'virtueel' voor de query ofzo? Want zoals gezegd staat de data niet ge-escaped in de tabel.
pi_35378927
quote:
Op woensdag 22 februari 2006 20:10 schreef Swetsenegger het volgende:

[..]

Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?

In dit geval komt de data uit een CSV omdat ik 2000 records in 1 keer moet plaatsen. De code komt min of meer rechtstreeks uit de life website, waar de data WEL uit $_POST komt. Daar gaat het overigens goed.

Maar slashed mysql_real_escape_string de data dan alleen 'virtueel' voor de query ofzo? Want zoals gezegd staat de data niet ge-escaped in de tabel.
magic_quotes slasht alles wat zich in $_POST/$_GET/etc. bevind?
Ik gebruik doorgaans dit:
1
2
3
4
5
6
7
8
9
   if(get_magic_quotes_gpc()) {
      foreach($_GET as $key => $getval) {
         $_GET[$key] = stripslashes($getval);
      }
      foreach($_POST as $key => $postval) {
         $_POST[$key] = stripslashes($postval);
      }
      
   }
pi_35379404
quote:
Op woensdag 22 februari 2006 20:10 schreef Swetsenegger het volgende:

[..]

Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?
Nope, zoals hierboven wordt gezegd wordt op alle $_POST, $_GET en $_COOKIE-variabelen addslashes() toegepast op het begin van het script. Normaal doe je dus een stripslashes() op die variabelen op het begin van het script indien magic_quotes_gpc aanstaat, en weer een addslashes() of mysql_real_escape_string() als je het in de query gaat zetten. En niet eerder
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:27:53 #37
1972 Swetsenegger
Egocentrische Narcist
pi_35379503
quote:
Op woensdag 22 februari 2006 20:26 schreef JeRa het volgende:

[..]

Nope, zoals hierboven wordt gezegd wordt op alle $_POST, $_GET en $_COOKIE-variabelen addslashes() toegepast op het begin van het script. Normaal doe je dus een stripslashes() op die variabelen op het begin van het script indien magic_quotes_gpc aanstaat, en weer een addslashes() of mysql_real_escape_string() als je het in de query gaat zetten. En niet eerder
Ok, ik slash dus data wanneer het de query ingaat (mits magic quotes uitstaan)
Dus er wordt gepost, ik addslashes, ik insert.

Dat is dus niet goed

-edit- of eigenlijk wel, als ik tussendoor wat met de data doe strip ik wel slashes.
pi_35379776
quote:
Op woensdag 22 februari 2006 20:10 schreef Swetsenegger het volgende:

[..]

Stripslashes als het uit een $_POST komt Waarom? magicquotes gaat pas bij een qeury toch slashen?
Zo magic is magic quotes gpc niet
Magic quotes GPC is gewoon lomp en escaped alle quotes in Get Post en Cookies.
Dat kan problemen geven als je die gegevens wil valideren. Of als je het helemaal niet in een sql string wil gebruiken, zouals een preview in html. Of als je een string op een bepaalde lengte af wil kappen; dan klopt de lengte niet en je het het risico dat je string eindigt op een backslash.
En nu blijkt het ook niet eens altijd te werken
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35379955
quote:
Op woensdag 22 februari 2006 20:32 schreef SuperRembo het volgende:

[..]

Zo magic is magic quotes gpc niet
Magic quotes GPC is gewoon lomp en escaped alle quotes in Get Post en Cookies.
Dat kan problemen geven als je die gegevens wil valideren. Of als je het helemaal niet in een sql string wil gebruiken, zouals een preview in html. Of als je een string op een bepaalde lengte af wil kappen; dan klopt de lengte niet en je het het risico dat je string eindigt op een backslash.
En nu blijkt het ook niet eens altijd te werken
En daarbij komt nog eens het feit dat je het risico loopt dubbel te escapen natuurlijk, bijvoorbeeld als je script van server wisselt.

Wat dat betreft hadden ze magic qoutes/register_globals, en nog wat functies beter weg kunnen laten.
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:40:38 #40
1972 Swetsenegger
Egocentrische Narcist
pi_35380228
quote:
Op woensdag 22 februari 2006 20:32 schreef SuperRembo het volgende:

[..]

Zo magic is magic quotes gpc niet
Magic quotes GPC is gewoon lomp en escaped alle quotes in Get Post en Cookies.
Dat kan problemen geven als je die gegevens wil valideren. Of als je het helemaal niet in een sql string wil gebruiken, zouals een preview in html. Of als je een string op een bepaalde lengte af wil kappen; dan klopt de lengte niet en je het het risico dat je string eindigt op een backslash.
En nu blijkt het ook niet eens altijd te werken
Fuck, met valideren en dergelijke had ik er eigenlijk helemaal nog niet bij nagedacht.
Hmz, gelukkig staat het op de meeste servers uit, maar wel iets om rekening mee te houden.

Thnks
pi_35380286
quote:
Op woensdag 22 februari 2006 20:36 schreef DutchBlood het volgende:
Wat dat betreft hadden ze magic qoutes/register_globals, en nog wat functies beter weg kunnen laten.
Dat is ook de aanbevolen instelling. Maar om een of andere reden staat het bij webhosts vaak wel aan. Het zal wel zijn omdat ouwe brakke scripts niet goed werken
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35380566
quote:
Op woensdag 22 februari 2006 20:40 schreef Swetsenegger het volgende:

[..]

Fuck, met valideren en dergelijke had ik er eigenlijk helemaal nog niet bij nagedacht.
Hmz, gelukkig staat het op de meeste servers uit, maar wel iets om rekening mee te houden.

Thnks
Daarom is het ook aan te raden om aan het begin van elk script iets te includen/require_once-en wat er voor zorgt dat er gestriptslashed wordt wanneer dat nodig is.
pi_35380650
quote:
Op woensdag 22 februari 2006 20:41 schreef SuperRembo het volgende:

[..]

Dat is ook de aanbevolen instelling. Maar om een of andere reden staat het bij webhosts vaak wel aan. Het zal wel zijn omdat ouwe brakke scripts niet goed werken
Uitermate irritant is dat ja. Heb vaak genoeg scripts die niet meer werken doordat het aan staat. Dit omdat sommige variabelen dan ineens 'vervangen' worden.
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 20:50:05 #44
1972 Swetsenegger
Egocentrische Narcist
pi_35380744
quote:
Op woensdag 22 februari 2006 20:47 schreef DutchBlood het volgende:

[..]

Daarom is het ook aan te raden om aan het begin van elk script iets te includen/require_once-en wat er voor zorgt dat er gestriptslashed wordt wanneer dat nodig is.
Inderdaad binnenkort een functie voor schrijven
Dus... stripslashes van alle userinput.
mysql_rela_escape_string bij ALLE data welke de db ingaat.
Dat laatste voorwaardelijk (dus if(!get_magic_quotes_gpc())) of ALTIJD?
quote:
En daarbij komt nog eens het feit dat je het risico loopt dubbel te escapen natuurlijk, bijvoorbeeld als je script van server wisselt.
Dat voorkom je door te controleren of magic quotes GPC aanstaat
pi_35380907
@Swetsenegger

Stripslashes() op het begin van je script, afhankelijk van get_magic_quotes_gpc().
Áltijd addslashen als het in een query gaat
pi_35380994
quote:
Op woensdag 22 februari 2006 20:50 schreef Swetsenegger het volgende:

[..]

Inderdaad binnenkort een functie voor schrijven
Dus... stripslashes van alle userinput.
mysql_rela_escape_string bij ALLE data welke de db ingaat.
Dat laatste voorwaardelijk (dus if(!get_magic_quotes_gpc())) of ALTIJD?
[..]

Dat voorkom je door te controleren of magic quotes GPC aanstaat
Van http://nl3.php.net/manual/nl/function.get-magic-quotes-gpc.php

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

       return $value;
   }

   $_POST = array_map('stripslashes_deep', $_POST);
   $_GET = array_map('stripslashes_deep', $_GET);
   $_COOKIE = array_map('stripslashes_deep', $_COOKIE);

?>
pi_35381088
quote:
Op woensdag 22 februari 2006 20:47 schreef DutchBlood het volgende:

[..]

Daarom is het ook aan te raden om aan het begin van elk script iets te includen/require_once-en wat er voor zorgt dat er gestriptslashed wordt wanneer dat nodig is.
Op apache kan je het ook uitzetten door een regeltje in .htaccess:

1php_flag magic_quotes_gpc off
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35381415
quote:
Op woensdag 22 februari 2006 20:55 schreef DutchBlood het volgende:

[..]

Van http://nl3.php.net/manual/nl/function.get-magic-quotes-gpc.php
[ code verwijderd ]
Kan dat eigelijk niet beter (sneller) met array_walk?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35382682
Volgens de comments op php.net niet.

Maar werkt die regel in de .htaccess altijd? Of heb je er rechten voor nodig @ apache.
pi_35383055
quote:
Op woensdag 22 februari 2006 16:01 schreef JeRa het volgende:

[..]

Ik snap niet wat je wilt doen. Wil je externe pagina's opvragen en zodra dit niet lukt iets anders doen? What about zoiets:
[ code verwijderd ]
ik zal proberen het te verduidelekijen

elke dag om 0:00 wordt mijn php.exe aangeroepen met een script, dit script leest d.m.v. file() een bepaalde pagina waar statistieken op staan. (en zet ze in de database, als ze gevonden zijn anders doet hij niks)

Wat doet het script precies:
laad de pagina d.m.v. file() in de variable $lines
vervolgens gaat hij een while in om de regel te vinden waar de statistieken in staan (d.m.v. een preg_match()), als hij een match heeft gevonden dan zet hij het resultaat in de database:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$i
=80;
$lines = file('http://URL');
while(
$i &lt; 300)
{
preg_match_all($regex,$lines[$i],$needle);
  
$needle = split(' ',$needle[0][0]);
  if(
$needle[0] != '' && is_numeric($needle[0]))
  {
    
$query = RunQuery("INSERT INTO");
    
CloseConDB($con);
    exit;
  }
$i++;
}
?>

mijn (probleem)punten:
1. de pagina die wordt geladen veranderdt veel en heeft dus niet telkens een standaard regel nummer waar de statistieken staan
- kan dit efficienter?

2. als de site plat ligt of mijn internetverbinding is overbelast dan krijg ik een "pagina kan niet worden gevonden" pagina die wordt gelezen.
- hier zit me echte probleem: ik wil dat ik dit in het script kan op vangen door bijvoorbeeld te zeggen dat het script nogmaals de pagina moet proberen te laden totdat het lukt..
ik hoop dat het nu iets duidelijker is...
pi_35383367
@mschol

1. Het aantal regels ontdek je door count($lines) op te vragen
2. Als de pagina écht down is kun je er niets aan doen natuurlijk. Maar kun je geen loopje bedenken dat loopt zolang het aantal regels 0 is?

1
2
3
4
5
6
7
8
9
$maxTries = 20;
$tries = 0;
do {
    if ($tries > 0) {
        sleep(2);
    }
    $lines = file('url');
    $tries++;
} while ((count($lines) == 0) && ($tries < $maxTries));

Niet netjes, maar het is een simpel voorbeeld van hoe je zoiets zou kunnen afvangen
pi_35383886
quote:
Op woensdag 22 februari 2006 21:37 schreef JeRa het volgende:
@mschol

2. Als de pagina écht down is kun je er niets aan doen natuurlijk. Maar kun je geen loopje bedenken dat loopt zolang het aantal regels 0 is?
[ code verwijderd ]

Niet netjes, maar het is een simpel voorbeeld van hoe je zoiets zou kunnen afvangen
probleem is dat wanneer de pagina down is hij nooit leeg is (je krijgt immers de foutmeldingspagina van windows ofzo terug (geen idee waarom dit gebeurd maar is zo)
maar iuk moet dus alleen eff uitvogelen hoe lang de error pagina is dan kan ik er wel wat mee denk ik

of kan ik de http status code misschien ophalen ergens met php?
pi_35384539
quote:
Op woensdag 22 februari 2006 21:47 schreef mschol het volgende:

[..]

of kan ik de http status code misschien ophalen ergens met php?
Niet op deze manier, dat kan wel als je met sockets gaat werken. Beter controleer je gewoon of bepaalde woorden in de array voorkomen, zoals 'Page not found' oid
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 22:10:38 #54
1972 Swetsenegger
Egocentrische Narcist
pi_35385026
quote:
Op woensdag 22 februari 2006 22:00 schreef JeRa het volgende:
Beter controleer je ...
JeRa is Maroc?
pi_35385153
quote:
Op woensdag 22 februari 2006 22:10 schreef Swetsenegger het volgende:

[..]

JeRa is Maroc?
Je weet togg, sssssukkel.

Nah, wtf?
  FOK!-Schrikkelbaas woensdag 22 februari 2006 @ 22:15:44 #56
1972 Swetsenegger
Egocentrische Narcist
pi_35385327
quote:
Op woensdag 22 februari 2006 22:12 schreef JeRa het volgende:

[..]

Je weet togg, sssssukkel.

Nah, wtf?
  donderdag 23 februari 2006 @ 09:34:20 #57
26631 Boink
Ik ben er klaar voor!
pi_35396868
Hoi

Op e.o.a. manier wil de unlink niet werken
Zie
1
2
3
4
5
6
7
8
9
10
11
12
13
else if(isset($_GET["state"]) && $_GET["state"] == "delete") {

    $cnt = $db->query("SELECT count(*) as count from images WHERE img_unique = '".$_GET["id"]."'");

    $db->doQuery("DELETE FROM images WHERE img_unique = '".$_GET["id"]."'");

   $db->doQuery("DELETE FROM cars WHERE car_unique = '".$_GET["id"]."'");

   for($x=0; $x<$cnt[0][0]; $x++) {

   unlink("../files/".$_GET["id"]."_".($x+1).".jpg");

   }


Ik heb dit volledig via de handleiding van php.net gedaan, ik zit in een directory waar hij eerst uit moet en dan in de files directory de foto's moet deleten,
Dit werkt wel op de huidige server alleen niet op de php5 i.c.m. mysql5 server waar binnenkort naar gemigreerd wordt.
Kan iemand mij redden hier?
pi_35397062
tvp mbt regexp
pi_35397322
quote:
Op donderdag 23 februari 2006 09:34 schreef Boink het volgende:
Hoi

Op e.o.a. manier wil de unlink niet werken
Zie
[ code verwijderd ]

Ik heb dit volledig via de handleiding van php.net gedaan, ik zit in een directory waar hij eerst uit moet en dan in de files directory de foto's moet deleten,
Dit werkt wel op de huidige server alleen niet op de php5 i.c.m. mysql5 server waar binnenkort naar gemigreerd wordt.
Kan iemand mij redden hier?
Wat voor een foutmelding krijg je dan?
probeer anders dit eens :
1
2
3
4
5
6
$file = "../files/".$_GET["id"]."_".($x+1).".jpg";
if(is_file($file){
       unlink($file);
}else{
       echo $file." bestaat niet.";
}

En moet dit:
1$cnt = $db->query("SELECT count(*) as count from images WHERE img_unique = '".$_GET["id"]."'");

niet dit zijn:
1$cnt = $db->doQuery("SELECT count(*) as count from images WHERE img_unique = '".$_GET["id"]."'");
  donderdag 23 februari 2006 @ 12:37:58 #60
26631 Boink
Ik ben er klaar voor!
pi_35402231
Ik heb je even toegevoegd op msn als je geen bezwaar hebt
pi_35402497
Daar heb ik geen bezwaar tegen, maar ik zit niet de hele dag op msn, en tis handiger om het via hier te doen, want er zitten hier een hoop mensen die beter zijn dan ik.
  donderdag 23 februari 2006 @ 13:06:01 #62
26631 Boink
Ik ben er klaar voor!
pi_35403153
Parse error: syntax error, unexpected '{' in /home/testteam/public_html/autogespot/admin/viewcars.php on line 163

http://dev.wscp.nu/~testteam/autogespot/admin/viewcars.phps

Krijg ik nu
pi_35403215
Regel 163: if(is_file($file){

Dat moet zijn : if(is_file($file)){

Je bent een afsluitend hekje )vergeten
pi_35403282
ja..ik ben daar een haakje vergeten....
1if(is_file($file){

moet zijn :
1if(is_file($file)){
  donderdag 23 februari 2006 @ 13:48:26 #65
26631 Boink
Ik ben er klaar voor!
pi_35404734
Op lijn 555 zit ook nog een fout waar ik ook niet achter kan komen, niet dat unlink nu al werkt maar maybe komt het daardoor.
Notice: Undefined variable: type in /home/testteam/public_html/autogespot/admin/viewcars.php on line 555


http://dev.wscp.nu/~testteam/autogespot/admin/viewcars.phps

Ik heb trouwens dit hele script niet geschreven, dat heeft onze huisscripter gedaan maar die is tijdelijk afwezig. En aangezien we in maart verhuizen naar php5 en mysql5 moeten we vlekkeloos overgaan En ben ik nu degene met de meeste "kennis" van php, dus zal ik het moeten proberen op te lossen

[ Bericht 37% gewijzigd door Boink op 23-02-2006 13:54:35 ]
  donderdag 23 februari 2006 @ 13:54:59 #66
52200 ViPeRII
It's a good day to die
pi_35404932
moet dat geen $_GET['type'] zijn?
Hij herkent de variable $type niet.
anders moet je ergens anders in je script $type declareren.

Verder is dit een notice, en is dus geen fout
-- ViPeRII --
pi_35405377
quote:
Op donderdag 23 februari 2006 13:54 schreef ViPeRII het volgende:
moet dat geen $_GET['type'] zijn?
Hij herkent de variable $type niet.
anders moet je ergens anders in je script $type declareren.

Verder is dit een notice, en is dus geen fout
het gebruik van $type voor het ophalen van die get/post variable is tegenwoordig toch ook sterk afgeraden??
had ook iets met register_globals te maken meen ik?
  donderdag 23 februari 2006 @ 14:09:07 #68
26631 Boink
Ik ben er klaar voor!
pi_35405464
quote:
Op donderdag 23 februari 2006 13:54 schreef ViPeRII het volgende:
moet dat geen $_GET['type'] zijn?
Hij herkent de variable $type niet.
anders moet je ergens anders in je script $type declareren.

Verder is dit een notice, en is dus geen fout
Top, dat isook weer weg,

nu die unlink nog, want dat werkt ook nog steeds niet. Ik heb nu dit.

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
else if(isset($_GET["state"]) && $_GET["state"] == "delete") {

    $cnt = $db->doQuery("SELECT count(*) as count from images WHERE img_unique = '".$_GET["id"]."'"); 

    $db->doQuery("DELETE FROM images WHERE img_unique = '".$_GET["id"]."'");

   $db->doQuery("DELETE FROM cars WHERE car_unique = '".$_GET["id"]."'");

   for($x=0; $x<$cnt[0][0]; $x++) {

$file = "../files/".$_GET["id"]."_".($x+1).".jpg";

 if(is_file($file)){ 

       unlink($file);

}else{

       echo $file." bestaat niet.";

}
   }

   header("Location: viewcars.php");

}


Het verwijderen uit de database lukt wel.. De files alleen niet.
pi_35405618
quote:
Op donderdag 23 februari 2006 14:09 schreef Boink het volgende:

[..]

Top, dat isook weer weg,

nu die unlink nog, want dat werkt ook nog steeds niet. Ik heb nu dit.
[ code verwijderd ]

Het verwijderen uit de database lukt wel.. De files alleen niet.
Heeft je script wel de juiste rechten? Chmod eens 777 anders.
  donderdag 23 februari 2006 @ 14:51:38 #70
26631 Boink
Ik ben er klaar voor!
pi_35407070
quote:
Op donderdag 23 februari 2006 14:13 schreef DutchBlood het volgende:

[..]

Heeft je script wel de juiste rechten? Chmod eens 777 anders.
Ja alles is gewoon 777
pi_35408109
Als ik wel uit een database kan lezen, maar niks in kan voeren, waar ligt dat dan hoogstwaarschijnlijk aan, even ervan uit gaande dat ik geen typo's heb gemaakt?
pi_35408427
http://www.toeps.nl/Testbase/Smoels.phps

Hier dus de code.
Het is een invoerpagina voor het smoelenboek van de Dierenbescherming.

Het ophalen van info uit de database werkt wel:
http://www.toeps.nl/Testbase/Testbase.php
http://www.toeps.nl/Testbase/Testbase.phps
pi_35408915
Ook na het zetten van leuke ` tekentjes bij de databasenamen lukt het niet.
  donderdag 23 februari 2006 @ 15:42:32 #74
73485 Niox
I'm sorry, who?
pi_35409063
quote:
Op donderdag 23 februari 2006 15:39 schreef Toeps het volgende:
Ook na het zetten van leuke ` tekentjes bij de databasenamen lukt het niet.
Waarschijnlijk klopt je query niet. Vervang or die("FOUT!") eens door (mysql_error ()) en post de error die je krijgt hier.

En post je code met je INSERT query eens hier .
Als je alles onder controle hebt, ga je gewoon niet snel genoeg.
A man is rich in proportion to the number of things he can afford to let alone.
pi_35410129
Hmm, phps werkt niet op mijn host, dat is waar ook. Ff ergens anders uploaden...

http://stud.cmd.hro.nl/0764519/jaar1/Smoels.phps
pi_35410198
Als ik mysql_error doe, krijg ik gewoon een wit scherm en in de source staan alleen <body></body>

  donderdag 23 februari 2006 @ 16:18:02 #77
73485 Niox
I'm sorry, who?
pi_35410556
Er staat $_POST["kittencentrale"] tussen je values, maar die is niet terug te vinden in je kolommenlijst.

Waar heb je trouwens op zo'n prachtige manier queries leren schrijven .
Als je alles onder controle hebt, ga je gewoon niet snel genoeg.
A man is rich in proportion to the number of things he can afford to let alone.
pi_35410674
Sniegoed?
Ik heb het uit een boek en zo, want op school (CMD) leren ze me niet zo veel.

Kittencentrale vergeten?! Da's alles?!
pi_35410788
Aaah!!!! Mijn naam is STOMME IDIOOT!!

  donderdag 23 februari 2006 @ 16:26:28 #80
73485 Niox
I'm sorry, who?
pi_35410870
quote:
Op donderdag 23 februari 2006 16:21 schreef Toeps het volgende:
Sniegoed?
Ik heb het uit een boek en zo, want op school (CMD) leren ze me niet zo veel.
Ieder z'n eigen stijl natuurlijk, maar ik vind dit verre van prettig lezen. Weinig overzichtelijk en dan maak je makkelijk van die kleine klotefoutjes.
quote:
Kittencentrale vergeten?! Da's alles?!
quote:
Op donderdag 23 februari 2006 16:23 schreef Toeps het volgende:
Aaah!!!! Mijn naam is STOMME IDIOOT!!

Whehehe

Edit:

Plak er voortaan eens zoiets in:

1
2
3
4
<?php
if(!$result = mysql_query($sql, $db))
  echo "Deze query verneukt: ".$query.", op deze manier: ".mysql_error().".";
?>


[ Bericht 16% gewijzigd door Niox op 23-02-2006 16:32:49 ]
Als je alles onder controle hebt, ga je gewoon niet snel genoeg.
A man is rich in proportion to the number of things he can afford to let alone.
pi_35412678
@boink geef eens het volledige path op ipv $file = "../files/...
  FOK!-Schrikkelbaas donderdag 23 februari 2006 @ 22:24:29 #82
1972 Swetsenegger
Egocentrische Narcist
pi_35423866
Ik heb ZCE vast gezet, dus ik ben nu bezig in het practise testboek.

Kom ik er achter dat php EERST aftrekt en pas daarna optelt ipv het Meneer Van Dalen Wacht Op Antwoord alternatief

dus 20-10+4+2=16 en niet 20-10+4+2=4 zoals ik verwacht. Ligt het mij of is dat vreemd?

http://nl2.php.net/manual/nl/language.operators.php#language.operators.precedence
pi_35423933
quote:
Op donderdag 23 februari 2006 22:24 schreef Swetsenegger het volgende:
Ik heb ZCE vast gezet, dus ik ben nu bezig in het practise testboek.

Kom ik er achter dat php EERST aftrekt en pas daarna optelt ipv het Meneer Van Dalen Wacht Op Antwoord alternatief

dus 20-10+4+2=16 en niet 20-10+4+2=4 zoals ik verwacht. Ligt het mij of is dat vreemd?
dan splits je je berekening in 2en?
  FOK!-Schrikkelbaas donderdag 23 februari 2006 @ 22:27:05 #84
1972 Swetsenegger
Egocentrische Narcist
pi_35423965
quote:
Op donderdag 23 februari 2006 22:26 schreef mschol het volgende:

[..]

dan splits je je berekening in 2en?
Daar gaat het niet om, het is een testvraag uit een proefexamen
Maar plus en min worden dus 'gelijk' geinterpreteerd. En wie het eerst komt het eerst maalt begrijp ik uit de manual.
pi_35424038
Nee het is volkomen logisch. Die meneer van Dale wacht op antwoord is niet helemaal lekker eigenlijk
Hij klopt wel MAAR, optellen en aftrekken hebben gelijke prioriteit en worden behandeld in volgorde dat ze staan.
Vermenigvuldigen en delen hetzelfde verhaal, ze worden behandeld in volgorde dat ze staan.
(vermenigvuldigen/delen gaat wel voor optellen/aftrekken)

-edit-
Wat je hierboven zegt idd
Tis standaard in de wiskunde trouwens, niet alleen in php
  FOK!-Schrikkelbaas donderdag 23 februari 2006 @ 22:33:32 #86
1972 Swetsenegger
Egocentrische Narcist
pi_35424217
quote:
Op donderdag 23 februari 2006 22:28 schreef ikke_ook het volgende:

Tis standaard in de wiskunde trouwens, niet alleen in php
Dan ligt het aan mij .
Die vraag heb ik alvast fout, maar ik vergeet het niet meer (net als de << operator welke in dezelfde opgave voorkwam. Ik kon hem niet, hoewel ik een vermoeden had)
pi_35425483
Met wat haakjes is dit vrij makkelijk op te lossen natuurlijk. Wiskundig èn mogelijk in php.
  FOK!-Schrikkelbaas donderdag 23 februari 2006 @ 23:09:25 #88
1972 Swetsenegger
Egocentrische Narcist
pi_35425575
quote:
Op donderdag 23 februari 2006 23:07 schreef DutchBlood het volgende:
Met wat haakjes is dit vrij makkelijk op te lossen natuurlijk. Wiskundig èn mogelijk in php.
quote:
Op donderdag 23 februari 2006 22:27 schreef Swetsenegger het volgende:

[..]

Daar gaat het niet om, het is een testvraag uit een proefexamen
pi_35425721
quote:
Op donderdag 23 februari 2006 23:09 schreef Swetsenegger het volgende:

[..]


[..]
Ok, dan heb ik niks gezegd.

Voor welk examen ben je aan het oefenen dan?
pi_35426145
quote:
Op donderdag 23 februari 2006 23:13 schreef DutchBlood het volgende:

[..]

Ok, dan heb ik niks gezegd.

Voor welk examen ben je aan het oefenen dan?
Lezen blijft lastig zeker
quote:
Op donderdag 23 februari 2006 22:24 schreef Swetsenegger het volgende:
Ik heb ZCE vast gezet, dus ik ben nu bezig in het practise testboek.
pi_35426161
Ow, succes Swets
  vrijdag 24 februari 2006 @ 01:37:43 #92
12221 Tijn
Powered by MS Paint
pi_35430768
Ik heb een tijdje geleden Pear geinstalleerd op m'n Ubuntu-machine. Dat leek toen wel goed te gaan. Ik kan ook packages toevoegen enzo, geen klachten.

Vanavond had ik wat tijd over en dacht ik, laat ik er eens wat mee doen. Dus ik heb Auth geinstalleerd om te kijken of het allemaal werkt. Ik heb in m'n database een tabel "auth" gemaakt met ruimte voor usernames en passwords en daar als test mezelf ingezet met een MD5 password. Vervolgens heb ik het voorbeeld uit de handleiding gekopieerd, de database-gegevens ingevuld en in een bestand genaamd test.php op m'n server gezet.

Dat leverde dit op: Fatal error: Cannot unset string offsets in /usr/share/pear/Auth.php on line 180

Wat nu?
  vrijdag 24 februari 2006 @ 10:42:04 #93
26631 Boink
Ik ben er klaar voor!
pi_35435909
Fixed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
else if(isset($_GET["state"]) && $_GET["state"] == "delete") {

    $cnt = $db->query("SELECT count(*) as count from images WHERE img_unique = '".$_GET["id"]."'");

    $db->doQuery("DELETE FROM images WHERE img_unique = '".$_GET["id"]."'");

   $db->doQuery("DELETE FROM cars WHERE car_unique = '".$_GET["id"]."'");

   for($x=0; $x<$cnt[0][0]; $x++) {

     unlink("../files/".$_GET["id"]."_".($x+1).".jpg");
     print("../files/".$_GET["id"]."_".($x+1).".jpg<br />");

   }
  vrijdag 24 februari 2006 @ 10:50:01 #94
52200 ViPeRII
It's a good day to die
pi_35436092
quote:
Op vrijdag 24 februari 2006 01:37 schreef Tijn het volgende:
Ik heb een tijdje geleden Pear geinstalleerd op m'n Ubuntu-machine. Dat leek toen wel goed te gaan. Ik kan ook packages toevoegen enzo, geen klachten.

Vanavond had ik wat tijd over en dacht ik, laat ik er eens wat mee doen. Dus ik heb Auth geinstalleerd om te kijken of het allemaal werkt. Ik heb in m'n database een tabel "auth" gemaakt met ruimte voor usernames en passwords en daar als test mezelf ingezet met een MD5 password. Vervolgens heb ik het voorbeeld uit de handleiding gekopieerd, de database-gegevens ingevuld en in een bestand genaamd test.php op m'n server gezet.

Dat leverde dit op: Fatal error: Cannot unset string offsets in /usr/share/pear/Auth.php on line 180

Wat nu?
Humz het lijkt wel of de string offsets geen waarde heeft, of helemaal niet bestaat.
Kan je auth.php hier niet plaatsen? Dan kunnen we verder kijken,...

Volgens mij heb ik het trouwens al gevonden:
http://pear.php.net/bugs/bug.php?id=4371

(
exactly the same error, but for a "File" auth backend.

this is my call the Auth constructor:

$a = new Auth("File", ".htpasswd");

this is the error:
Fatal error: Cannot unset string offsets in
/usr/local/lib/php/pear/Auth.php on line 180

this is a patch/fix which I have made to Auth.php (v1.2.3)

function Auth($storageDriver, $options = '', $loginFunction = '',
$showLogin = true)
{
if (is_array($options) &&
!empty($options['sessionName'])) {
$this->_sessionName = $options['sessionName'];
unset($options['sessionName']);
}

note that is checking whether $options is an array before attempting to
index into it (indexing into a string with an associative key, can't
work).
)
-- ViPeRII --
  vrijdag 24 februari 2006 @ 11:20:55 #95
12221 Tijn
Powered by MS Paint
pi_35437024
Hey, bedankt ViPeRII! Het werkt

Wel een beetje jammer dat zo'n standaardpakketje al gelijk problemen oplevert
  vrijdag 24 februari 2006 @ 11:21:40 #96
52200 ViPeRII
It's a good day to die
pi_35437050
Dat wel, is een bug in de laatste release... komt wel weer goed.
Wat doet het pakketje pear eigenlijk?
-- ViPeRII --
  vrijdag 24 februari 2006 @ 11:24:15 #97
12221 Tijn
Powered by MS Paint
pi_35437116
Pear is een systeem voor standaardscripts, zodat je niet elke keer het wiel aan het uitvinden bent.
  vrijdag 24 februari 2006 @ 11:58:46 #98
12221 Tijn
Powered by MS Paint
pi_35438287
quote:
Op vrijdag 24 februari 2006 11:24 schreef Tijn het volgende:
Pear is een systeem voor standaardscripts, zodat je niet elke keer het wiel aan het uitvinden bent.
Maar eerlijk gezegd word ik er nog niet echt vrolijk van. Ik heb nu 3 packages geprobeerd (Auth, Auth_HTTP en HTML_BBCodeParser) en ze geven alledrie fouten als ik het standaardvoorbeeld uit de documentatie probeer
  FOK!-Schrikkelbaas vrijdag 24 februari 2006 @ 12:36:13 #99
1972 Swetsenegger
Egocentrische Narcist
pi_35439317
quote:
Op vrijdag 24 februari 2006 11:58 schreef Tijn het volgende:

[..]

Maar eerlijk gezegd word ik er nog niet echt vrolijk van. Ik heb nu 3 packages geprobeerd (Auth, Auth_HTTP en HTML_BBCodeParser) en ze geven alledrie fouten als ik het standaardvoorbeeld uit de documentatie probeer
Ik heb het nog nooit gebruikt.
Voornamleijk omdat ik graag zelf het wiel WIL uitvinden omdat ik op die manier een betere php'er denk te worden.

Maar ik kan me voorstellen dat ik uiteindelijk ook pear zal willen gebruiken en dan zou ik hier ook niet vrolijk van worden inderdaad
  vrijdag 24 februari 2006 @ 13:02:07 #100
12221 Tijn
Powered by MS Paint
pi_35440068
quote:
Op vrijdag 24 februari 2006 12:36 schreef Swetsenegger het volgende:

[..]

Ik heb het nog nooit gebruikt.
Voornamleijk omdat ik graag zelf het wiel WIL uitvinden omdat ik op die manier een betere php'er denk te worden.
Dat is ook ongetwijfeld zo Ik heb zelf niet zo de behoefte om ontzettend goed in PHP te worden, als ik maar af en toe iets functioneels in elkaar kan smijten. En daar leek Pear me nou ideaal voor. Helaas gaat dat feest dus niet door.
  vrijdag 24 februari 2006 @ 13:11:07 #101
136137 Japiejooo
Vette shit ouwe!
pi_35440346
tvp
  vrijdag 24 februari 2006 @ 14:01:53 #102
52200 ViPeRII
It's a good day to die
pi_35441907
Swetsenegger. jij ook al? Vind het altijd leuk om een nieuw systeem van scratch op te bouwen
Daar wordt je ook steeds beter van, merk ik zelf al
-- ViPeRII --
pi_35442069
Ik heb al gegoogled maar ik kon niks nuttigs vinden dus post ik het hier: Weet iemand tutorials over Excel (xls) bestanden in te lezen met PHP?
  FOK!-Schrikkelbaas vrijdag 24 februari 2006 @ 15:10:34 #104
1972 Swetsenegger
Egocentrische Narcist
pi_35444470
quote:
Op vrijdag 24 februari 2006 14:01 schreef ViPeRII het volgende:
Swetsenegger. jij ook al? Vind het altijd leuk om een nieuw systeem van scratch op te bouwen
Daar wordt je ook steeds beter van, merk ik zelf al
Absoluut.
Wanneer ik nu scripts tegen kom van een jaar geleden, kan ik mijn eigen progressie zien
Overigens zie ik ook wel eens een handgheidje welke ik toen eenmalig heb gebruikt en vergeten ben... 'Heee..., dat is handig!'
pi_35445184
quote:
Op vrijdag 24 februari 2006 14:07 schreef Scorpie het volgende:
Ik heb al gegoogled maar ik kon niks nuttigs vinden dus post ik het hier: Weet iemand tutorials over Excel (xls) bestanden in te lezen met PHP?
Kun je er geen CSV-file van maken?

edit: van xml naar csv converteren moet via php lukken. FF googlen.

[ Bericht 9% gewijzigd door the_disheaver op 24-02-2006 15:40:44 ]
  vrijdag 24 februari 2006 @ 15:41:22 #106
52200 ViPeRII
It's a good day to die
pi_35445739
Niet goed gegoogled

http://www.phpfreakz.nl/library.php?sid=21377

Altijd al een Excel file willen lezen en de inhoud hergebruiken? Of een OpenOffice.org file willen maken? Of een HTML or CSV file willen inlezen en de tabellen eruit halen? Of converteren van een Excel bestand naar een OOo Calc bestand? Gebruik deze class. Instructies (helaas) in het Engels hieronder en in de files zelf.

--------------------------------

SPREADSHEET WRAPPER CLASS (pkpsl_spreadsheet.class.php)

Uses PHP5, PEAR

Defines the Spreadsheet class that supports all Spreadsheet file types

Implements a simple reader and writer (without any formating capabilities)
-- ViPeRII --
pi_35445911
thx man, tis gelukt, wel zonder PEAR
pi_35448166
hmm ik krijg nu steeds foutmeldingen op een punt waar ik dit niet verwacht...

1
2
3
4
5
6
7
8
<?php
if ($type == 2){
                
$typeinfo = "wel"
                
}
                else {
                
$typeinfo = "niet"
                
}
?>

Ik krijg op de regel van de eerste } de volgende melding:
Parse error: parse error, unexpected '}' in /usr/home/jeroen/www/forum/chatmod.php on line 38

Iemand enig idee wat hier mis is? het aantal open en gesloten {} lusjes klopt..
  FOK!-Schrikkelbaas vrijdag 24 februari 2006 @ 16:45:56 #109
1972 Swetsenegger
Egocentrische Narcist
pi_35448224
1
2
3
4
5
6
7
8
<?php
if ($type == 2){
                
$typeinfo = "wel";
                }
                else {
                
$typeinfo = "niet";
                }
?>
pi_35448533
Ah stom!!! thq
pi_35448898
En de korte schrijfwijze daarvan, om dat soort foutmeldingen te voorkomen
1
2
3
<?php
$typeinfo
= ($type == 2) ? 'wel' : 'niet';
?>
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 12:54:56 #112
1972 Swetsenegger
Egocentrische Narcist
pi_35473633
Weten jullie nog van mijn mail probleem?
Het ziet er naar uit dat het ALLEEN bij planet mail adressen fout gaat
Die breekt dus mails halverwege af. Als ze nou gewoon simpelweg geblokkeerd werden, zou het kunnen zijn dat mails als spam werden aangemarkt, maar blijkbaar gaat er wat mis op de planet mailserver
pi_35490646
Ik heb een rechtensysteem die bitwise de rechten toekent dus 1,2,4,8 enz.
Ik heb rechten die bij elkaar opgeteld max. 63 zijn (dus tm 32)
Op een pagina waar je de gebruiker kan wijzigen (en dus ook rechten) laat ik een aantal checkboxen zien die de rechten aangeven.
De huidige rechten moeten daarbij aangevinkt zijn natuurlijk.
Dit doet hij alleen op 1 of andere manier niet voor bit 1 en bit 8.
Iemand enig idee waarom niet?
Dit is de code:

$result['urID'] = de rechten die de gebruiker heeft (63 in dit geval, dus alle checkboxjes moeten aan)
$row['urID'] = de rechten uit de database (1,2,4,8,16,32)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<? 
while($row = mysql_fetch_assoc($result1)) 

if(($result['urID'] & $row['urID'])) 

$check = ' checked = "checked"'; 

else 

$check = ''; 



echo '<tr><td>' . $row['urName'] . '</td><td><input type = "checkbox" name = "rights[]" id = "rights[]" value = "' . $row['urID'] . '"' . $check . ' /></td></tr>'; 


?> 


Hierbij krijg ik 6 checkboxjes (ik heb dus 6 rechten) waarbij ze bij recht 63 allemaal aangevinkt zijn behalve 1 en 8.
Iemand enig idee?
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 21:41:21 #114
1972 Swetsenegger
Egocentrische Narcist
pi_35490743
Kan je controleren of die bits ook daadwerkelijk geset zijn?

In bovenstaande code zou ik alleen nog een spatie kunnen toevoegen, maar ik zie geen opmerkelijke fout

value = "' . $row['urID'] . '"' . $check . ' /> spatie:
value = "' . $row['urID'] . '" ' . $check . ' />
pi_35490878
quote:
Op zaterdag 25 februari 2006 21:41 schreef Swetsenegger het volgende:
Kan je controleren of die bits ook daadwerkelijk geset zijn?

In bovenstaande code zou ik alleen nog een spatie kunnen toevoegen, maar ik zie geen opmerkelijke fout

value = "' . $row['urID'] . '"' . $check . ' /> spatie:
value = "' . $row['urID'] . '" ' . $check . ' />
Als ik de bitwise functie laat echoen binnen de while krijg ik een rijtje:
0
2
4
0
02
22

Degene waar nullen staan zijn dus ook niet aangevinkt.
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 21:56:12 #116
1972 Swetsenegger
Egocentrische Narcist
pi_35491287
quote:
Op zaterdag 25 februari 2006 21:45 schreef c0nd0r het volgende:

[..]

Als ik de bitwise functie laat echoen binnen de while krijg ik een rijtje:
0
2
4
0
02
22

Degene waar nullen staan zijn dus ook niet aangevinkt.
Mjah, ik begrijp er dan geen ruk van wat eruit zou moeten komen, want ik had 1 2 4 8 16 32 verwacht

Anyway, je zegt zelf dat daar waar de nullen staan je checkboxes niet aangevinkt zijn. Dat klopt toch?
pi_35491444
quote:
Op zaterdag 25 februari 2006 21:56 schreef Swetsenegger het volgende:

[..]

Mjah, ik begrijp er dan geen ruk van wat eruit zou moeten komen, want ik had 1 2 4 8 16 32 verwacht

Anyway, je zegt zelf dat daar waar de nullen staan je checkboxes niet aangevinkt zijn. Dat klopt toch?
Dat zou je inderdaad verwachten!
Maar dat klopt niet want de rechten zijn 63 (dus 1 + 2 + 4 + 8 + 16 + 32) dus alle bitjes die langskomen zou die moeten bevatten maar op 1 of andere manier dus niet
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:01:41 #118
1972 Swetsenegger
Egocentrische Narcist
pi_35491483
quote:
Op zaterdag 25 februari 2006 22:00 schreef c0nd0r het volgende:

[..]

Dat zou je inderdaad verwachten!
Maar dat klopt niet want de rechten zijn 63 (dus 1 + 2 + 4 + 8 + 16 + 32) dus alle bitjes die langskomen zou die moeten bevatten maar op 1 of andere manier dus niet
Wat zeg je nou?

Geef nou je code eens die de bitjes set en unset. Hoe set je die bitjes?
pi_35491667
quote:
Op zaterdag 25 februari 2006 22:01 schreef Swetsenegger het volgende:

[..]

Wat zeg je nou?

Geef nou je code eens die de bitjes set en unset. Hoe set je die bitjes?
Haha die set of unset je niet maar je gaat gewoon bitwise die rechten toekennen dus voor recht lezen is 1 voor schrijven is 2 voor bewerken is 4 en iemand die dan mag lezen en schrijven krijgt 3 snap ie? En met de bitwise functies van PHP kun je dat dan controleren

http://nl2.php.net/language.operators.bitwise
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:12:22 #120
1972 Swetsenegger
Egocentrische Narcist
pi_35491832
quote:
Op zaterdag 25 februari 2006 22:06 schreef c0nd0r het volgende:

[..]

Haha die set of unset je niet maar je gaat gewoon bitwise die rechten toekennen dus voor recht lezen is 1 voor schrijven is 2 voor bewerken is 4 en iemand die dan mag lezen en schrijven krijgt 3 snap ie? En met de bitwise functies van PHP kun je dat dan controleren

http://nl2.php.net/language.operators.bitwise
Ja duh, maar HOE krijg je dat rijtje terug? Geef die code eens.
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:17:08 #121
1972 Swetsenegger
Egocentrische Narcist
pi_35491979
En waarom maak je het jezelf eigenlijk niet makkelijk door gewoon binair te rekenen.
1=lezen
10=schrijven
11=lezen en schrijven
Etc.

Op die manier kan je een ubersimpele switch functie gebruiken om je rechten te checken en je checkboxen te setten.

1
2
3
4
5
6
7
8
9
10
<?php
switch ($rechten){
case
'1':
// lezen
break;
case
'10':
//schrijven
break;
}
?>
pi_35492150
quote:
Op zaterdag 25 februari 2006 22:17 schreef Swetsenegger het volgende:
En waarom maak je het jezelf eigenlijk niet makkelijk door gewoon binair te rekenen.
1=lezen
10=schrijven
11=lezen en schrijven
Etc.

Op die manier kan je een ubersimpele switch functie gebruiken om je rechten te checken en je checkboxen te setten.
[ code verwijderd ]
Zou ook kunnen inderdaad maar heb de fout al gevonden! Om 1 of andere vage reden parste PHP de getallen als octaal (vandaar dat 1 en 8 het niet deden)
Even de intval() eromheen zetten en works like a charm! Bedankt iig!
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:23:07 #123
1972 Swetsenegger
Egocentrische Narcist
pi_35492196
quote:
Op zaterdag 25 februari 2006 22:21 schreef c0nd0r het volgende:

[..]

Zou ook kunnen inderdaad maar heb de fout al gevonden! Om 1 of andere vage reden parste PHP de getallen als octaal (vandaar dat 1 en 8 het niet deden)
Even de intval() eromheen zetten en works like a charm! Bedankt iig!
als het begint met een 0 wordt het als octaal geinterpreteerd. (dacht ik. even zoeken op php.net)
pi_35492710
quote:
Op zaterdag 25 februari 2006 22:23 schreef Swetsenegger het volgende:

[..]

als het begint met een 0 wordt het als octaal geinterpreteerd.
Correct.
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:38:19 #125
1972 Swetsenegger
Egocentrische Narcist
pi_35492795
quote:
Op zaterdag 25 februari 2006 22:35 schreef Light het volgende:

[..]

Correct.
ZCE basis kennis
  zondag 26 februari 2006 @ 17:43:38 #126
26631 Boink
Ik ben er klaar voor!
pi_35516348
Hoi, daar ben ik weer

De thumbnail werkt bij php5 niet meer Zie: http://dev.wscp.nu/~testt(...)cars.php?view=last40 Nu gebruik ik dit script, http://dev.wscp.nu/~testteam/autogespot/viewimg.phps , ik heb er al naar gekeken maar kan niks vinden.. Kan iemand iets ontdekken?
pi_35516678
Leer zelf eens debuggen, begin eens met die apenstaartjes voor de functies weg te halen want die onderdrukken errors en warnings. En dan zet je gewoon ergens een echo ofzo om te kijken of hij in een bepaald if-statement komt...... Probeer eens wat losse onderdelen of die wel werken.
Doe een echo op je filename/imagepath, misschien is dat wel niet goed.... Wij hoeven toch niet iedere keer jouw lappen code door te gaan spitten op zoek naar een foutje?

En denk ook eens aan het controleren van je input... je haalt iets uit een GET en je zet dat gewoon in een query, ik zou daar op zn minst een addslashes op uitvoeren.....
pi_35517193
quote:
Op zondag 26 februari 2006 17:58 schreef ikke_ook het volgende:
Leer zelf eens debuggen, begin eens met die apenstaartjes voor de functies weg te halen want die onderdrukken errors en warnings. En dan zet je gewoon ergens een echo ofzo om te kijken of hij in een bepaald if-statement komt...... Probeer eens wat losse onderdelen of die wel werken.
Doe een echo op je filename/imagepath, misschien is dat wel niet goed.... Wij hoeven toch niet iedere keer jouw lappen code door te gaan spitten op zoek naar een foutje?

En denk ook eens aan het controleren van je input... je haalt iets uit een GET en je zet dat gewoon in een query, ik zou daar op zn minst een addslashes op uitvoeren.....
helemaal mee eesn

ennuh even reactie op 2de punt en een handige vraag voor mij :
om de een of andere reden hoef ik in mijn php scripts nooit de addslashes te gebruiken...
hij negeerdt die slashes ofzo...
wat ik wel doet is dit:
$bla =$_get['Boe'];
komt dat daardoor?


ben zelf nu ook beetje bezig met een hele simpele template parser
eens kijken of ik daar iets leuks van kan maken
dus het gebruik maken van een simpele template parser niet het maken van een parser..
is leuke oefening en kan er misschien een leuke site uitdraaien voor het pc management op me stage is te zien hier: http://fia181-83.dsl.hccnet.nl/pwa

[ Bericht 9% gewijzigd door mschol op 26-02-2006 18:21:50 ]
pi_35517423
quote:
Op zondag 26 februari 2006 18:15 schreef mschol het volgende:

[..]

helemaal mee eesn

ennuh even reactie op 2de punt en een handige vraag voor mij :
om de een of andere reden hoef ik in mijn php scripts nooit de addslashes te gebruiken...
hij negeerdt die slashes ofzo...
wat ik wel doet is dit:
$bla =$_get['Boe'];
komt dat daardoor?


ben zelf nu ook beetje bezig met een hele simpele template parser
eens kijken of ik daar iets leuks van kan maken
Magic_quotes?

Voor een id ben ik zelf altijd erg van een if(is_numeric()) { constructie.
pi_35519282
quote:
Op zondag 26 februari 2006 18:15 schreef mschol het volgende:
ennuh even reactie op 2de punt en een handige vraag voor mij :
om de een of andere reden hoef ik in mijn php scripts nooit de addslashes te gebruiken...
hij negeerdt die slashes ofzo...
wat ik wel doet is dit:
$bla =$_get['Boe'];
komt dat daardoor?
Dat komt idd door magic_quotes_gpc. Eerder in dit topic staat er meer over. Een feature die schijnveiligheid creëert en verder alleen maar tegen je werkt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35520387
quote:
Op zondag 26 februari 2006 19:26 schreef SuperRembo het volgende:

[..]

Dat komt idd door magic_quotes_gpc. Eerder in dit topic staat er meer over. Een feature die schijnveiligheid creëert en verder alleen maar tegen je werkt.
maar dat zou hij toch alleen doen als hij aanstaat
dit staat in mijn php.ini:
; This directive is deprecated. Use variables_order instead.
gpc_order = "GPC"

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

dus dat zou dan niet opgaan voor mij
pi_35520535
Maar wat gebeurd er dan precies met dat slashes gebeuren bij deze php-installatie?
pi_35520863
quote:
Op zondag 26 februari 2006 20:09 schreef DutchBlood het volgende:
Maar wat gebeurd er dan precies met dat slashes gebeuren bij deze php-installatie?
nou normaal gesproken zou je een sql injection kunnen doen als de quotes e.d niet worden gescaped..

maar ik escape dus niet en SQL injections zijn echt onmogelijk
ik krijg hooguit een php error op line 10 ofzo
en dit heb ik al heeel lang bij meerdere script..
komt dat omdat ik de GET waarde eerst in een variable zet en die variable in een SQL statment gebruik?
pi_35521390
quote:
Op zondag 26 februari 2006 20:19 schreef mschol het volgende:

[..]

nou normaal gesproken zou je een sql injection kunnen doen als de quotes e.d niet worden gescaped..

maar ik escape dus niet en SQL injections zijn echt onmogelijk
ik krijg hooguit een php error op line 10 ofzo
en dit heb ik al heeel lang bij meerdere script..
komt dat omdat ik de GET waarde eerst in een variable zet en die variable in een SQL statment gebruik?
Zou je dat eens kunnen uitttesten met wat echo's misschien? Dus de $_GET var en dan de gewone?

Raar doch interessant geval .
pi_35522375
Niet dat ik het wil misbruiken, maar hoe kun je sql injections uitproberen? Wat moet je in je GET-variabele toevoegen?
1test.php?sort=ASC;%20DELETE%20FROM%20tabelnaam

Zoiets zal wel niet werken?
pi_35522540
http://www.securiteam.com/securityreviews/5DP0N1P76E.html

hier wordt het hoe en wat uitgelegd, vaak kan je het misbruiken door in een search veld de string proberen te escapen
pi_35523932
quote:
Op zondag 26 februari 2006 21:01 schreef mschol het volgende:
http://www.securiteam.com/securityreviews/5DP0N1P76E.html

hier wordt het hoe en wat uitgelegd, vaak kan je het misbruiken door in een search veld de string proberen te escapen
Dankje, erg handig
deze ook wel
pi_35524236
ik loop nu wel tegen een robleem aan op een site die ik aan het boiuwen ben voor me stage (zie boven) tis vast heel simpel maar ik zie het niet :
ik maaj dus gebruik van een simpele template parser:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
class template
{
    var
$data;

    function
load($file)
    {
        
$this-&gt;data = file_get_contents('templates/'. $file . '.tpl');
    }

    function
replace($var, $value)
    {
        
$this-&gt;data = str_replace('{' . $var . '}', $value, $this-&gt;data);
    }
    
    function
parse()
    {
        echo
$this-&gt;data;
    }
}
?>

dit werkt helemaal perfect..
maar als ik een tag replace voor een include:
1
2
3
4
5
6
7
8
<?php
{
    
$template-&gt;load('main');
    
$template-&gt;replace('Title', 'Overzicht PC\'s');
    
$template-&gt;replace('Content',include('includes\overzicht.php'));
    
$template-&gt;parse();
}
?>


maar daar loop ik dus tegen een probleem aan:
in de include staat het volgende:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$SQL
= "SELECT * FROM `p`";
$result = mysql_query($SQL);
while(
$row = mysql_fetch_array($result))
    {
      echo(
"<tr>\n");
      echo(
"<td align='center'>".$row['pcnaam']."</td>\n\r");
      echo(
"<td align='center'>".$row['gebouw']."</td>\n\r");
      echo(
"<td align='center'>".$row['lokatie']."</td>\n\r");
      echo(
"<td align='center'>".$row['leerkracht']."</td>\n\r");
      echo(
"<td align='center'>\n\r");
      echo(
"<input name='button2' type='button' value='Aanpassen' onclick=\"\PopUpWindow('edit_pc','http://fia181-83.dsl.hccnet.nl/PWA/pc.php?act=edit_pc','http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\") />");
      echo(
"</td>\n\r");
      echo(
"<td align='center'><input name='button' type='button' value='Verwijderen' /></td>\n\r");
      echo(
"</tr>");
    }
}
?>


als ik een return geef dan echotie em netjes in het midden van de pagina onder de kop overzicht pc's maar kapt ie em gelijk af... (want het is een return immers)
bij echo wordt het helemaal bovenaan de pagina weergegeven en niet in een tabel..
is er niet een manier om het huidige script toch goed te laten gaan?
hope it makes sense

ik zat dus te denken aan een soort van buffer OBstart(); oid maar krijg dat niet aan de praat...?

volgens mij zit er weinig anders op dan me hele include te herschrijven (ook geen idee hoe ik dan moet aan aan pakken trouwens , maar tis laat, morgen weer een dag)

[ Bericht 2% gewijzigd door mschol op 26-02-2006 21:48:17 (verschrikkelijke typo) ]
pi_35524638
quote:
Op zondag 26 februari 2006 20:57 schreef Nevermind het volgende:
Niet dat ik het wil misbruiken, maar hoe kun je sql injections uitproberen? Wat moet je in je GET-variabele toevoegen?
[ code verwijderd ]

Zoiets zal wel niet werken?
probeer maar. Met magic Quotes die aanstaan werkt dit niet nee.....
pi_35524771
quote:
Op zondag 26 februari 2006 20:19 schreef mschol het volgende:

[..]

nou normaal gesproken zou je een sql injection kunnen doen als de quotes e.d niet worden gescaped..

maar ik escape dus niet en SQL injections zijn echt onmogelijk
ik krijg hooguit een php error op line 10 ofzo
en dit heb ik al heeel lang bij meerdere script..
komt dat omdat ik de GET waarde eerst in een variable zet en die variable in een SQL statment gebruik?
Ow, mysql gaat gewoon op z'n bek als je een quotje invoert. Nee, da's prima
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35525047
quote:
Op zondag 26 februari 2006 21:49 schreef SuperRembo het volgende:

[..]

Ow, mysql gaat gewoon op z'n bek als je een quotje invoert. Nee, da's prima
maar aaleen bij de uitvoer van dat script... dus iedere hack poiung loopt dood
my point : oke script gaat onderuit, maar hij valt voor de rest niet te hacken..
pi_35526580
quote:
Op zondag 26 februari 2006 21:55 schreef mschol het volgende:

[..]

maar aaleen bij de uitvoer van dat script... dus iedere hack poiung loopt dood
my point : oke script gaat onderuit, maar hij valt voor de rest niet te hacken..
Daar zou ik niet al te zeker van zijn.
Neem een simpele update al deze:

1$sql = "UPDATE mytable SET myvalue='$_POST[myvalue]' WHERE id=$_POST[id]";


Als je dan in het form bij myvalue invult: All Your Quotes Are Belong To Us';--
Dan staat die tekst opeens op ELKE regel in de tabel. Zonder MySQL foutmelding.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35527392
http://ww.phpfreakz.nl/downloadz/webprogrammers_hacking_huide.pdf

Erg nuttig om eens door te lezen, worden veel beveiliginslekken besproken.
pi_35529134
quote:
Op zondag 26 februari 2006 22:25 schreef SuperRembo het volgende:

[..]

Daar zou ik niet al te zeker van zijn.
Neem een simpele update al deze:
[ code verwijderd ]

Als je dan in het form bij myvalue invult: All Your Quotes Are Belong To Us';--
Dan staat die tekst opeens op ELKE regel in de tabel. Zonder MySQL foutmelding.
ook met deze constructie? want zo doe ik het altijd... en als je dan gaat klooien met ; en komma's etc dann loopt ie stuk op php code.. lijkt mij...:
1
2
3
$value = $_POST[myvalue];
$ids = $_POST[id];
$sql = "UPDATE mytable SET myvalue='$value' WHERE id=$ids";
pi_35529957
Nee, dat is voor php geen probleem. Dan werkt mijn "hack" nog steeds.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35530022
quote:
Op zondag 26 februari 2006 23:51 schreef SuperRembo het volgende:
Nee, dat is voor php geen probleem. Dan werkt mijn "hack" nog steeds.
nou vreemd ik heb meerdere scrippie's gemaakt waar ik toch op die manier allerlei haakjes, puntkomma's en quotes tegenhield...
pi_35530260
Wat bedoel je met "tegenhouden"? Als je zoonder problemen een ' in kan voeren zit je waarschijnlijk wel goed (dan staat magic_quotes_gpc aan of je gebruikt addslashes/mysql_real_escape_string). Als er dingen fout gaan als je een ' invoert, dan heb je toch een (potentieel) probleem.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 27 februari 2006 @ 12:27:36 #148
52200 ViPeRII
It's a good day to die
pi_35538326
en nu heb ik een vraagje

Ik heb een bestand waarin ik wat settings schrijf.
Het bestand ziet er ongeveer zo uit:
USEDB | localhost | db | ww | naam | INSERT INTO evenementen (naam, datum, folder)
values ( '" . $_SESSION['albumhtmlinfo']['titel'] . "',
'" . $_SESSION['datum'] . "',
'" . $_SESSION['albumhtmlinfo']['filename'] . "' ) |


Het uitlezen van het bestand doe ik alsvolgt:

1
2
3
4
5
6
7
8
9
<?php 

    $fp = fopen($filename, "r") or die ("Couldn't open $filename");  
    while (!feof($fp)) {  
        $line = fgets($fp, 180);  
    //explode alle elementen tot regels in de array 
    $info_array = explode(" | ",addslashes($line));  

?> 

Als ik nu ga bekijken wat er in mijn $info_array[x] staat, gaat het allemaal goed,
bahalve het laatste lijntje (de SQL code die ik in het bestand heb geschreven.)
Daar staat alleen maar INSERT als laatste in mijn $info_array

Weet iemand hoe ik dit goed uit lees? Of kan het te maken hebben met de lengte van de bestands-regel of kan het aan nog wat anders liggen?
-- ViPeRII --
pi_35539203
1
2
3
4
5
6
7
8
9
10
11
<?php
php

    $fp
= fopen($filename, "r") or die ("Couldn't open $filename");  
    while (!
feof($fp)) {  
        
$line = fgets($fp, 180);  
    
//explode alle elementen tot regels in de array
    
$info_array[] = explode(" | ",addslashes($line));  


?>

Ofwel: $info_array[] =ipv $info_array =

Zonder die [] zou het gewoon een variable zijn, en elke keer door de nieuwe line overschreven worden. Met de [] wordt het een variable in een array.

edit: mist overigens ook een end bracket voor de while-lus
  maandag 27 februari 2006 @ 13:15:03 #150
52200 ViPeRII
It's a good day to die
pi_35539600
the_disheaver...

Die brackets weet ik, was verkeerd gekopiëerd hierheen, maar het probleem is niet dat het overschreven wordt.

$info_array wordt netjes gevult,
ik krijg dus in mijn voorbeeld:

echo $info_array[0]; // = USEDB
echo $info_array[1]; // = localhost

die waardes netjes terug, BEHALVE de laatste die hij moet pakken (in mijn geval $info_array[17])
want daar staat alleen maar INSERT in.
en $info_array[18] en hoger zijn gewoon leeg...
USEDB | localhost | db | ww | naam | INSERT
-- ViPeRII --
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')