abonnement Unibet Coolblue Bitvavo
pi_52761163
Als je daarna nog verder wil loopen moet je er rekening houden dat de pointer wel is opgeschoven, die kun je evt terugzetten met mysql_field_seek.
pi_52799871
quote:
Op dinsdag 28 augustus 2007 18:09 schreef Swetsenegger het volgende:

[..]

Nee, het gat niet om een 2e query.
De resultaten van een query worden in een while lus uitgelezen, record voor record.
En als die whilelus nu bij record 11 is, wil eigenlijk weten wat er in record 12 staat.

Dit ivm presentatie.
Goed idee om alles in één keer mee te nemen. Werkt zoiets als het volgende voor je?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// verkrijg een geldig result
$resultSet = ...

// definieer de eerste rij
$row = mysql_fetch_assoc($resultSet);
// zolang de meest recent gelezen rij geldig is
while($row) {
     // haal de volgende rij op
     $nextRow = mysql_fetch_assoc($resultSet);

     // als $nextRow niet false is, is $row niet de laatste rij
     if($nextRow) {
         // vergelijk $row tegen $nextRow
     } else {
         // doe eventueel iets leuks met $row als laatste rij
     }

     // zet de huidige rij op de volgende rij om de loop compleet te maken
     $row = $nextRow;
}
  donderdag 30 augustus 2007 @ 13:14:13 #153
52707 BunnyHunter
Sterker door strijd!!
pi_52808715
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$result = mysql_query("SELECT * FROM teller");
$ii = 0;
while($row = mysql_fetch_array($result)){ 

   $url() = split("/", $row("referer"));
   $site = $url(1) . $url(2) . $url(3) . $url(4);

   $i = 1 ;
   $getelt = 0 ;

while($i<=&ii){
   if ($siteteller($i,0) = $site){ $siteteller($i,1) = $siteteller($i,1) + 1;}
   $getelt = 1;
   $i = $i + 1;
}

if ($getelt = 0){ 
   $ii = $ii + 1;
   $siteteller($ii,0) = $site;
   $siteteller($ii,1) = 1;
   }
}

$i = 1 
while ($i <= $ii){
echo $siteteller($i,0);
echo $siteteller($i,1);
}


de foutcode:
Parse error: syntax error, unexpected T_WHILE in /home/sites/site3850/web/bestanden/sites.php on line 35

in dit geval line 3

wat moet de code doen::
Ik split een url string, die ik weer aan elkaar koppel tot ik aleen een domein string over hou, daarna controleer ik of de string al eens eerder is voorgekomen en als dat niet zo is maak ik een nieuwe teller aan.

ik ben gewend om ASP of VB te programeren, en ik word een beetje gek van PHP om eerlijk te zijn
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
pi_52809116
Hij verwacht simpelweg geen while lus. Toevallig een accolade vergeten? Een punt-komma?
pi_52809218
Regel 24 mis je een punt-komma, voor de rest zie ik in dit stukje code geen fouten.

Edit:
Je mist helemaal onderaan idd een accolade.
Gr. Gr.
  donderdag 30 augustus 2007 @ 13:30:50 #156
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52809226
quote:
Op donderdag 30 augustus 2007 13:14 schreef BunnyHunter het volgende:

[ code verwijderd ]

de foutcode:
Parse error: syntax error, unexpected T_WHILE in /home/sites/site3850/web/bestanden/sites.php on line 35

in dit geval line 3

wat moet de code doen::
Ik split een url string, die ik weer aan elkaar koppel tot ik aleen een domein string over hou, daarna controleer ik of de string al eens eerder is voorgekomen en als dat niet zo is maak ik een nieuwe teller aan.

ik ben gewend om ASP of VB te programeren, en ik word een beetje gek van PHP om eerlijk te zijn
line 25 denk ik.... geen puntkomma op line 24

edit: en op regel 11 een & ipv $
pi_52809395
Die if statement of regel 12 klopt volgens mij ook niet helemaal, zal straks is kijken wat ook alweer precies de bedoeling was enzo.
Gr. Gr.
  donderdag 30 augustus 2007 @ 13:36:58 #158
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52809401
quote:
Op donderdag 30 augustus 2007 13:30 schreef unox_worst het volgende:
Regel 24 mis je een punt-komma, voor de rest zie ik in dit stukje code geen fouten.

Edit:
Je mist helemaal onderaan idd een accolade.
Voor zover ik kan zien staan de accolades goed, alleen een beetje onoverzichtelijk
  donderdag 30 augustus 2007 @ 13:38:03 #159
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52809438
quote:
Op donderdag 30 augustus 2007 13:36 schreef unox_worst het volgende:
Die if statement of regel 12 klopt volgens mij ook niet helemaal, zal straks is kijken wat ook alweer precies de bedoeling was enzo.
Daar moet == staan ipv =
nu is de vergelijking altijd true en heeft dus geen nut

[ Bericht 22% gewijzigd door Dreammaster op 30-08-2007 13:52:57 (verkeerde quote) ]
  donderdag 30 augustus 2007 @ 13:41:33 #160
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52809638
quote:
Op donderdag 30 augustus 2007 13:36 schreef Dreammaster het volgende:

[..]

Voor zover ik kan zien staan de accolades goed, alleen een beetje onoverzichtelijk
Bevestigd, vijf openingsaccolades en vijf sluitingsaccolades.
pi_52812714
Even een heel simpel vraagje... Hoeveel rijen kan een MySQL tabel maximaal aan, wat is aan te raden om als maximum te houden?
Of is het afhankelijk van de grootte van de schijf in de server en de prestaties die deze kan leveren?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_52812750
quote:
Op donderdag 30 augustus 2007 15:47 schreef markiemark het volgende:
Even een heel simpel vraagje... Hoeveel rijen kan een MySQL tabel maximaal aan, wat is aan te raden om als maximum te houden?
Of is het afhankelijk van de grootte van de schijf in de server en de prestaties die deze kan leveren?
Ik heb hier een groot deel van de kvk-database geïmporteerd, dat waren 780.000 records ongeveer.
Gr. Gr.
pi_52812759
quote:
Op donderdag 30 augustus 2007 15:47 schreef markiemark het volgende:
Even een heel simpel vraagje... Hoeveel rijen kan een MySQL tabel maximaal aan, wat is aan te raden om als maximum te houden?
Of is het afhankelijk van de grootte van de schijf in de server en de prestaties die deze kan leveren?
http://dev.mysql.com/doc/refman/5.0/en/features.html
quote:
Handles large databases. We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows.
pi_52812861
In principe kan ik er dus echt wel best wat in kwijt.. hehe
Het gaat mij om de opslag van tijden met daarbij behorende info, een soort logboek. Er komen waarschijnlijk best wel grote aantallen records in de tabel 'log' te staan. Is het verstandig om na bijv. 1 miljoen (ik noem maar een aantal..) records de data te kopieren naar een andere tabel? Of naar een andere database eventueel?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  donderdag 30 augustus 2007 @ 15:59:56 #166
52707 BunnyHunter
Sterker door strijd!!
pi_52813066
quote:
Op donderdag 30 augustus 2007 13:41 schreef Dreammaster het volgende:
en de laatste while loop is infinite
Ja klopt maar dat zijn foutjes waar ik achterkom met testen normaal.

ik zal even alles gaan aanpassen en die == voor vergelijking vergeet ik altijd omdat dit in andere talen niet zo is.

iig. bedankt
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
  donderdag 30 augustus 2007 @ 16:00:13 #167
56176 Catch22-
Ben je Blind?!
pi_52813079
quote:
met 60.000 tabellen moet je je database echt eens op orde brengen
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_52813343
quote:
Op donderdag 30 augustus 2007 16:00 schreef Catch22- het volgende:

[..]

met 60.000 tabellen moet je je database echt eens op orde brengen
Hetzelfde met 3500 kolommen op een tabel.
  donderdag 30 augustus 2007 @ 16:40:26 #169
52707 BunnyHunter
Sterker door strijd!!
pi_52814293
Ik heb dus alle fouten die aangegeven waren eruit gehaalt maar hij geeft me dus nu de foutmelding

Parse error: syntax error, unexpected '=' in /home/sites/site3850/web/bestanden/sites.php on line 45

dat is bij dit stukje code op 14 in dit bericht
$siteteller($i,1) = $siteteller($i,1) + 1;

ik denk zelf dat hij het niet ziet als een integer, ik kan het aleen niet testen omdat ik zo snel geen convert functie vind daarvoor.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$result = mysql_query("SELECT * FROM teller");

$ii = 0;
while($row = mysql_fetch_array($result)){ 

   $url = split("/", $row("referer"));
   $site = $url(1) . $url(2) . $url(3) . $url(4);

   $i = 1 ;
   $getelt = 0 ;

while($i<=$ii){
   if ($siteteller($i,0) == $site){ 
   $siteteller($i,1) = $siteteller($i,1) + 1;
   $getelt = 1;
   }
   $i = $i + 1;
   
}

if ($getelt = 0){ 
   $ii = $ii + 1;
   $siteteller($ii,0) = $site;
   $siteteller($ii,1) = 1;
   }
}

$i = 1;
while ($i <= $ii){
echo $siteteller($i,0);
echo $siteteller($i,1);
$i = $i + 1;
}
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
pi_52815622
quote:
Op donderdag 30 augustus 2007 15:52 schreef markiemark het volgende:
In principe kan ik er dus echt wel best wat in kwijt.. hehe
Het gaat mij om de opslag van tijden met daarbij behorende info, een soort logboek. Er komen waarschijnlijk best wel grote aantallen records in de tabel 'log' te staan. Is het verstandig om na bijv. 1 miljoen (ik noem maar een aantal..) records de data te kopieren naar een andere tabel? Of naar een andere database eventueel?
Ik denk dat dat meer problemen geeft dan het oplost omdat die data dan niet meer toegankelijk is. Ik werk met databases waar soms tabellen met miljoenen records in zitten, en dat is goed te doen. Alleen doorzoeken kan lang duren, afhankelijk wat je zoekt; tabellen met miljoenen rows met elkaar joinen, daar staat ie meestal wel even op te stampen. Je kan de tijd verkorten door goed db ontwerp en slim van mysql indices gebruik te maken maar voor de applicaties waar ik mee werk is dat nog niet genoeg. De oplossing die gebruikt wordt is het maken van een aparte index tabel, een zgn datamart, waar je de data bijelkaar zet die je snel boven water wil toveren. Die moet je dan wel bijv elke dag opnieuw genereren.
pi_52817246
quote:
Op donderdag 30 augustus 2007 16:40 schreef BunnyHunter het volgende:
Ik heb dus alle fouten die aangegeven waren eruit gehaalt maar hij geeft me dus nu de foutmelding

Parse error: syntax error, unexpected '=' in /home/sites/site3850/web/bestanden/sites.php on line 45

dat is bij dit stukje code op 14 in dit bericht
$siteteller($i,1) = $siteteller($i,1) + 1;

ik denk zelf dat hij het niet ziet als een integer, ik kan het aleen niet testen omdat ik zo snel geen convert functie vind daarvoor.
[ code verwijderd ]
Dit ziet er uit als een slechte poging om een asp scriptje om te zetten naar php.
Of leer php òf zoek een andere hobby.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 30 augustus 2007 @ 18:43:21 #172
52707 BunnyHunter
Sterker door strijd!!
pi_52817552
quote:
Op donderdag 30 augustus 2007 18:34 schreef SuperRembo het volgende:

[..]

Dit ziet er uit als een slechte poging om een asp scriptje om te zetten naar php.
Of leer php òf zoek een andere hobby.
daar ben ik dus mee bezig.. dus als je me vertelt wat ik fout doe anders
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
pi_52818571
quote:
Op donderdag 30 augustus 2007 18:43 schreef BunnyHunter het volgende:
daar ben ik dus mee bezig.. dus als je me vertelt wat ik fout doe anders
Begin eens bij w3schools.com. De fouten die hier in zitten zijn echt te basic om uit te leggen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 30 augustus 2007 @ 19:53:17 #174
52707 BunnyHunter
Sterker door strijd!!
pi_52819629
quote:
Op donderdag 30 augustus 2007 19:17 schreef SuperRembo het volgende:

[..]

Begin eens bij w3schools.com. De fouten die hier in zitten zijn echt te basic om uit te leggen.
ik zoek alles op op w3schools maargoed ik kloot wel wat verder aan
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
pi_52822207
Het grootste probleem is dat $siteteller een array van array's zou moeten zijn. Voor php ziet $siteteller($i,1) er uit als functie aanroep, niet als element in een array. En daar kan je geen waarde aan toe kennen met $siteteller($i,1) = 1, vandaar de syntax error "unexpected '=' ".
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  donderdag 30 augustus 2007 @ 21:52:09 #176
52707 BunnyHunter
Sterker door strijd!!
pi_52823482
quote:
Op donderdag 30 augustus 2007 21:19 schreef SuperRembo het volgende:
Het grootste probleem is dat $siteteller een array van array's zou moeten zijn. Voor php ziet $siteteller($i,1) er uit als functie aanroep, niet als element in een array. En daar kan je geen waarde aan toe kennen met $siteteller($i,1) = 1, vandaar de syntax error "unexpected '=' ".
ja kijk daar had ik het net dus over met iemand in de kantine.. ik dacht dus dat die array's gewoon net zo werkte als in asp en etc. maar hij werkt dus zoals de session array variabalen werken bij asp.

dom dom, hartelijk dank (al snap ik niet waarom ze het zo lastig maken)
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
pi_52824352
Ik heb even een vraagje over mijn database design. Ik heb de hele applicatie al in elkaar zitten maar ik vroeg me af of ik de databases wel slim in elkaar gezet heb.

Even een korte beschrijving van de applicatie:

Het is voor distributie van kerstpakketten bij bedrijven waar de werknemers dan kunnen kiezen welk kerstpakket ze willen. Een bedrijf kan zich bij de opdrachtgever van de applicatie aanmelden en kiezen hoeveel van elk kerstpakket ze willen. Stel ze hebben 800 werknemers en ze willen 100 van pakket 1, 200 van pakket 2 en 500 van pakket 3. Dan krijgen ze een lijst met 800 usernames met passwords. Elke werknemer krijgt er hier 1 van, waarmee ze kunnen inloggen en dan kunnen ze uit een van de pakketten die is geselecteerd kiezen, behalve als er al X werknemers die hebben gekozen en er maar X van die pakketten waren gekozen door het bedrijf. Dan vult de werknemer zijn gegevens in en dan is het voor de werknemer klaar. Op een bepaalde datum sluit het voor dat bedrijf en worden alle pakketten verzonden.

Hier zijn de 3 tabellen die ik gebruik:

BedrijvenTabel: Heeft ID, de naam van het bedrijf, de prefix voor de usernames, het aantal werknemers, nog wat willekeurige opties, en het belangrijkste: Voor elk pakket 2 kolommen met het aantal vanaf het begin en hoeveel er nog over zijn. Elke keer als er een kerstpakket wordt toegevoegd worden er dus twee extra kolommen toegevoegd en weer verwijderd als het pakket wordt verwijderd.

PakkettenTabel: Heeft ID, naam en beschrijving van het pakket, prijs, url naar plaatje etc.

UserTabel: Heeft ID, bedrijfsID voor bij welk bedrijf hij hoort, username en password, gegevens (die dus worden ingevuld nadat hij zich heeft aangemeld) en welk pakket er uiteindelijk is gekozen.

Nu vroeg ik me dus af of ik met het pakketten toevoegen/verwijderen het niet anders had op kunnen lossen dan kolommen toevoegen en verwijderen. Zijn hier andere constructies voor mogelijk? Of heb ik het zo prima opgelost (vind ik wel, alleen heb ik het gevoel dat het overzichtelijker kan)
"Reality is an illusion created by a lack of alcohol."
  donderdag 30 augustus 2007 @ 22:21:17 #178
52707 BunnyHunter
Sterker door strijd!!
pi_52824685
maak een tabel met..

Bedrijf ( ID, ... rest van info )
Kerstpakketten( ID , pakket info)

BedrijfPakket ( ID , BedrijfID, KerspakkerID, Limiet)

User(ID, info)
Bestelt(ID, UserID, PakketID)

wat ik dus doe, ik geef bedrijf en kerspakket een eigen tabel.. in een nieuwe tabel koppel ik bedrijf en kerstpakketten aan elkaar en zet ik daar het limiet aan vast. scheelt velden in je tabel en voorkomt redundantie.

daarna koppel ik user aan een pakket id (als hij een pakket bestelt) ..

door het aantal pakketID te tellen in bestelt weet ik of ik een limiet bereik in bedrijfpakket

om redundantie te verkomen.. kun je uit de bestelt tabel opmaken of iets al op is of niet op het moment dat je de pagina opent waar je pakketten kunt kiezen .. (count pakketID in bestelt < limiet in bedrijfpakket dan laat keuze optie zien)


indien je dit vaker moet doen is het goed als je de theorie eens leert (welke best nog wel pittig kan zijn voor een leek) .. en deze site is niet echt geweldig volgens mij .. even verder googlen.

daarnaast heb ik elke tabel een ID gegeven als primaire sleutel.. dit is eigenlijk niet nodig

hier bijvoorbeeld:
BedrijfPakket ( ID , BedrijfID, KerspakkerID, Limiet)

is BedrijfID en KerspakketID samen ook goed als primaire sleutel (die combinatie komt immers maar 1 keer voor) hierbij ga ik er wel vanuit dat de database geleegt word als alles geleverd is en volgend jaar opnieuw begonnen word. Aangezien je anders dubbele waarden krijgt en je met programeren problemen krijgt. Is dit niet moet je ook nog jaartallen of datums gaan verwerken in je database.

het is nu een beetje een rommel verhaal geworden maar het mag dus duidelijk zijn dat je goed moet nadenken voordat je ook maar begint aan het aanmaken van een database

[ Bericht 21% gewijzigd door BunnyHunter op 30-08-2007 22:31:06 ]
Brand Bier het bier waar nederland trots op kan zijn!
Als je vijf meter voor een konijn schiet en vijf meter erachter, dan is dat konijn dus gemiddeld dood hé!
  vrijdag 31 augustus 2007 @ 12:35:29 #179
136730 PiRANiA
All thinking men are atheists.
pi_52838035
Zit er een maximum aan data dat fopen opent?

Als ik namelijk http://msn.com/ wil fopenen, krijg ik alleen maar dit terug:
quote:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xml:lang="en-us" lang="en-us" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="pics-label" content="(pics-1.1 "http://www.icra.org/ratingsv02.html" l gen true for "http://www.msn.com" r (cz 1 lz 1 nz 1 oz 1 vz 1) gen true for "http://msn.com" r (cz 1 lz 1 nz 1 oz 1 vz 1) gen true for "http://stb.msn.com" r (cz 1 lz 1 nz 1 oz 1 vz 1) gen true for "http://stc.msn.com" r (cz 1 lz 1 nz 1 oz 1 vz 1) gen true for "http://stj.msn.com" r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.msn.com" r (n 0 s 0 v 0 l 0)gen true for "http://msn.com" r (n 0 s 0 v 0 l 0)gen true for "http://stb.msn.com" r (n 0 s 0 v 0 l 0) gen true for "http://stc.msn.com" r (n 0 s 0 v 0 l 0) gen true for "http://stj.msn.com" r (n 0 s 0 v 0 l 0))" /><link rel="SHORTCUT ICON" href="http://hp.msn.com/global/c/hpv10/favicon.ico" type="image/x-icon" /><meta name="ROBOTS" content="NOODP" /><link rel="search" type="application/opensearchdescription+xml" title="Live Search" href="http://www.live.com/live/search/search.xml" /><meta name="description" content="MSN's all-in-one Internet portal, the home of Hotmail, MSN Messenger, MSNBC News, Fox Sports, Slate Magazine and more information you care about" /><title>MSN.com</title><style type="text/css">@import url("http://stc.msn.com/br/hp/en-us/css/31/ushpw.css");@import url("http://stc.msn.com/br/hp/en-us/css/31/ovrN.css");</style><!--[if IE]><style type="text/css">@import url("http://stc.msn.com/br/
alleen het begin van het bestand dus... Hoe kan ik dit verhelpen?

[ Bericht 96% gewijzigd door PiRANiA op 31-08-2007 12:44:00 ]
pi_52838625
Door het aantal bytes te verhogen. Wat is je huidige sourcecode?
  vrijdag 31 augustus 2007 @ 13:27:08 #181
136730 PiRANiA
All thinking men are atheists.
pi_52839687
$handle = fopen ($row['href'], "r"); #Open pagina
$datavar="ERROR";
$datavar = fread ($handle, 8192);
if($datavar=="ERROR"){ #Er is niks opgehaald: break
mysql_query("DELETE FROM `ahref` WHERE `href`='".$row['href']."' ");
break;
}
  vrijdag 31 augustus 2007 @ 13:39:58 #182
136730 PiRANiA
All thinking men are atheists.
pi_52840145
quote:
Op vrijdag 31 augustus 2007 13:27 schreef PiRANiA het volgende:
$handle = fopen ($row['href'], "r"); #Open pagina
$datavar="ERROR";
$datavar = fread ($handle, 8192);
if($datavar=="ERROR"){ #Er is niks opgehaald: break
mysql_query("DELETE FROM `ahref` WHERE `href`='".$row['href']."' ");
break;
}
de 8192 veranderen zeker...

ga ik proberen.

ik had dit stukje gekopieerd en niet gekeken wat het deed. Jou tip heeft me geholpen (denk ik )
  vrijdag 31 augustus 2007 @ 13:49:40 #183
46383 Tiemie
sowieso wel!
pi_52840450
Je kan ook steeds 8192 bytes ophalen in een while loop
1
2
3
4
5
6
7
8
9
<?php
// http://php.net/fread
$handle fopen("http://www.example.com/""rb");
$contents '';
while (!
feof($handle)) {
  
$contents .= fread($handle8192);
}
fclose($handle);
?>


of file_get_contents kunnen gebruiken.
  vrijdag 31 augustus 2007 @ 13:52:38 #184
136730 PiRANiA
All thinking men are atheists.
pi_52840544
Is er ook een maximum?
pi_52851790
uit de php documentatie:

1]$contents = fread($handle, filesize($filename));
pi_52852070
quote:
Op vrijdag 31 augustus 2007 20:24 schreef Farenji het volgende:
uit de php documentatie:
[ code verwijderd ]
Alleen is de filesize een beetje lastig bij een webpagina
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52853037
quote:
Op vrijdag 31 augustus 2007 20:34 schreef SuperRembo het volgende:

[..]

Alleen is de filesize een beetje lastig bij een webpagina
Allicht de "Content-length" uit de HTTP-headers halen?
pi_52888520
Ik wil via een formulier meerdere files (1 tot in de praktijk 10) uploaden. Met kleine bestanden gaat dit prima. Met een 10-tal 'grote' bestanden (foto's uit een digitale camera, 1 a 2mb per stuk) duurt dit waarschijnlijk te lang en krijg ik na een (beperkt aantal? 15-20) seconden de originele uploadpagina weer te zien. De $_POST wordt dus niet meegegeven, anders kreeg ik de resultatenpagina te zien.

Nu heb ik me rot gezocht op GoT of het mogelijk is om tussen elke uploadactie de pagina te refreshen.

1. Upload formulier met 10 input type=file elementen
2. Upload $_FILES[0]
3. Refresh
4. Upload $_FILES[1]
5. Refresh
6. Upload $_FILES[2]
7. Refresh
8. Upload $_FILES[3]
9. etc. etc.
10. Klaar, toon de resultatenpagina

Hiervoor moeten de $_POST en $_FILES variabelen dus keer op keer doorgegeven worden bij de refresh, inclusief een teller-variabele om telkens de volgende $_FILES[$teller] af te lopen.

Is dit mogelijk en hoe doe ik dit precies? Ik wil liever niet afhankelijk zijn van php.ini settings, zodat onafhankelijk van de server de website gewoon werkt met de standaard PHP instellingen.
pi_52916361
Ik ben een inlog siteje aan het maken, waar je ook kunt uitloggen hehe logisch.. Nu wil ik er voor zorgen dat mijn cookies en sessies vernietigd worden. In IE werkt het wel, in Firefox niet. Heb de volgende code:

1
2
3
4
5
6
7
8
9
10
11
12
<?php // gebruikersinformatie uit cache verwijderen
// sessies vernietigen
session_start();
session_destroy();
session_unset();

// cookies verwijderen
setcookie("email", "", 0);
setcookie("password", "", 0);

header("Location: ../index.php");
?>


Doe ik iets verkeerds?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  maandag 3 september 2007 @ 14:40:49 #190
56176 Catch22-
Ben je Blind?!
pi_52917063
je moet het absoluten pad in je header location zetten. Firefox doet blijkbaar wat lastiger als hij geen base_href meekrijgt
quote:
Op zondag 2 september 2007 13:19 schreef Chivu het volgende:
Ik wil via een formulier meerdere files (1 tot in de praktijk 10) uploaden. Met kleine bestanden gaat dit prima. Met een 10-tal 'grote' bestanden (foto's uit een digitale camera, 1 a 2mb per stuk) duurt dit waarschijnlijk te lang en krijg ik na een (beperkt aantal? 15-20) seconden de originele uploadpagina weer te zien. De $_POST wordt dus niet meegegeven, anders kreeg ik de resultatenpagina te zien.

Nu heb ik me rot gezocht op GoT of het mogelijk is om tussen elke uploadactie de pagina te refreshen.

1. Upload formulier met 10 input type=file elementen
2. Upload $_FILES[0]
3. Refresh
4. Upload $_FILES[1]
5. Refresh
6. Upload $_FILES[2]
7. Refresh
8. Upload $_FILES[3]
9. etc. etc.
10. Klaar, toon de resultatenpagina

Hiervoor moeten de $_POST en $_FILES variabelen dus keer op keer doorgegeven worden bij de refresh, inclusief een teller-variabele om telkens de volgende $_FILES[$teller] af te lopen.

Is dit mogelijk en hoe doe ik dit precies? Ik wil liever niet afhankelijk zijn van php.ini settings, zodat onafhankelijk van de server de website gewoon werkt met de standaard PHP instellingen.
Je zal altijd met een beperkte timeout te maken houden en files van een paar mb duren gewoon lang om te uploaden, dus krijg je met de timeout van doen, als je refreshed ben je je post data kwijt...
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  maandag 3 september 2007 @ 14:57:31 #191
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52917417
quote:
Op zondag 2 september 2007 13:19 schreef Chivu het volgende:
Ik wil via een formulier meerdere files (1 tot in de praktijk 10) uploaden. Met kleine bestanden gaat dit prima. Met een 10-tal 'grote' bestanden (foto's uit een digitale camera, 1 a 2mb per stuk) duurt dit waarschijnlijk te lang en krijg ik na een (beperkt aantal? 15-20) seconden de originele uploadpagina weer te zien. De $_POST wordt dus niet meegegeven, anders kreeg ik de resultatenpagina te zien.

Nu heb ik me rot gezocht op GoT of het mogelijk is om tussen elke uploadactie de pagina te refreshen.

1. Upload formulier met 10 input type=file elementen
2. Upload $_FILES[0]
3. Refresh
4. Upload $_FILES[1]
5. Refresh
6. Upload $_FILES[2]
7. Refresh
8. Upload $_FILES[3]
9. etc. etc.
10. Klaar, toon de resultatenpagina

Hiervoor moeten de $_POST en $_FILES variabelen dus keer op keer doorgegeven worden bij de refresh, inclusief een teller-variabele om telkens de volgende $_FILES[$teller] af te lopen.

Is dit mogelijk en hoe doe ik dit precies? Ik wil liever niet afhankelijk zijn van php.ini settings, zodat onafhankelijk van de server de website gewoon werkt met de standaard PHP instellingen.
je kunt ook gewoon de max_execution_time omhoog gooien
1
2
3
<?php
ini_set
('max_execution_time'120);
?>
pi_52917456
Kan je dat ook niet in .htaccess aangeven............ ?
  maandag 3 september 2007 @ 15:22:45 #193
56176 Catch22-
Ben je Blind?!
pi_52917977
Nee
wiki
quote:
htaccess (hypertext access) is the default name of Apache's directory-level configuration file. It provides the ability to customize configuration for requests to the particular directory.

.htaccess files are commonly used for:

* Authorization, authentication: .htaccess files are often used to specify the security restrictions for the particular directory, hence the filename "access". The .htaccess file is often accompanied by an .htpasswd file which stores valid usernames and their passwords.
* Customized error responses: Changing the page that is shown when a server-side error occurs, for example HTTP 404 Not Found.
* Rewriting URLs: Various server-side PHP scripts use .htaccess to rewrite "ugly" URLs to shorter and prettier ones.
dat is echt een instelling in je php zelf
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_52918027
Je kunt met .htaccess weldegelijk instellingen aanpassen. Let ook op de woorden 'are commonly used for'.
  maandag 3 september 2007 @ 15:27:40 #195
56176 Catch22-
Ben je Blind?!
pi_52918109
het hoort niet, als het al gaat werken.

wat is het probleem? Je kan toch gewoon die ini_set toepassen. Bij sommige hosts kun je de htaccess niet aanpassen, of is die er simpelweg niet (bij het geval IIS hosting )
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_52918305
quote:
Op maandag 3 september 2007 14:40 schreef Catch22- het volgende:
Je zal altijd met een beperkte timeout te maken houden en files van een paar mb duren gewoon lang om te uploaden, dus krijg je met de timeout van doen, als je refreshed ben je je post data kwijt...
Dat dacht ik al. Ik hou het maar gewoon op een check dat bestanden van meer dan 2mb niet geupload mogen worden. Ik gebruik liever niet iets als JUpload vanwege overige bewerkingen die daarna nog met de plaatjes uitgevoerd moeten worden, dus dan wordt het maar gewoon maximaal 3-5 plaatjes uploaden. Daar moet wel genoeg tijd voor zijn, en dan maar met die ini-set Bedankt.
  maandag 3 september 2007 @ 15:58:28 #197
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52918876
quote:
Op maandag 3 september 2007 15:36 schreef Chivu het volgende:

[..]

Dat dacht ik al. Ik hou het maar gewoon op een check dat bestanden van meer dan 2mb niet geupload mogen worden. Ik gebruik liever niet iets als JUpload vanwege overige bewerkingen die daarna nog met de plaatjes uitgevoerd moeten worden, dus dan wordt het maar gewoon maximaal 3-5 plaatjes uploaden. Daar moet wel genoeg tijd voor zijn, en dan maar met die ini-set Bedankt.
wellicht handig om het via ajax te doen om te voorkomen dat de gebruiker de pagina gaat refreshen omdat het hem te lang duurt
pi_52919042
Ik vind Ajax heel lief, maar ik heb me nog niet in AJAX verdiept. Bovendien moet een gedisabled uploadknopje en een animatie+melding genoeg zijn om mensen te laten wachten.
  maandag 3 september 2007 @ 16:49:21 #199
39436 Dreammaster
Dat zei je moeder vannacht ook
pi_52919815
quote:
Op maandag 3 september 2007 16:06 schreef Chivu het volgende:
Ik vind Ajax heel lief, maar ik heb me nog niet in AJAX verdiept. Bovendien moet een gedisabled uploadknopje en een animatie+melding genoeg zijn om mensen te laten wachten.
AJAX heb je binnen 5 minuten geleerd. Maar in principe heb je wel gelijk natuurlijk.
pi_52919899
quote:
Op maandag 3 september 2007 16:49 schreef Dreammaster het volgende:

[..]

AJAX heb je binnen 5 minuten geleerd. Maar in principe heb je wel gelijk natuurlijk.
kun je het binnen 5 min typen leren? zo ja, dan zou ik zeggen.. succes!
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_52921891
quote:
Op maandag 3 september 2007 14:40 schreef Catch22- het volgende:
je moet het absoluten pad in je header location zetten. Firefox doet blijkbaar wat lastiger als hij geen base_href meekrijgt
[..]

Je zal altijd met een beperkte timeout te maken houden en files van een paar mb duren gewoon lang om te uploaden, dus krijg je met de timeout van doen, als je refreshed ben je je post data kwijt...
De timeout geldt niet voor file uploads. Zolang er nog een upload loopt naar de server, telt de max_execution_time van PHP nog niet af.
quote:
The maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details.

You can not change this setting with ini_set() when running in safe mode. The only workaround is to turn off safe mode or by changing the time limit in the php.ini.

Your web server can have other timeouts. E.g. Apache has Timeout directive, IIS has CGI timeout function, both default to 300 seconds. See the web server documentation for meaning of it.
Als er toch een time-out op treedt, is dat waarschijnlijk een time-out vanuit de webserver en niet vanuit PHP.
pi_52922407
quote:
Op maandag 3 september 2007 16:49 schreef Dreammaster het volgende:

[..]

AJAX heb je binnen 5 minuten geleerd. Maar in principe heb je wel gelijk natuurlijk.
Ah, je hebt er verstand van, dat zie ik al

Met AJAX kun je niet eens fileuploads doen.... dat moet via een iframe.
pi_52923056
quote:
Op maandag 3 september 2007 15:27 schreef Catch22- het volgende:
het hoort niet, als het al gaat werken.
Hoezo 'het hoort niet'? Imho een prima toepassing van .htaccess om de webserver een module te configureren voor de bestanden in die map en alle submappen.
  dinsdag 4 september 2007 @ 14:03:45 #204
136730 PiRANiA
All thinking men are atheists.
pi_52937324
Ik heb een vraagje.
Hoe haalt hyves (en anders websites) je adresboek van je mailaccount af?
Logt de server in op gmail, opent dan 'contacts' en haalt dan alles er af?

Of doen ze dat anders?
Ik wil het wel weten, want het lijkt me handig voor mijn site
pi_52938135
quote:
Op dinsdag 4 september 2007 14:03 schreef PiRANiA het volgende:
Ik heb een vraagje.
Hoe haalt hyves (en anders websites) je adresboek van je mailaccount af?
Logt de server in op gmail, opent dan 'contacts' en haalt dan alles er af?

Of doen ze dat anders?
Ik wil het wel weten, want het lijkt me handig voor mijn site
Google op 'gmail api'. Er lijken verschillende libraries te zijn waarmee je gmail-functionaliteit kunt gebruiken. Verder geen ervaring mee eigenlijk.
  dinsdag 4 september 2007 @ 15:40:06 #206
136730 PiRANiA
All thinking men are atheists.
pi_52939034
quote:
Op dinsdag 4 september 2007 14:48 schreef GVRuud het volgende:

[..]

Google op 'gmail api'. Er lijken verschillende libraries te zijn waarmee je gmail-functionaliteit kunt gebruiken. Verder geen ervaring mee eigenlijk.
Ook voor php?
En hoe zit het met andere mailsystemen?
  dinsdag 4 september 2007 @ 15:52:40 #207
84926 WyriHaximus
Release the hounds smithers!
pi_52939186
quote:
Op dinsdag 4 september 2007 14:03 schreef PiRANiA het volgende:
Ik heb een vraagje.
Hoe haalt hyves (en anders websites) je adresboek van je mailaccount af?
Logt de server in op gmail, opent dan 'contacts' en haalt dan alles er af?

Of doen ze dat anders?
Ik wil het wel weten, want het lijkt me handig voor mijn site
Heh moet je je username en password opgeven zeker?
phluphy for president!
  dinsdag 4 september 2007 @ 15:56:06 #208
136730 PiRANiA
All thinking men are atheists.
pi_52939233
quote:
Op dinsdag 4 september 2007 15:52 schreef WyriHaximus het volgende:

[..]

Heh moet je je username en password opgeven zeker?
ja inderdaad. Maar wat gebeurt er dan?
Wordt gmail geopend?
pi_52953221
quote:
Op dinsdag 4 september 2007 15:56 schreef PiRANiA het volgende:

[..]

ja inderdaad. Maar wat gebeurt er dan?
Wordt gmail geopend?
Nee er wordt gebruik gemaakt van een API van google, die is als het goed is wel ergens te downloaden denk ik. Alles wat je met gmail wil doen kun je dan via die API doen.
Gr. Gr.
  woensdag 5 september 2007 @ 09:20:32 #210
84926 WyriHaximus
Release the hounds smithers!
pi_52953458
quote:
Op dinsdag 4 september 2007 15:56 schreef PiRANiA het volgende:

[..]

ja inderdaad. Maar wat gebeurt er dan?
Wordt gmail geopend?
Ja zo of via een API gebeurt dat meestal .
quote:
Op woensdag 5 september 2007 09:06 schreef unox_worst het volgende:

[..]

Nee er wordt gebruik gemaakt van een API van google, die is als het goed is wel ergens te downloaden denk ik. Alles wat je met gmail wil doen kun je dan via die API doen.
Zolang er maar niet mee gespammed word. Want dat soort mensen zouden ze achter een motor aan over de snelweg moeten slepen
phluphy for president!
pi_52953848
quote:
Op dinsdag 4 september 2007 15:40 schreef PiRANiA het volgende:

[..]

Ook voor php?
En hoe zit het met andere mailsystemen?
Ook voor PHP: http://sourceforge.net/projects/gmail-lite/

Neem aan dat er voor een boel andere mailaanbieders ook wel zoiets zal zijn...
  woensdag 5 september 2007 @ 09:55:29 #212
107951 JortK
Immer kwaliteitsposts
pi_52954195
quote:
Op woensdag 5 september 2007 09:38 schreef GVRuud het volgende:

[..]

Ook voor PHP: http://sourceforge.net/projects/gmail-lite/

Neem aan dat er voor een boel andere mailaanbieders ook wel zoiets zal zijn...
Aan de screenshots te zien bijvoorbeeld handig voor op een PDA ofzo
  woensdag 5 september 2007 @ 13:55:59 #213
84926 WyriHaximus
Release the hounds smithers!
pi_52959236
quote:
Op woensdag 5 september 2007 09:55 schreef JortK het volgende:

[..]

Aan de screenshots te zien bijvoorbeeld handig voor op een PDA ofzo
Zeker tof. Alleen het jammere aan de POP3 support van Gmail is dat ze niet de read/delete acties die je op je pop uitvoerd ook op je gmail door voeren .
phluphy for president!
pi_52959641
quote:
Op woensdag 5 september 2007 13:55 schreef WyriHaximus het volgende:

[..]

Zeker tof. Alleen het jammere aan de POP3 support van Gmail is dat ze niet de read/delete acties die je op je pop uitvoerd ook op je gmail door voeren .
Ehm, POP3 hoort dat ook niet te doen. Bedoel je niet IMAP?
  woensdag 5 september 2007 @ 14:17:40 #215
84926 WyriHaximus
Release the hounds smithers!
pi_52959700
quote:
Op woensdag 5 september 2007 14:14 schreef JeRa het volgende:

[..]

Ehm, POP3 hoort dat ook niet te doen. Bedoel je niet IMAP?
Dat ondersteund Gmail niet .
phluphy for president!
pi_52961318
Misschien een retorische vraag, maar 'beveiligen' jullie elk invoerveld op een pagina met strip_tags, htmlspecialchars etc? En zijn er nog andere obvious zaken waar ik op moet letten?
  woensdag 5 september 2007 @ 15:46:35 #217
84926 WyriHaximus
Release the hounds smithers!
pi_52961398
quote:
Op woensdag 5 september 2007 15:40 schreef Chivu het volgende:
Misschien een retorische vraag, maar 'beveiligen' jullie elk invoerveld op een pagina met strip_tags, htmlspecialchars etc? En zijn er nog andere obvious zaken waar ik op moet letten?
Ja . Maar ook met XSS scans om dat soort mensen gelijk te bannen. Of intval is ook handig voor nummers . Ow addlsashes voor SQL (en het liefst die de database libs leveren).
phluphy for president!
  woensdag 5 september 2007 @ 15:58:01 #218
136730 PiRANiA
All thinking men are atheists.
pi_52961567
quote:
Op woensdag 5 september 2007 15:46 schreef WyriHaximus het volgende:

[..]

Ja . Maar ook met XSS scans om dat soort mensen gelijk te bannen. Of intval is ook handig voor nummers . Ow addlsashes voor SQL (en het liefst die de database libs leveren).
voor sql doe ik
mysql_real_escape (dacht ik)...
  woensdag 5 september 2007 @ 15:59:11 #219
84926 WyriHaximus
Release the hounds smithers!
pi_52961594
quote:
Op woensdag 5 september 2007 15:58 schreef PiRANiA het volgende:

[..]

voor sql doe ik
mysql_real_escape (dacht ik)...
Dat is die van MySQL ja postgre laat het toe het via een sprintf meganisme te werken voor variables .
phluphy for president!
pi_52964095
quote:
Op woensdag 5 september 2007 15:59 schreef WyriHaximus het volgende:

[..]

Dat is die van MySQL ja postgre laat het toe het via een sprintf meganisme te werken voor variables .
Hoe bedoel je dat, sprintf op zich voorkomt geen sql-injectie?
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_52964340
quote:
Op woensdag 5 september 2007 18:34 schreef SuperRembo het volgende:

[..]

Hoe bedoel je dat, sprintf op zich voorkomt geen sql-injectie?
1
2
3
4
<?php
$input 
'13 OR 1 OR 13';
$query sprintf('SELECT %d'$input);
?>

Op zich wel dus. Desalniettemin is het een beter idee om alle input te checken of naar een type te forceren, of gewoon prepared statements te gebruiken.
pi_52964450
quote:
Op woensdag 5 september 2007 18:48 schreef JeRa het volgende:

[..]
[ code verwijderd ]

Op zich wel dus. Desalniettemin is het een beter idee om alle input te checken of naar een type te forceren, of gewoon prepared statements te gebruiken.
Dit doet sprintf toch niet anders dan een doodgewone string met "..." . $var . "..." ?
pi_52964531
Jawel want je kunt er bepaalde variabele types mee forceren. Overigens kun je alsnog beter er mysql_real_escape_string() bij gebruiken.
"Reality is an illusion created by a lack of alcohol."
pi_52964601
quote:
Op woensdag 5 september 2007 18:53 schreef Geqxon het volgende:

[..]

Dit doet sprintf toch niet anders dan een doodgewone string met "..." . $var . "..." ?
Als er %s stond wel. Nu staat er %d.
pi_52964668
Jullie zijn correct. Al kan het wel met "..." . (int / float) $var . "...", dit is een stuk netter.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')