das wel heel erg nerderigquote:Op donderdag 10 januari 2008 22:07 schreef PiRANiA het volgende:
[TEL *HIER* AF] Unix Timestamp verjaardag!
de timestamp is bijna bij de 120 miljoen
Tel eens opnieuwquote:Op donderdag 10 januari 2008 22:07 schreef PiRANiA het volgende:
[TEL *HIER* AF] Unix Timestamp verjaardag!
de timestamp is bijna bij de 120 miljoen
De 120 miljoen timestamp was lang geleden...quote:
De max is in principe het datatype dat je in mysql gebruikt voor elke kolom. Als die 2500 tekens kan bevatten dan is het dus geen probleem.quote:Op vrijdag 11 januari 2008 16:20 schreef Flaccid het volgende:
hallo.
ik wil zelf een klein systeempje schrijven om de inhoud van pagina's te beheren. maar heeft de inhoud van een mysql row een maximale waarde aan tekens? Stel dat ik 2500 tekens erin wil, kan dat dan? Of wat is de max?
Iets zegt mij dat dat ook met Javascript gedaan is.quote:Op vrijdag 11 januari 2008 17:07 schreef LeeHarveyOswald het volgende:
CSS vraagjeDenk dat die ook wel hier kan?
![]()
Hoe een DIV layer laten zweven? Dus bij wijze van spreken de banner hier rechts van fok ALTIJD rechts in beeld houden op een vaste positie - ook als je het topic door scrolled?
hopen dat Danny niet meeleest
Die hiernaast doet niet wat ik wilquote:Op vrijdag 11 januari 2008 17:12 schreef Geqxon het volgende:
[..]
Iets zegt mij dat dat ook met Javascript gedaan is.
Al las ik hier wel wat over IE6 support:quote:Op vrijdag 11 januari 2008 17:23 schreef HuHu het volgende:
In CSS een position:fixed opgeven. Werk alleen in moderne browsers.
zo simpelquote:Op vrijdag 11 januari 2008 17:23 schreef HuHu het volgende:
In CSS een position:fixed opgeven. Werk alleen in moderne browsers.
Ja, en anders zijn er vrij simpele "replace" codes. Dit is wat ik gebruik om in een chat bericht te filteren op 'codes' die ik wil replacen met een emoticon ( dus : ) met :) vervangen, zeg maar):quote:Op vrijdag 11 januari 2008 21:23 schreef Flaccid het volgende:
Hoe kan je het beste een BBCODE dingetje maken? Zijn die dingen er kant en klaar?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // Laden van lijst met emoticons. Deze lijst direct toepassen! $sql = "SELECT * FROM Emotibase"; $query = mysql_query($sql) or die(mysql_error()); while ($result = mysql_fetch_array($query)) { $emotitext = $result['EmoticonText']; $emotihtml = $result['EmoticonHTML']; $bericht = str_replace ($emotitext, $emotihtml, $bericht); } ?> |
1 2 3 4 | width: 600px; margin: 1 auto; } |
Hoe ziet die database eruit precies?quote:Op vrijdag 11 januari 2008 21:33 schreef LeeHarveyOswald het volgende:
[..]
Ja, en anders zijn er vrij simpele "replace" codes. Dit is wat ik gebruik om in een chat bericht te filteren op 'codes' die ik wil replacen met een emoticon ( dus : ) metvervangen, zeg maar):
[ code verwijderd ]
Dit kan je dus ook doen door in de database jou 'bbcode' te zetten![]()
Mijn bug lijkt te zitten in:
[ code verwijderd ]
Is dat mogelijk? In IE word volgens mij de hele container gewoon naar links geduwd...
(www.boeroendoek.nl nogsteeds. Mooi in FF, gaar in IE...)
1 2 3 4 5 6 7 8 | function openTarget (form, features, windowName) { if (!windowName) windowName = 'formTarget' + (new Date().getTime()); form.target = windowName; open ('', windowName, features); } </SCRIPT> |
1 |
dan staat er dus in jouw geval:quote:Op vrijdag 11 januari 2008 22:16 schreef LeeHarveyOswald het volgende:
Database heeft enkel een veld EmoticonText (Prim key) en EmoticonHTML.
In jou geval zou je daar dus BB en HTML voor kunnen gebruiken
1 |
1 2 3 4 | width: 600px; margin: 1 auto; } |
Je kunt het beste altijd een eenheid vermelden, dus 1px of 1em ipv alleen 1. Alleen bij 0 is de eenheid niet noodzakelijk, maar ook daar kan het geen kwaad.quote:Op vrijdag 11 januari 2008 22:25 schreef LeeHarveyOswald het volgende:
margin: 1 auto; >>> dat lijkt het stuk waar hij op botst!
nl2br() ?quote:Op vrijdag 11 januari 2008 22:28 schreef Flaccid het volgende:
[..]
dan staat er dus in jouw geval:
[ code verwijderd ]
hoe ging dat ookalweer met een newline in een text area?
werkt dat dan wel?quote:Op vrijdag 11 januari 2008 23:55 schreef LeeHarveyOswald het volgende:
Heb er 0 van gemaakt op 'aanraden' van css validator.
Een manier om zowel de performance te houden van een grote batch queries als het kunnen achterhalen is het zetten van een flag (of een timestamp) op je duplicaat tabelrow. Je zou bijvoorbeeld zoiets kunnen doen als :quote:Op zaterdag 12 januari 2008 10:31 schreef Xcalibur het volgende:
Ik heb een dilemma :)
Ik heb ooit eens een CSV-import functie geschreven en op zich werkt die prima. Door middel van een unieke index in mijn tabel zorg ik er met INSERT IGNORE INTO / REPLACE INTO voor dat er geen dubbele records in mijn database komen.
Als gevolg daarvan worden er dus records geweigerd. Omdat ik eerst alle data verzamel in 1 grote query die ik in 1x insert weet ik achteraf alleen hoeveel records er zijn geweigerd, maar niet wélke. Om erachter te komen welke records het zijn zou ik ze 1 voor 1 moeten inserten, en dan de mislukte verzamelen in een array. Maar dat levert nogal veel queries op als je een beetje een flink bestand hebt...
Wat zijn jullie ideeën hierover? Staat het uitvoeren van 30.000 queries ipv 1 in verhouding tot de extra informatie die het oplevert? :)
1 2 3 4 5 6 7 8 | INSERT INTO csv (field, value) VALUES (?, ?) ON DUPLICATE KEY UPDATE duplicate_inserted = 1; // Haal alle duplicaten op SELECT c.field FROM csv c WHERE c.duplicate_inserted = 1; // Reset alle duplicaten weer UPDATE csv SET duplicate_insert = 0; |
Donequote:Op zaterdag 12 januari 2008 09:50 schreef Tarabass het volgende:
@LeeHarveyOswald
Stuur mij de html en css eens via pm, dan knap ik het even op voor je als je dat wilt. Moet geen probleem zijn lijkt me..
Let op, want hij is nu niet meer goed in firefox. Wees voorzichtig met veranderingen en probeer in verschillende browsers hoe het er uit ziet. Let ook op dat f5 drukken soms niet de css vernieuwd, doe dat dus met ctrl-f5quote:Op zaterdag 12 januari 2008 19:00 schreef LeeHarveyOswald het volgende:
[..]
Je bent helemaal geweldig!!!!!!!
Ja, hier is 'ie nu ook weer goed. Ik had trouwens de <p>-tags gecommentariseerd maar als je in css de p-tag een margin van 0 meegeeft moet het wel goed gaan in beide browsers. Margin wordt standaard in verschillende browsers per tag in verschillende afstanden weergegeven wat de site lelijk kan maken. Door de margin zelf in te stellen voorkom je dat en is de margin overal hetzelfde. Succes verder met je site!quote:Op zaterdag 12 januari 2008 19:41 schreef LeeHarveyOswald het volgende:
Hier (ook firefox) issie wel goed?
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 | class HTML{ private $title; private $content; private $disable_menu; public function HTML($title = '', $disable_menu = false){ } public function addHTML($html){ $this->content .= $html; } public function addHeader($text, $level = 2){ // voeg een header (h1 tot h7) aan de pagina toe } public function addParagraph($text, $class = ""){ // voeg een paragraaf aan de pagina toe } public function addAnchor($name){ // voeg een <a name="$name"> aan de pagina toe } private function getMenu(){ // returned op basis van de ingelogde user een menu } public function getContent(){ return $this->content; } public function getOutput(){ $header = "<!DOCT ...... "; $footer = ".....</html>"; return $header . $this->getMenu() . $this->getContent() . $footer; } } ?> |
1 2 3 4 5 6 7 8 9 10 | $template = new HTML("Logfile"); $template->addHeader("Recent activity",2); $template->addParagraph("In the .... place:"); [...] $template->addHTML($log_table); echo $template->getOutput(); ?> |
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 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl"> <head> <title>Portfolio - Logfile</title> <link rel="stylesheet" type="text/css" href="include/stylesheet.css" /> <script type="text/javascript" src="include/javascript.js"></script> </head> <body> <h1>Mijn portfolio</h1> <ul class="menu"> [...] <li><a href="logfile.php">Logfile</a></li> [...] </ul> <h2>Recent activity</h2> <p>In the [...] place:</p> <table> [...] </table> <p class="footer">© 2008</p> </body> </html> |
Ik begrijp je functies niet, bijv "addParagraph", waar voegt ie dan een paragraaf toe? Aan het einde? Aan het begin? Ergens in het midden?quote:Op zaterdag 12 januari 2008 20:06 schreef Geqxon het volgende:
Om mijn layout te maken heb ik hetvolgende geschreven:
[ code verwijderd ]
Het aanmaken van een pagina gaat nu als volgt:
[ code verwijderd ]
Mijn vragen:Maak ik nu correct gebruik van OO in PHP? Is dit een fatsoenlijke manier om een template systeem op te zetten?
Bedankt, hier heb ik wat aan.quote:Op zaterdag 12 januari 2008 22:12 schreef Farenji het volgende:
[..]
Ik begrijp je functies niet, bijv "addParagraph", waar voegt ie dan een paragraaf toe? Aan het einde? Aan het begin? Ergens in het midden?Lijkt me weinig flexibel, hoe dan ook.
En een header, dat is voor mij meestal een http header (bijv "Content-type: text/html"), de doctype is gewoon deel van de html.
Ik heb het idee dat je het jezelf moeilijker maakt dan noodzakelijk, waarom niet gewoon een template gebruiken die je inlaadt? Hier loop je jezelf alleen maar te beperken. Object georienteerd programmeren is niet iets dat "moet" maar het is iets dat je leven als programmeur makkelijker maakt en zorgt voor duidelijke structuur die je later ook makkelijk kan hergebruiken. De structuur die je hier hebt is veel te specifiek en te beperkt - misschien bruikbaar voor die ene applicatie maar voor een andere mag je het weer opnieuw doen. Dat is zonde.
Ik begrijp niet precies wat je bedoelt, maar ik vind op zich de timestamp-suggestie niet onaardig....quote:Op zaterdag 12 januari 2008 11:06 schreef autocue het volgende:
Een manier om zowel de performance te houden van een grote batch queries als het kunnen achterhalen is het zetten van een flag (of een timestamp) op je duplicaat tabelrow. Je zou bijvoorbeeld zoiets kunnen doen als :
[ code verwijderd ]
Niet supernetjes en het werkt alleen onder MySQL, maar 't doet (als 't goed is) z'n werk.
De opmaak gaat eigenliijk per definitie via css, daar is css voor, maar de structuur... hoe doe je dat dan?quote:Op zaterdag 12 januari 2008 22:24 schreef Geqxon het volgende:
De opmaak gaat via CSS, dus een template inladen is hier niet nodig.
Die kwak ik van top-to-bottom in de body neer, en geef ik een passende class-naam mee. Dat gaat voor nu prima, een stukje hierboven staat een voorbeeld hoe ik met deze class een pagina opbouw.quote:Op zaterdag 12 januari 2008 22:52 schreef Farenji het volgende:
[..]
De opmaak gaat eigenliijk per definitie via css, daar is css voor, maar de structuur... hoe doe je dat dan?
Als je niet gaat positioneren via je class maar dat static via css gaat doen wat is dan nog het doel van de class? Imo wordt het pas bruikbaar als je alle css-styles meegeeft in de tags in het html-bestand. Anders kun je beter een template aanmaken en die elke keer gebruiken.quote:Op zaterdag 12 januari 2008 23:02 schreef Geqxon het volgende:
[..]
Die kwak ik van top-to-bottom in de body neer, en geef ik een passende class-naam mee. Dat gaat voor nu prima, een stukje hierboven staat een voorbeeld hoe ik met deze class een pagina opbouw.
Als je de MySQL ON DUPLICATE functionaliteit gebruikt kun je juist de duplicaten markeren en deze dus later selecteren, daar doelde ik opquote:Op zaterdag 12 januari 2008 22:26 schreef Xcalibur het volgende:
[..]
Ik begrijp niet precies wat je bedoelt, maar ik vind op zich de timestamp-suggestie niet onaardig....
Alleen heb ik dan juist alle niet-gewijzigde records te pakken, wat niet per se hetzelfde is als alle duplicaten...
Depends. Want als er dan toch stiekem ooit 2 records zijn, weet je niet zeker of hij wel de goede van de twee update. Als je dan toch een LIMIT 1 doet, gelijk ook maar even een ORDER BY erbij, zodat hij wel de "beste" van de twee pakt.quote:Op zondag 13 januari 2008 02:22 schreef saban het volgende:
Heeft het nut om LIMIT 1 te gebruiken bij een UPDATE wanneer je zeker bent dat de limit ook altijd 1 is? Of is het overbodig?
Ik ga d'r even naar kijkenquote:Op zondag 13 januari 2008 02:14 schreef autocue het volgende:
Als je de MySQL ON DUPLICATE functionaliteit gebruikt kun je juist de duplicaten markeren en deze dus later selecteren, daar doelde ik op.
Ik zag het! Anders viel in IE het menu over de titelkop...quote:Op zaterdag 12 januari 2008 19:47 schreef Tarabass het volgende:
[..]
Ja, hier is 'ie nu ook weer goed. Ik had trouwens de <p>-tags gecommentariseerd maar als je in css de p-tag een margin van 0 meegeeft moet het wel goed gaan in beide browsers. Margin wordt standaard in verschillende browsers per tag in verschillende afstanden weergegeven wat de site lelijk kan maken. Door de margin zelf in te stellen voorkom je dat en is de margin overal hetzelfde. Succes verder met je site!
Duidelijk, thanksquote:Op zondag 13 januari 2008 11:39 schreef Xcalibur het volgende:
Het zoeken op een geindexeerd ID gaat echt onwaarschijnlijk snel, dus ik vermoed dat de UPDATE zelf de bottleneck is zeg maar.... het toevoegen van een LIMIT zal wellicht *iets* uitmaken, maar dan heb je het toch wel over (tien?)duizenden van seconden denk ik...
Maak anders een een benchmarkje, waarin je beide varianten 10.000 draait en de tijd bijhoudt
Je kan de server als een service installeren en daarvan kun je aangeven of die automatisch of handmatig gestart moet worden.quote:Op maandag 14 januari 2008 12:54 schreef Flaccid het volgende:
Als ik een simpel php servertje op mn pc wil instaleren, is dat dan mogelijk zonder dat dat ding altijd loopt? Dat ik hem alleen run wanneer nodig? Zijn er nog verschillende manieren om zon php server te maken? Ik wil hem gewoon om wat scriptjes te testen...
www.wampserver.com, voor windows, bevat alles wat nodig is om gelijk te beginnen.quote:Op maandag 14 januari 2008 12:54 schreef Flaccid het volgende:
Als ik een simpel php servertje op mn pc wil instaleren, is dat dan mogelijk zonder dat dat ding altijd loopt? Dat ik hem alleen run wanneer nodig? Zijn er nog verschillende manieren om zon php server te maken? Ik wil hem gewoon om wat scriptjes te testen...
Bedankt, ga het zo eens uitchecken!quote:Op maandag 14 januari 2008 13:11 schreef Scorpie het volgende:
[..]
www.wampserver.com, voor windows, bevat alles wat nodig is om gelijk te beginnen.
Kan je zelf aan/uit zetten.
1 2 3 4 5 6 7 8 | $data = array('foo'=>'bar', 'baz'=>'boom', 'cow'=>'milk', 'php'=>'hypertext processor'); echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor ?> |
Kan je een login systeem ook het beste met sessies doen? Want ik wil nog een login systeem in mijn cms doen uiteraard.quote:Op maandag 14 januari 2008 14:14 schreef HuHu het volgende:
Opslaan in een sessie is een goede optie. Als je het via de URL wilt meegeven kan dat bijvoorbeeld middels de http_build_query() functie. Het resultaat daarvan kun je gebruiken na de ? in de URL.
[ code verwijderd ]
Bron: http://php.net/http_build_query
Zelf maak ik ook gebruik van een sessie bij een zelfgebouwd CMS. Ik controleer dan of die sessie bestaat en of de waarde juist is, en dan geef ik pas de content weer.quote:Op maandag 14 januari 2008 14:40 schreef Flaccid het volgende:
[..]
Kan je een login systeem ook het beste met sessies doen? Want ik wil nog een login systeem in mijn cms doen uiteraard.
Ik heb ooit es iets met sessies gedaan maar snapte er niets van. Weet iemand goede tut?quote:Op maandag 14 januari 2008 14:44 schreef DaFrenk het volgende:
[..]
Zelf maak ik ook gebruik van een sessie bij een zelfgebouwd CMS. Ik controleer dan of die sessie bestaat en of de waarde juist is, en dan geef ik pas de content weer.
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.quote:Op maandag 14 januari 2008 14:07 schreef DaFrenk het volgende:
Iemand een tip hoe ik een eenvoudige taalkeuze mogelijkheid kan bouwen?
Op het moment include ik een van de 2 mogelijke talen door middel van de controle van een sessie. In die sessie sla ik de keuze van de taal op.
Echter moet ik dus een knopje krijgen die een bepaalde waarde toekent aan die sessie. Ik zat te denken aan een ?language=nl in de URL toe te voegen, en die uit te lezen in de top van de code door te submitten naar PHP_SELF. Echter hebben enkele pagina's weer bepaalde waardes in de URL meegegeven, en anderen weer niet.
Dus dacht ik aan een 'toggle' pagina. De huidige URL wordt opgeslagen in een sessie waarna je naar een pagina gaat die aan de hand van de ?language=XX in de url de sessie waarde veranderd en hij je weer terug redirect naar de URL in de sessie.
Dat moet in principe werken, maar misschien is er nog een veel betere manier die ik niet ken
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.quote:Op maandag 14 januari 2008 13:37 schreef Flaccid het volgende:
[..]
Bedankt, ga het zo eens uitchecken!
Als je in een mysql table een row met auto_increment hebt, kan je deze waarde dan updaten naar iets anders zonder die auto increment?
Aight! Zo heb ik het nu ook gedaan.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 11 12 13 14 15 16 17 18 19 20 21 | session_start(); if(!empty($_POST)){ include("dbcon.php"); $wachtwoord_md = md5($_POST["wachtwoord"]); $query = "SELECT * FROM gebruiker WHERE Gebruikersnaam='" . $_POST["gebruikersnaam"] ."' AND Wachtwoord='". $wachtwoord_md ."'"; $result = mysql_query($query); if(mysql_num_rows($result) > 0){ $user = $_POST["gebruikersnaam"]; $_SESSION['user'] = $user; $_SESSION['wachtwoord'] = $wachtwoord_md; header("Location: shout.php"); exit(); } else{ header("Location: index.php"); } } ?> |
1 |
1 |
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: |