1 2 3 4 5 6 7 8 9 10 11 12 13 | include("models/post.php"); class TVP extends Post { public static function makeTvp() { parent::makePost("TVP!"); } } TVP::makeTvp(); ?> |
Whehe, ja. Daar kunnen een hoop mensen de mist in gaan. empty kan ook toch?quote:Op woensdag 18 maart 2009 11:33 schreef Roy_T het volgende:
On topic: ik erger me nog steeds dood aan het feit dat "array() == null" in PHP naar true evalueertJa, ik kan === gebruiken, maar het gaat om het principe. Een lege array is niet "niets", het is een lege array.
1 2 3 4 5 6 7 8 9 10 11 | class TVP extends Post { public TVP() { parent::makePost("TVP!"); } } TVP(); |
Geen geldige constructor in PHP 5, officieel :Pquote:
1 2 3 4 5 6 7 8 9 10 11 | class TVP extends Post { public function __construct() { parent::__construct("TVP!"); } } new TVP(); ?> |
Ja, dat kan. Maar dat is symptoombestreiding: het is gewoon onlogisch om een lege array "null" te vinden.quote:Op woensdag 18 maart 2009 11:52 schreef Scorpie het volgende:
Whehe, ja. Daar kunnen een hoop mensen de mist in gaan. empty kan ook toch?
En een lege array is niks. Je ergert je zeker ook aan het feit dat $var = 0 ook failed met isempty().quote:Op woensdag 18 maart 2009 11:33 schreef Roy_T het volgende:
On topic: ik erger me nog steeds dood aan het feit dat "array() == null" in PHP naar true evalueertJa, ik kan === gebruiken, maar het gaat om het principe. Een lege array is niet "niets", het is een lege array.
Hoezo?quote:Op woensdag 18 maart 2009 12:16 schreef Roy_T het volgende:
[..]
Ja, dat kan. Maar dat is symptoombestreiding: het is gewoon onlogisch om een lege array "null" te vinden.
Er is een array "object" gemaakt, het zou er imo niet toe moeten doen of hier wel of niet iets in staat. Hetzelfde geldt overigens voor een lege string, de integer 0, etc.quote:Op woensdag 18 maart 2009 13:44 schreef slacker_nl het volgende:
Hoezo?
De array heeft wat memory toegewezen gekregen is bevat verder geen enkele waarde, aka NULL.
1 2 3 4 5 6 7 8 9 | feeds.*, feeds_items.* FROM feeds INNER JOIN feeds_items ON feeds_items.feed_id = feeds.id |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ---------------------------------- 1 | bla 1 | Blalala 1 | lalal 1 | blalala 1 | Blalala 1 | Bla 2 | Lalala 2 | Tralala 2 | Lalalala 2 | Joehoe 2 | Bla 2 | Blalala 2 | Blala 3 | Joehoe 3 | Hello 3 | Daag |
1 2 3 4 5 6 7 8 | ---------------------------------- 1 | bla 1 | Blalala 2 | Lalala 2 | Tralala 3 | Joehoe 3 | Hello |
Het is geen object, aangezien ik niet $array->functie() kan aanroepen. Zoals je wel kan met java met String.toLower, python idem. Dat zijn echte objecten.quote:Op woensdag 18 maart 2009 13:52 schreef Roy_T het volgende:
Er is een array "object" gemaakt, het zou er imo niet toe moeten doen of hier wel of niet iets in staat. Hetzelfde geldt overigens voor een lege string, de integer 0, etc.
Noem er eens eentje.quote:Zo onlogisch is mijn denkwijze overigens niet, want in tig andere talen is een lege array niet null, net zo min als een lege string of het getal 0 :)
Perl ziet een lege array ook als false:quote:In PHP is ervoor gekozen om het te doen zoals het gedaan is (PHP is niet de enige taal), maar dat neemt niet weg dat ik het stom, onlogisch en irritant vind :P
1 2 3 4 5 6 7 | if (@array) { print "found something\n"; } else { print "found nothing\n"; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | include_once('sys_db.inc'); $resultaat = mysql_query("SELECT COUNT(*) AS count FROM todo WHERE ". "Soort = 'l' OR Soort = 'v';") or die(mysql_error()); $gegevens = mysql_fetch_assoc($resultaat); $count = $gegevens["count"]; if ($count==0) exit(0); else exit(1); ?> |
Het ligt trouwens niet aan de sys_db.inc want andere programma's waar ik dat in gebruik werken wel zonder problemen. Dus wie o wie kan mij vertellen waarom dit imbeciel simpele programmaatje ervoor zorgt dat PHP constant crasht?quote:$ ./klaar.php
Segmentation fault
$ ./klaar.php
$ ./klaar.php
$ ./klaar.php
$ ./klaar.php
Segmentation fault
$ ./klaar.php
$ ./klaar.php
Segmentation fault
$ ./klaar.php
$ ./klaar.php
Segmentation fault
$ ./klaar.php
$
hmz.. misschien ff een memtest doen?quote:Segmentation fault can also occur under following circumstances:
a) A buggy program / command, which can be only fixed by applying patch.
b) It can also appear when you try to access an array beyond the end of an array under C programming.
c) Inside a chrooted jail this can occur when critical shared libs, config file or /dev/ entry missing.
d) Sometime hardware or faulty memory or driver can also create problem.
e) Maintain suggested environment for all computer equipment (overheating can also generate this problem).
isempty() bestaat niet, empty() en isset() wel.quote:Op woensdag 18 maart 2009 13:30 schreef slacker_nl het volgende:
[..]
En een lege array is niks. Je ergert je zeker ook aan het feit dat $var = 0 ook failed met isempty().
1 2 3 4 5 | $var = 0; var_dump(empty($var)); var_dump(isset($var)); ?> |
Ja, php en z'n naming conventions.. Dat vind ik nou bloedje irritant van php.quote:Op woensdag 18 maart 2009 21:45 schreef Light het volgende:
[..]
isempty() bestaat niet, empty() en isset() wel.
Eensquote:Op donderdag 19 maart 2009 00:15 schreef slacker_nl het volgende:
[..]
Ja, php en z'n naming conventions.. Dat vind ik nou bloedje irritant van php.
Ik ook inderdaadquote:Op donderdag 19 maart 2009 07:59 schreef Tuvai.net het volgende:
Ik heb voor PHP altijd die cheat sheet klaar liggen.Zelfs ik vergeet af en toe (de volgorde van) parameters van functies/methoden, terwijl ik al bijna 10 jaar met PHP werk.
$haystack, $needle. $needle, $haystack.
Note de aanhalingstekens rond "object" in mijn post. Ik weet dat het geen object is in PHP.quote:Op woensdag 18 maart 2009 18:12 schreef slacker_nl het volgende:
Het is geen object, aangezien ik niet $array->functie() kan aanroepen. Zoals je wel kan met java met String.toLower, python idem. Dat zijn echte objecten.
Dat is nog geen reden om er blij mee te zijn toch?quote:Een lege string is emtpy, een 0 is een boolean false waarde, dus het is logisch in een loose typed taal dit als "empty" ziet.
Nou, eentje dan: Ruby.quote:Noem er eens eentje.
Er zit dan ook echt geen lijn inquote:Op donderdag 19 maart 2009 07:59 schreef Tuvai.net het volgende:
Zelfs ik vergeet af en toe (de volgorde van) parameters van functies/methoden, terwijl ik al bijna 10 jaar met PHP werk.
quote:Op donderdag 19 maart 2009 09:00 schreef Catch22- het volgende:
je kan ook eclipse proberen (dat is een beetje als anale sex, daar moet je wel van houden)
Een array is daar net zoals in Java een echt object als ik dit zo lees:quote:Op donderdag 19 maart 2009 08:25 schreef Roy_T het volgende:
Note de aanhalingstekens rond "object" in mijn post. Ik weet dat het geen object is in PHP.
[..]
Dat is nog geen reden om er blij mee te zijn toch?
[quote]
Nou, eentje dan: Ruby.
Ja, dat klopt helemaal. En ik stoor me er dus aan dat dat in PHP niet zo is, omdat je daardoor onlogisch gedrag krijgt. Jij misschien niet, maar er zijn natuurlijk geen argumenten waarom ik dat niet zou mogenquote:Op donderdag 19 maart 2009 14:04 schreef slacker_nl het volgende:
Een array is daar net zoals in Java een echt object als ik dit zo lees:
http://www.techotopia.com/index.php/Understanding_Ruby_Arrays
1 2 3 4 5 6 7 8 | method makeTime(){ $queryTime = 1; $this->time = $queryTime; echo $queryTime; echo $this->time; } ?> |
Probeer eens self:: i.p.v. $this->.quote:Op donderdag 19 maart 2009 15:39 schreef Scorpie het volgende:
Hm. Als ik in een singleton class het volgende doe:
[ code verwijderd ]
Dan krijg ik 1,0 te zien. Moet ik variabelen in een singleton class anders definieren ?
Zal het eens ff proberen.quote:Op donderdag 19 maart 2009 15:53 schreef Tuvai.net het volgende:
[..]
Probeer eens self:: i.p.v. $this->.
Dit lijkt me wel mooier omdat de pagina dan niet opnieuw geladen dient te worden, maar daar heb ik nog minder kaas van gegeten.quote:
quote:Op donderdag 19 maart 2009 15:53 schreef Tuvai.net het volgende:
[..]
Probeer eens self:: i.p.v. $this->.
TCPDF (gebaseerd op FPDF, maar dan met unicode en html-support).quote:Op donderdag 19 maart 2009 23:31 schreef qu63 het volgende:
Hoe kan je nou een PDF-document netjes opmaken dmv PHP? Ik wil een soort van orderbevestiging/facturen systeem maken, waarbij er dus PDF's aangemaakt moeten worden inclusief logo's etc. Welke class is nou het makkelijkst/beste om te gebruiken?
Thanks!quote:Op vrijdag 20 maart 2009 09:17 schreef Tiemie het volgende:
[..]
TCPDF (gebaseerd op FPDF, maar dan met unicode en html-support).
Hm...moet ik eerst constante variable definieren ofzo........quote:Op donderdag 19 maart 2009 22:44 schreef Scorpie het volgende:
[..]
Werkt niet. Heb de hele code hier staan: http://pastebin.com/m37ccfcc0
Database class, extended class MySQL , en dan singleton pattern. Geen idee wat er mis gaat though.
1 2 3 | $sql = "SELECT id, startdate, enddate, eventname, place, country, eventtype, subscribedate, organizer, print FROM agenda ORDER BY startdate ASC, enddate ASC, subscribedate ASC LIMIT 8"; ?> |
Dat moet aan je overige code liggen.quote:Op vrijdag 20 maart 2009 23:04 schreef poepeneesje het volgende:
Iemand enig idee waarom bij onderstaande code de boel niet werkt? Bij het veranderen van de eerst ASC naar DESC toont hij wel iets, maar niet het goede. Het verwijderen van LIMIT of de notatie LIMIT 0,8 geeft ook geen verandering.
[ code verwijderd ]
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | include "./database/mysql-database-connect.php"; $sql = "SELECT id, startdate, enddate, eventname, place, country, eventtype, subscribedate, organizer, print FROM agenda ORDER BY startdate ASC, enddate ASC, subscribedate ASC LIMIT 8"; $query = mysql_query($sql) or die (mysql_error ()); while($request = mysql_fetch_array($query)) { $id = $request["id"]; $startdate = $request["startdate"]; $enddate = $request["enddate"]; $eventname = $request["eventname"]; $place = $request["place"]; $country = $request["country"]; $eventtype = $request["eventtype"]; $subscribedate = $request["subscribedate"]; $organizer = $request["organizer"]; $print = $request["print"]; $startday = date("d", strtotime($startdate)); $startmonth = date("m", strtotime($startdate)); $startyear = date("Y", strtotime($startdate)); $endday = date("d", strtotime($enddate)); $endmonth = date("m", strtotime($enddate)); $endyear = date("Y", strtotime($enddate)); $subscribeday = date("d", strtotime($subscribedate)); $subscribemonth = date("m", strtotime($subscribedate)); $subscribeyear = date("Y", strtotime($subscribedate)); if(($print == 1) && ($enddate >= date("Y-m-d"))) { $year = date("Y"); $nextyear = $year + 1; if(($startyear == $year) && ($endyear == $year)) { if($startmonth < 13) { if($startday == $endday) { if(strlen($eventname) > 45) { $shortEventname = trim(substr($eventname, 0, 42)); echo "<div class=\"date\">$startday/$endmonth/$endyear</div><div class=\"event\">$shortEventname...</div>"; } else { echo "<div class=\"date\">$startday/$endmonth/$endyear</div><div class=\"event\">$eventname</div>"; } } else { if(strlen($eventname) > 45) { $shortEventname = trim(substr($eventname, 0, 42)); echo "<div class=\"date\">$startday-$endday/$endmonth/$endyear</div><div class=\"event\">$shortEventname...</div>"; } else { echo "<div class=\"date\">$startday-$endday/$endmonth/$endyear</div><div class=\"event\">$eventname</div>"; } } } } } } include "./database/mysql-database-disconnect.php"; ?> |
De 8 die je opvraagt voldoen niet aan de IF, klaar. En 'een hele lijst met data' kun je prima met je query filteren.quote:Op vrijdag 20 maart 2009 23:21 schreef poepeneesje het volgende:
Zou met LIMIT gewoon moeten kunnen lijkt mij. Ik zie trouwens ook niet echt iets fout gaan in de IF's...
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 36 37 38 39 40 41 42 43 44 45 46 47 48 | function getrecords(){ $sql = "SELECT * from SPELERS"; $db = mysql_pconnect('localhost'); if(!db){ echo 'fout: kreeg geen verbinding met de database'; exit; } mysql_select_db('zaalvoetbal'); $result=mysql_query($sql); if (!$result){ echo 'fout: sql statement niet correct'; exit; } return $result; } function queryString ($id,$a,$b,$c,$d){ return htmlspecialchars('spelers_id='.$id.'spelers_voornaam='.$a.'spelers_achternaam='.$b.'spelers_gsm='.$c.'spelers_punten='.$d); } $result = getrecords(); $num_results = mysql_num_rows($result); echo 'aantal records:'.$num_results.'<BR><BR>'."\n"; echo '<table border=1>'; for ($i=0; $i < $num_results;$i++){ $row = mysql_fetch_array($result); $spelers_id = $row['spelers_id']; $spelers_voornaam = $row['spelers_voornaam']; $spelers_achternaam = $row['spelers_achternaam']; $spelers_gsm = $row['spelers_gsm']; $spelers_punten = $row['spelers_punten']; echo '<tr><td>'; echo $spelers_id; echo '</td><td>'; echo $spelers_voornaam; echo '</td><td>'; echo $spelers_achternaam; echo '</td><td>'; echo $spelers_gsm; echo '</td><td>'; echo $spelers_punten; echo '</td><td>'; echo '<a href="spelers_edit.php?'; echo queryString($spelers_id,$spelers_voornaam,$spelers_achternaam,$spelers_gsm,$spelers_punten); echo '">edit</a>'; echo '</td></tr>'."\n"; } echo '</table>'; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php $spelers_id = $HTTP_GET_VARS['spelers_id']; $spelers_voornaam = $HTTP_GET_VARS['spelers_voornaam']; $spelers_achternaam = $HTTP_GET_VARS['spelers_achternaam']; $spelers_gsm = $HTTP_GET_VARS['spelers_gsm']; $spelers_punten = $HTTP_GET_VARS['spelers_punten']; ?> <?php echo $spelers_voornaam?>; <form method="post" action="spelersUpdateRecord.php"> <input type="hidden" name="spelers_id" value="<?php echo $spelers_id?>"> Voornaam:<br> <input type="Text" name="spelers_voornaam" size=20 value="<?php echo $spelers_voornaam?>"><br><br> achternaam:<br> <input type="Text" name="spelers_achternaam" size=20 value="<?php echo $spelers_achternaam?>"><br><br> gsm:<br> <input type="Text" name="spelers_gsm" size=20 value="<?php echo $spelers_gsm?>"><br><br> punten:<br> <input type="Text" name="spelers_punten" size=20 value="<?php echo $spelers_punten?>"><br><br> <input type="submit" name="bewaren" value="bewaren"> </form> |
ten eerste thx voor de tips! ik ben net begonnen en heb een boek gelezen die (net gekeken) in 2005 is uitgekomen. Ik ga een nieuw boek aanschaffen.quote:Op zondag 22 maart 2009 12:48 schreef GlowMouse het volgende:
1. Je wilt geen verbinding maken met de database in een algemene functie.
2. mysql_pconnect kost lekker veel verbindingen wanneer je veel apache workerthreads hebt.
3. gebruik geen for én mysql_fetch_array($result), maar het kortere while($row = mysql_fetch_array($result)) { }
4. gebruik urlencode
5. gebruik $_GET['varname'] ipv $HTTP_GET_VARS['varname']
6. zoek eens op XSS (cross site scripting)
7. gebruik templates om code en opmaak te scheiden
heb de$HTTP..vervangen door $_GET. Nog steeds wordt in invulvelden de waarde niet gevuld. Weet je waaraan het kan liggen?quote:Op zondag 22 maart 2009 12:48 schreef GlowMouse het volgende:
1. Je wilt geen verbinding maken met de database in een algemene functie.
2. mysql_pconnect kost lekker veel verbindingen wanneer je veel apache workerthreads hebt.
3. gebruik geen for én mysql_fetch_array($result), maar het kortere while($row = mysql_fetch_array($result)) { }
4. gebruik urlencode
5. gebruik $_GET['varname'] ipv $HTTP_GET_VARS['varname']
6. zoek eens op XSS (cross site scripting)
7. gebruik templates om code en opmaak te scheiden
Nee, heb je een linkje?quote:Op zondag 22 maart 2009 13:57 schreef jakees het volgende:
[..]
heb de$HTTP..vervangen door $_GET. Nog steeds wordt in invulvelden de waarde niet gevuld. Weet je waaraan het kan liggen?
nee ik werk alleen lokaal nog. Site is nog niet up zeg maar. Als ik in mijn spelers_edit.phpquote:
1 |
1 |
ik heb een scherm waarin spelers wil wijzigen één voor één. ik selecteer een speler in een scherm waarna ik in het wijzig scherm kom. Ik wil dan dat de waardes van de tabel in de velden gevuld zijn. Dus bij voornaam staat dan al bijvoorbeeld "piet". Deze tekst kan worden overschreven door hetgeen ik intyp in het veld.quote:Op zondag 22 maart 2009 14:05 schreef GlowMouse het volgende:
Puntkomma's moeten sowieso voor de ?> komen. Het statement is 'echo $spelers_voornaam', en dat moet je afsluiten met een puntkomma.
Je post begrijp ik niet.
Dan moet je je variablen vullen door middel van een database query, niet met een GET request.quote:Op zondag 22 maart 2009 15:04 schreef jakees het volgende:
[..]
ik heb een scherm waarin spelers wil wijzigen één voor één. ik selecteer een speler in een scherm waarna ik in het wijzig scherm kom. Ik wil dan dat de waardes van de tabel in de velden gevuld zijn. Dus bij voornaam staat dan al bijvoorbeeld "piet". Deze tekst kan worden overschreven door hetgeen ik intyp in het veld.
<?= $bla ?> werkt prima zonder ; hoor (idem voor het langere <?php echo $bla ?>)quote:Op zondag 22 maart 2009 14:05 schreef GlowMouse het volgende:
en dat moet je afsluiten met een puntkomma.
Eensch. Daarnaast zou een topic voor de wat meer onderlegde PHP-ers onder ons geen kwaad kunnen.quote:Op maandag 23 maart 2009 08:39 schreef Roy_T het volgende:
Eens met Catch22. Het is dan wel voor dummies, maar dat wil niet zeggen dat iets van het niveau "ik wil iets, heb gehoord dat het met PHP kan en nu vraag ik jullie om een klant en klaar script" veel bijdraagt.
Eens. De ingewikkeldere vragen zijn leuker dan de 'help, ik heb iets gejat en het werkt niet' vragen.quote:Op maandag 23 maart 2009 08:53 schreef Catch22- het volgende:
naja ik heb persoonlijk geen zin om newbies te helpen die nog niet weten hoe ze een formulier moeten posten en ik denk dat dat voor meer mensen geldt.
Als het leuke vragen zijn die getuigen van iets aan eigen inzet wil ik er best even over nadenken
Niemand verplicht je om vragen te beantwoorden, als jij ergens een vraag ziet waarvan je denkt, dat ga ik niet beantwoorden, doe het vooral ook niet.quote:Op maandag 23 maart 2009 08:53 schreef Catch22- het volgende:
naja ik heb persoonlijk geen zin om newbies te helpen die nog niet weten hoe ze een formulier moeten posten en ik denk dat dat voor meer mensen geldt.
Als het leuke vragen zijn die getuigen van iets aan eigen inzet wil ik er best even over nadenken
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |