Ik zeg niet dat microtime() minder uniek is dan rand(), ik heb het in z'n geheel niet over rand(). Je zegt alleen dat je het volgende doet: md5(microtime()). Daarop zeg ik: die twee functies samen maken het minder uniek [dan alleen microtime()]. Want zowel microtime() als md5() zijn niet uniek en door ze samen te voegen verhoog (in theorie) je de kans op een dubbele waarde.quote:Op dinsdag 9 december 2008 15:28 schreef Roy_T het volgende:
[..]
Hoe is microtime() minder uniek dan rand()? Is er bij rand() niet immens veel meer kans op eenzelfde random nummer dan dat het aantal microseconden wat verstreken is sinds de epoch nog eens terugkeertWat zie ik over het hoofd?
Je bent bij APC aan 't kijken, da's weer een heel andere package.quote:Op dinsdag 9 december 2008 16:04 schreef Tijn het volgende:
[..]
Wat is dit dan?
[..]
bron: http://nl3.php.net/manual(...).php#ini.apc.rfc1867
Gebruikt dat PECL package niet dezelfde hooks?quote:Op dinsdag 9 december 2008 16:20 schreef Tuvai.net het volgende:
[..]
Je bent bij APC aan 't kijken, da's weer een heel andere package.
Schijnbaar niet; ze worden immers als twee compleet andere packages aangeboden. De uploadprogress extensie vergt in feite een HTML formulier waar je een unieke identifier meestuurt, aan de hand van deze identifier maakt PHP een tekstbestandje aan in de tmp map en leest de functie uploadprogress_get_info() dit tekstbestandje als een array uit. Meerdere bestanden en zelfs meerdere gebruikers tegenlijk is dus geen probleem zo lang je maar zorgt dat je unieke identifiers gebruikt.quote:Op dinsdag 9 december 2008 16:24 schreef Tijn het volgende:
[..]
Gebruikt dat PECL package niet dezelfde hooks?
Apart dat de PECL-methode dan toch PHP 5.2 nodig heeft.quote:Op dinsdag 9 december 2008 16:28 schreef Tuvai.net het volgende:
[..]
Schijnbaar niet; ze worden immers als twee compleet andere packages aangeboden. De uploadprogress extensie vergt in feite een HTML formulier waar je een unieke identifier meestuurt, aan de hand van deze identifier maakt PHP een tekstbestandje aan in de tmp map en leest de functie uploadprogress_get_info() dit tekstbestandje als een array uit. Meerdere bestanden en zelfs meerdere gebruikers tegenlijk is dus geen probleem zo lang je maar zorgt dat je unieke identifiers gebruikt.
Nee, dat zei ik niet. Ik citeerde iemand die het over het hashen van een random string (d.m.v. rand() of anderszins) had, waarop ik aangaf dat ik dan liever microtime() zou hashen.quote:Op dinsdag 9 december 2008 16:14 schreef HuHu het volgende:
Ik zeg niet dat microtime() minder uniek is dan rand(), ik heb het in z'n geheel niet over rand(). Je zegt alleen dat je het volgende doet: md5(microtime()). Daarop zeg ik: die twee functies samen maken het minder uniek [dan alleen microtime()].
In theorie misschien, maar meestal gaat het mis bij wat er gehashed wordt (een niet te unieke string). microtime() zou dan, in theorie, meer random moeten zijn dan een random getal.quote:Want zowel microtime() als md5() zijn niet uniek en door ze samen te voegen verhoog (in theorie) je de kans op een dubbele waarde.
Hangt dat niet van de lengte van de string af? Het lijkt me dat hoe langer de string, hoe groter de kans, vanwege het Pigeonhole principle. Of begrijp ik het dan verkeerd?quote:Op dinsdag 9 december 2008 16:53 schreef Roy_T het volgende:
[..]
Hoe groot is de kans dat md5() voor verschillende strings een zelfde hash terug geeft?
Elk hokje is een mogelijke uitkomst, en aangezien de output een vaste lengte heeft, is de grootte van de input niet van belang voor het aantal hokjes. Wel weet je dat als je input altijd uit 20 bits bestaat, het aantal mogelijke uitkomsten beperkt is, dus in die zin hangt het wel van de lengte af.quote:Op dinsdag 9 december 2008 16:59 schreef Tijn het volgende:
[..]
Hangt dat niet van de lengte van de string af? Het lijkt me dat hoe langer de string, hoe groter de kans, vanwege het Pigeonhole principle. Of begrijp ik het dan verkeerd?
leg uitquote:Op dinsdag 9 december 2008 21:20 schreef GlowMouse het volgende:
Kijk maar eens of je via php.ini of .htaccess de error_reporting en display_errors kunt veranderen. Er zit namelijk wel een fout in je script.
Je zou kunnen proberen om dit bovenaan je script te zetten:quote:
1 2 3 | error_reporting(E_ALL); ?> |
1 2 3 | echo 'Bruto: '.$bruto.'<br>Netto: '.$netto.'<br>Aantal: '.$aantal'; ?> |
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 | <strong>Een klant toevoegen</strong> <br/> <form method="post" action="opdracht2.php"> Naam: <input type="text" name="Naam"/> <br/> Kamernr <input type="text" name="Kamernummer"/> <br/> Telefoon <input type="text" name="Telefoon"/> <br/> Vak <input type="text" name="Vak"/> <br/> <input type="submit" name="submit" value="Voeg Toe!"/> </form> echo "<table border=solid>"; echo "<th>Alle docenten</th>"; echo "<tr><td><strong>Naam</strong></td>"; echo "<td> <strong>Kamernummer</strong> </td>"; echo "<td> <strong>Telefoon</strong> </td>"; echo "<td> <strong>Vak</strong> </td></tr>"; function VoegToe() { echo '<tr><td>'.$_POST['naam'].'</td>'; echo '<td>'.$_POST['kamernummer'].'</td>'; echo '<td>'.$_POST['telefoon'].'</td>'; echo '<td>'.$_POST['vak'].'</td></tr>'; } if ($_POST['submit']); { VoegToe(); } ?> |
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 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>php opdracht 1</title> </head> <body> error_reporting(E_ALL); $aantal=25; $btw=0.89; $omzet=26000; $bruto=0; $netto=0; $prijs=4; if($omzet =< 25000) { $bruto = $omzet * $aantal; } elseif($omzet =<50000) { $bruto = 0.95 *($prijs * $aantal); }else{ 0.925*($prijs * $aantal); } $netto = ($bruto * 0.89); echo 'Bruto: '.$bruto.'<br>Netto: '.$netto.'<br>Aantal: '.$aantal'; </body> </html> ?> |
Dat helpt niet bij een parse errorquote:Op dinsdag 9 december 2008 21:29 schreef Tijn het volgende:
[..]
Je zou kunnen proberen om dit bovenaan je script te zetten:
[ code verwijderd ]
denk ik daar wel direct aan.quote:Resultaat:
Netto: '.$netto.'
Aantal: '.$aantal'; ?>
quote:Op dinsdag 9 december 2008 21:55 schreef GlowMouse het volgende:
Zie je nou PHP-code ertussen staan of niet? Want als ik dit zie:
[..]
denk ik daar wel direct aan.
Enig idee hoe ik dat zou kunnen doen?quote:Op dinsdag 9 december 2008 21:50 schreef GlowMouse het volgende:
Kerol: de tweede keer is geen verandering tov de eerste keer: hij toon weer exact wat je ingevoerd hebt voordat je op submit klikte. Wat je wilt is alle invoer (tijdelijk of permanent) opslaan, en wanneer de tweede keer ingevoerd wordt, eerst te tonen wat je had opgeslagen. En dan ook de tweede weer opslaan voor de derde keer, etc.
bruttoquote:Op dinsdag 9 december 2008 22:07 schreef GlowMouse het volgende:
Kijk eens goed welke strings je allemaal aan elkaar koppelt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // voeg nieuwe invoer toe aan $_SESSION['docenten'] if(isset($_SESSION['docenten'])) { $numsaved = count($_SESSION['docenten']); } else { $numsaved = 0; } $_SESSION['docenten'][$numsaved]['naam'] = $_POST['naam']; // etc // toon $_SESSION['docenten'] foreach($_SESSION['docenten'] as $docent) { echo $naam; // etc } ?> |
Ik zei strings, niet regels tekst. Jij pakt de string 'Bruto: ', koppelt die aan $bruto, koppelt dat weer aan '<br>Netto: ', koppelt dat weer aan $netto, koppelt dat weer aan '<br>Aantal: ' en koppelt dat weer aan $aantal'. En bij dat laatste gaat het fout: $aantal' is geen string.quote:Op dinsdag 9 december 2008 22:12 schreef cablegunmaster het volgende:
wat er staat : in mijn ogen : " geef bruto weer : $bruto display
(volgende regel) Geef netto weer : $netto display
(volgende regel) Geef Aantal weer: $aantal display
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |