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
Op regel 27 van de code doe je een leuke berekening waar je vervolgens niets met het resultaat doet. Beetje zonde om processortijd op die manier te verspillenquote:Op dinsdag 9 december 2008 21:38 schreef cablegunmaster het volgende:
[ code verwijderd ]
Resultaat:
Netto: '.$netto.'
Aantal: '.$aantal'; ?>
Vind het nog een beetje dubieus. dat hij bruto niet pakt.
/* joh ik gebruik een quad hiervoorquote:Op dinsdag 9 december 2008 22:23 schreef Light het volgende:
[..]
Op regel 27 van de code doe je een leuke berekening waar je vervolgens niets met het resultaat doet. Beetje zonde om processortijd op die manier te verspillen
Ow, ik zie dat ik een verkeerd regelnummer opgaf. Ik bedoelde de regel metquote:Op dinsdag 9 december 2008 22:25 schreef cablegunmaster het volgende:
[..]
/* joh ik gebruik een quad hiervoor :D
daarnaast m'n opdracht af Dankje glowmouse */
:)
1 2 3 | }else{ 0.925*($prijs * $aantal); ?> |
die had ik verbeterdquote:Op dinsdag 9 december 2008 22:32 schreef Light het volgende:
[..]
Ow, ik zie dat ik een verkeerd regelnummer opgaf. Ik bedoelde de regel met
[ code verwijderd ]
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Redacted
quote:Op woensdag 10 december 2008 13:15 schreef slacker_nl het volgende:
/* grappig dat sommige hier forumposts als comments plaatsen */
1 2 3 4 5 6 | /*** * Best grappig, zou het nou een rage gaan worden? * Of is het gewoon een hype? **/ ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $getal1 = $_POST['getal1']; $getal2 = $_POST['getal2']; if (!is_numeric($getal1, $getal2)) { echo "Je hebt geen numerieke getallen ingevoerd."; } else { $uitkomst = $getal1 + $getal2; echo "$getal1 + $getal2 = $uitkomst"; } <br/> <a href="index.html">Nog eens optellen</a> ?> |
Omdat is_numeric() maar 1 parameter wil hebben, geen twee.quote:Op woensdag 10 december 2008 18:53 schreef Kerol het volgende:
[ code verwijderd ]
Waarom krijg ik deze error:
Warning: Wrong parameter count for is_numeric() in C:\xampp\htdocs\phpweek2\opdracht3\opdracht3.php on line 4?
Owja, en dat html binnen de PHP tags doet FOK! vanzelf ..![]()
Precies.quote:Op woensdag 10 december 2008 19:03 schreef Light het volgende:
[..]
Omdat is_numeric() maar 1 parameter wil hebben, geen twee.
1 2 3 4 5 6 7 | if (!is_numeric($getal1) || !is_numeric($getal2)) { echo "Je hebt geen numerieke getallen ingevoerd."; } else etc... ?> |
Je moet op regel 2 nog een ) toevoegen, anders krijg je een heel andere foutmelding op het schermquote:Op woensdag 10 december 2008 20:23 schreef Tijn het volgende:
[..]
Precies.
Kerol: om twee getallen te controleren, moet je er zoiets van maken:
[ code verwijderd ]
Als nu $getal1 niet numeriek is, of $getal2 niet numeriek (of allebei), komt de foutmelding op het scherm.
Het is dat Fok! zo traag is, anders had je dat niet eens kunnen zienquote:Op woensdag 10 december 2008 20:26 schreef Light het volgende:
[..]
Je moet op regel 2 nog een ) toevoegen, anders krijg je een heel andere foutmelding op het scherm
Had het zelf ook al gezien dus het leverde geen foutmeldingen opquote:Op woensdag 10 december 2008 20:26 schreef Light het volgende:
[..]
Je moet op regel 2 nog een ) toevoegen, anders krijg je een heel andere foutmelding op het scherm
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 34 35 | $getal1 = $_POST['getal1']; $getal2 = $_POST['getal2']; if (!is_numeric($getal1) || !is_numeric($getal2)) { echo "Je hebt geen numerieke getallen ingevoerd."; } else { if($_POST['reken1']=1) { $uitkomst = $getal1 + $getal2; echo "$getal1 + $getal2 = $uitkomst"; } if($_POST['reken2']=1) { $uitkomst= $getal1 - $getal2; echo "$getal1 - $getal2 = $uitkomst"; } if($_POST['reken3']=1) { $uitkomst = $getal1 / $getal2; echo "$getal1 / $getal2 = $uitkomst"; } if($_POST['reken4']=1); { $uitkomst = $getal1 * $getal2; echo "$getal * $getal = $uitkomst"; } } <br/> <a href="index.html">Nog eens de rekenmachine gebruiken!</a> ?> |
Omdat dit altijd waar is:quote:Op woensdag 10 december 2008 21:02 schreef Kerol het volgende:
[ code verwijderd ]
Waarom krijg ik nu ALLE antwoorden? (Dus */+ en -) Ik heb bijvoorbeeld alleen Optellen aangekruist bij mijn aankruisvakjes en nog drukt hij alles af.
1 2 3 | if($_POST['reken1']=1) ?> |
1 2 3 | if($_POST['reken1'] == 1) ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <head> </head> <body> <form method="post" action="opdracht4.php"> <input type="text" name="getal1"/> <br/> <input type="text" name="getal2"/> <br/> <input type="radio" name="reken1"/>Optellen (+) <input type="radio" name="reken2"/>Aftrekken (-) <input type="radio" name="reken3"/>Delen (/) <input type="radio" name="reken4"/>Vermenigvuldigen (*) <br/> <input type="reset" name="reset" value="Verwijder!"/> <input type="submit" name="submit" value="Bereken!"/> <br/> </form> </body> </html> |
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 34 35 | $getal1 = $_POST['getal1']; $getal2 = $_POST['getal2']; if (!is_numeric($getal1) || !is_numeric($getal2)) { echo "Je hebt geen numerieke getallen ingevoerd."; } else { if($_POST['reken1'] ==1) { $uitkomst = $getal1 + $getal2; echo "$getal1 + $getal2 = $uitkomst"; } if($_POST['reken2'] ==1) { $uitkomst= $getal1 - $getal2; echo "$getal1 - $getal2 = $uitkomst"; } if($_POST['reken3'] ==1) { $uitkomst = $getal1 / $getal2; echo "$getal1 / $getal2 = $uitkomst"; } if($_POST['reken4'] ==1) { $uitkomst = $getal1 * $getal2; echo "$getal * $getal = $uitkomst"; } } <br/> <a href="index.html">Nog eens de rekenmachine gebruiken!</a> ?> |
1 2 3 4 5 6 | <a href="index.html">Nog eens de rekenmachine gebruiken!</a> /* staat zonder echo tag */ <?php echo ('<br/><ahref="index.html">Nog eens de rekenmachiene gebruiken!</a>') ?> |
Je moet na die laatste curly bracket wel een ?> neer zetten. Dat sowieso.quote:Op woensdag 10 december 2008 21:21 schreef Kerol het volgende:
Waarom zou je in vredesnaam een echo voor een href gebruiken, cablegunmaster. Die tekst komt sowieso al in beeld omdat het een link is. En ja, het klopt dat je alleen 'Nog eens de rekenmachiene gebruiken!' ziet, maar het probleem is dat ik geen berekening en antwoord van de ingevoerde getallen krijg!
Done, roep een login functie aan als ISSET($_POST[slogin])quote:Op zondag 7 december 2008 11:25 schreef Swetsenegger het volgende:
[..]
doe gewoon dit
[ code verwijderd ]
Op die manier vind de verwerking van je login altijd plaats voordat er data naar de browser is gestuurd.
Simpele regel is eigenlijk dat header altijd VOOR <html> moet staan in je source
1 2 3 | $totosession[login] = 'ok'; $totosession[user] = stripslashes($username); |
Mja, dat heb ik maar om een of andere reden zet FOK! hem ergens anders neerquote:Op woensdag 10 december 2008 21:25 schreef Swetsenegger het volgende:
[..]
Je moet na die laatste curly bracket wel een ?> neer zetten. Dat sowieso.
ff tussen code tags zetten ipv phpquote:Op woensdag 10 december 2008 21:26 schreef Kerol het volgende:
[..]
Mja, dat heb ik maar om een of andere reden zet FOK! hem ergens anders neer
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |