ok. Het gaat bij mij om de volgorde van een aantal items. stel ik heb items met ID1 ,2 en 3, en ik wil van 3 -> 1 maken en van 1 -> 3 maken, dan gaat dat toch goed?quote:Op maandag 14 januari 2008 16:15 schreef FrozenOne23 het volgende:
[..]
Kan wel, maar dan gaat hij de volgende keer verder tellen vanaf dat nummer. Laten we zeggen dat je 2 records er in hebt staan met ID 1 en ID 2, en je voegt er een in met ID 5, dan gaat hij bij de volgende rij verder met ID 6.
1 2 3 4 5 6 7 8 9 10 11 | function checkvalue($variable,$text) { if($variable==''){ echo $text; } else{ echo $variable; } } ?> |
http://www.neohide.com/ht(...)w-domain-name-prefixquote:Op maandag 14 januari 2008 17:37 schreef super-muffin het volgende:
Ik heb een heel klein vraagje: Hoe kan ik er voor zorgen dat als iemand mijn website bezoek door http://mijnsite.nl in te tikken op http://www.mijnsite.nl terecht komt?
Hm, bij PCExtreme kon je dat apart aangeven ergens op hun site. Dus misschien moet je even bij je hoster vragen?quote:Op maandag 14 januari 2008 17:37 schreef super-muffin het volgende:
Ik heb een heel klein vraagje: Hoe kan ik er voor zorgen dat als iemand mijn website bezoek door http://mijnsite.nl in te tikken op http://www.mijnsite.nl terecht komt?
Array maken en met een loop langsgaan of er lege values bijzitten.quote:Op maandag 14 januari 2008 17:20 schreef Flaccid het volgende:
[..]
ok. Het gaat bij mij om de volgorde van een aantal items. stel ik heb items met ID1 ,2 en 3, en ik wil van 3 -> 1 maken en van 1 -> 3 maken, dan gaat dat toch goed?
Hoe kan ik trouwens makkelijk checken of een rij variables een value heeft? laten we zeggen ik heb $a $b $c $d. Hoe kan ik makeklijk kijken of ze iets bevatten? Is daar een handig ding voor? met 1 tegelijk is het nog met if te doen, maar ik heb er 7, dus dat wordt een warboel! Dit is mijn functie tot nu toe:
[ code verwijderd ]
waarbij $text de tekst is om te weergeven of ie leeg is. functies zijn handig!
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 | $name = $_POST['name']; $title = $_POST['title']; $shortlink = $_POST['shortlink']; $linkname = $_POST['linkname']; $content = $_POST['content']; $homepage = $_POST['homepage']; $showlink = $_POST['showlink']; function checkvalue($variable,$text) { if($variable==''){ echo '<span class="warning">'.$text.'</span>'; } else{ echo $variable; } }; function createrow($coltitle,$colvar) { echo '<tr>'; echo '<td>'.$coltitle.'</td>'; echo '<td>'; checkvalue($colvar,$coltitle.' niet ingevoerd'); echo '</td>'; echo '</tr>'; } $varlist = array(); $varlist['name'] = 'Naam'; $varlist['title'] = 'Title'; $varlist['shortlink'] = 'Shortlink'; $varlist['linkname'] = 'Linkname'; echo' <table width="100%" border="0" cellspacing="0" cellpadding="0">'; foreach($varlist as $var => $caption) { createrow($caption,$name); } echo' </table> ' ?> |
1 2 3 4 5 6 7 8 9 10 | function checkvalue($variable,$text) { if($variable=='') { echo '<span class="warning">'.$text.'</span>'; } else { echo $variable; } } ?> |
1 2 3 4 5 6 | $name = $_POST['name']; $title = $_POST['title']; $shortlink = $_POST['shortlink']; $linkname = $_POST['linkname']; ?> |
Bedankt.quote:Op maandag 14 januari 2008 17:42 schreef mschol het volgende:
[..]
http://www.neohide.com/ht(...)w-domain-name-prefix
htaccess + mod_rewrite
bedankt voor de tips. ik had het ook over de manier waarop het geprogrammeerd is. Want nu weet ik zelf ff niet meer wat ik doe.quote:Op maandag 14 januari 2008 18:09 schreef HuHu het volgende:
Ik vind 't er niet zo beroerd uit zien hoor Flaccid. Je zou wel wat meer witruimte kunnen gebruiken, bijvoorbeeld binnen je if's:
[ code verwijderd ]
De ; aan het einde van de functie hoort daar niet en de inspringing is zo wat beter. Een lijstje variabelen kun je nog zo doen:
[ code verwijderd ]
Meer over coding-stanards vind je hier: http://pear.php.net/manual/en/standards.php
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 | $name = $_POST['name']; $title = $_POST['title']; $shortlink = $_POST['shortlink']; $linkname = $_POST['linkname']; $content = $_POST['content']; $homepage = $_POST['homepage']; $showlink = $_POST['showlink']; function checkvalue($variable,$text) { if($variable=='') { echo '<span class="warning">'.$text.' niet ingevoerd</span>'; } else { echo $variable; } }; function createrow($coltitle,$colvar) { echo '<tr>'; echo '<td>'.$coltitle.'</td>'; echo '<td>'; checkvalue($colvar,$coltitle); echo '</td>'; echo '</tr>'; } $varlist = array(); $varlist[$name] = 'Naam'; $varlist[$title] = 'Titel'; $varlist[$shortlink] = 'Shortlink'; $varlist[$linkname] = 'Linkname'; $varlist[$content] = 'Content'; echo' <table width="100%" border="0" cellspacing="0" cellpadding="0">'; foreach($varlist as $var => $caption) { createrow($caption,$var); } echo' <tr> <td>Homepage</td> <td>'; if($homepage=='on'){echo'Ja';}else{echo'Nee';} ;echo '</td> </tr> <tr> <td width="40%">Showlink</td> <td>'; if($showlink=='on'){echo'Ja';}else{echo'Nee';} ;echo '</td> </tr> </table> ' ?> |
Uiteraard moet je controleren of de taal wel een geldige waarde krijgt. En of de referrer wel meegegeven is bij de aanroep (en naar je eigen server verwijst). De meeste waarden in $_SERVER moet je net zo wantrouwend behandelen als $_GET en $_POST.quote:Op maandag 14 januari 2008 16:15 schreef Farenji het volgende:
[..]
Zoals ik het laatst opgelost heb: klikken op een vlaggetje laadt het script met als enige param language=blaat. Het script ziet de language param, zet de juiste taal in de sessie, en doet een redirect naar de referrer (die lees je gewoon uit uit de server vars), waar wel voor de zekerheid een evt language param uit is gefilterd (een eeuwige circulaire redirect is niet zo fijn namelijk). Op deze manier hoef je je geen zorgen te maken om eventuele andere params die al in de url staan.
Bovenaan lees je dan gewoon de taal uit uit de sessie et voila.
1 2 3 4 5 6 7 8 9 10 | if($variable=='') { echo '<span class="warning">'.$text.' niet ingevoerd</span>'; } else { echo $variable; } ?> |
1 2 3 | echo (empty($variable)) ? '<span class="warning">'.$text.' niet ingevoerd</span>' : $variabele; ?> |
1 2 3 4 5 6 | if(empty($variable)) echo '<span class="warning">'.$text.' niet ingevoerd</span>'; else echo $variable; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function checkvalue($variable,$text) { if($variable=='') { echo '<span class="warning">'.$text.' niet ingevoerd</span>'; } else { echo $variable; } }; function createrow($coltitle,$colvar) { echo '<tr>'; echo '<td>'.$coltitle.'</td>'; echo '<td>'; checkvalue($colvar,$coltitle); echo '</td>'; echo '</tr>'; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function checkvalue($variable,$text) { if($variable=='') { return '<span class="warning">'.$text.' niet ingevoerd</span>'; } else { return $variable; } }; function createrow($coltitle,$colvar) { return ' <tr> <td>'.$coltitle.'</td> <td>' . checkvalue($colvar, $coltitle) . '</td> </tr> '; } ?> |
1 2 3 | echo ($homepage=='on') ? 'Ja' : 'Nee'; ?> |
Ik vind het heel lelijk als er html tussen de applicatiecode staat. Die hoort daar niet. Functies geven (references naar) variabelen terug, die je vervolgens in een template object plempt. In die templates staat al je html, nergens anders. En in die templates komt weer geen php/andere applicatie logica voor.quote:Op maandag 14 januari 2008 19:15 schreef Geqxon het volgende:
[ code verwijderd ]
naar
[ code verwijderd ]
Korter, maar minder leesbaar. Eventueel:
[ code verwijderd ]
Verder vind ik het niet netjes als functies zelf maar wat gaan echo-en, ik vind het mooier als ze een return waarde hebben. Voorbeeld:
[ code verwijderd ]
word dan:
[ code verwijderd ]
Edit
Ook hier valt wat aan te pimpen:
[ code verwijderd ]
Mooi en aardig, maar of het in de praktijk haalbaar is? Dan zou je elk klein stukje HTML code ergens in een template hebben moeten zitten, en heb je enorm veel classes danwel objecten...quote:Op maandag 14 januari 2008 20:38 schreef Farenji het volgende:
[..]
Ik vind het heel lelijk als er html tussen de applicatiecode staat. Die hoort daar niet. Functies geven (references naar) variabelen terug, die je vervolgens in een template object plempt. In die templates staat al je html, nergens anders. En in die templates komt weer geen php/andere applicatie logica voor.
Maar aan de andere kant is php juist ontworpen om tussen de html te staan en andersom, daarom vind ik het ook zo'n ranzig taaltje. Het zou niet moeten mogen. Dat soort praktijken zorgen voor rampzalige onderhoudbaarheid van je applicaties.
1 2 3 4 5 6 7 8 9 | {if $smarty.section.outer.index is odd by 2} {$smarty.section.outer.rownum} . {$FirstName[outer]} {$LastName[outer]} {else} {$smarty.section.outer.rownum} * {$FirstName[outer]} {$LastName[outer]} {/if} {sectionelse} none {/section} |
Je zult altijd wat logica nodig hebben om te bepalen wat je laat zien. Met IF-structuren en wat loopjes moet je een heel eind kunnen komen, al dan niet in combinatie met opmaakfuncties. Maar HTML en het verzamelen van data hoort niet echt bij elkaar, naar mijn mening dan.quote:Op maandag 14 januari 2008 22:21 schreef Geqxon het volgende:
[..]
Mooi en aardig, maar of het in de praktijk haalbaar is? Dan zou je elk klein stukje HTML code ergens in een template hebben moeten zitten, en heb je enorm veel classes danwel objecten...
Uiteraard is het haalbaar, kwestie van een beetje nadenken over je applicatie, je templates goed opzetten en content goed scheiden van opmaak en structuur. Templates hoeven niet ingewikkeldere dingen te doen dan wat variabelen weer te geven, wat simpele if/then statements en misschien een array in een loopje in html omzetten.quote:Op maandag 14 januari 2008 22:21 schreef Geqxon het volgende:
[..]
Mooi en aardig, maar of het in de praktijk haalbaar is? Dan zou je elk klein stukje HTML code ergens in een template hebben moeten zitten, en heb je enorm veel classes danwel objecten...
Dat dusquote:Op maandag 14 januari 2008 23:07 schreef Light het volgende:
Je zult altijd wat logica nodig hebben om te bepalen wat je laat zien. Met IF-structuren en wat loopjes moet je een heel eind kunnen komen, al dan niet in combinatie met opmaakfuncties. Maar HTML en het verzamelen van data hoort niet echt bij elkaar, naar mijn mening dan.
Als je de volgorde wilt bepalen moet je een kolom toevoegen om dit in te doen.quote:Op maandag 14 januari 2008 17:20 schreef Flaccid het volgende:
ok. Het gaat bij mij om de volgorde van een aantal items. stel ik heb items met ID1 ,2 en 3, en ik wil van 3 -> 1 maken en van 1 -> 3 maken, dan gaat dat toch goed?
Ik ben op zich een vrij erge "MVC nazi" geworden, in de zin dat ik zelf bijv never nooit html in mijn code meer zet en die dingen gescheiden houd, maar dat ben ik niet zomaar geworden. Als je een keer een echt grote applicatie hebt moeten onderhouden en uitbouwen waar die scheiding tussen html en applicatie absoluut niet is doorgevoerd, dan word je dat vanzelf. Tering wat is dat naar. Nachtmerries heb ik er van gehad. Voor een klein scriptje of een beginnersprojectje is het niet zo van belang maar als je iets geeft om onderhoudbaarheid en uitbreidbaarheid dan is het essentieel. Maar dat zijn meestal dingen waar mensen pas later the hard way achter komen (ik ook dus).quote:Op maandag 14 januari 2008 23:07 schreef Light het volgende:
[..]
Je zult altijd wat logica nodig hebben om te bepalen wat je laat zien. Met IF-structuren en wat loopjes moet je een heel eind kunnen komen, al dan niet in combinatie met opmaakfuncties. Maar HTML en het verzamelen van data hoort niet echt bij elkaar, naar mijn mening dan.
Wat ik in mijn geval doe:quote:Op maandag 14 januari 2008 23:07 schreef Light het volgende:
[..]
Je zult altijd wat logica nodig hebben om te bepalen wat je laat zien. Met IF-structuren en wat loopjes moet je een heel eind kunnen komen, al dan niet in combinatie met opmaakfuncties. Maar HTML en het verzamelen van data hoort niet echt bij elkaar, naar mijn mening dan.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |