abonnement Unibet Coolblue Bitvavo
  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..
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')