abonnement Unibet Coolblue Bitvavo
pi_55984806
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.
De opmaak gaat eigenliijk per definitie via css, daar is css voor, maar de structuur... hoe doe je dat dan?
pi_55985156
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?
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.
pi_55986241
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 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.

Laat maar en niet goed gelezen, classes meegeven in de tag kan natuurlijk ook al krijg je dan wel enorm stylesheets als je alle opties sowieso moet aanmaken..
pi_55989799
quote:
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...
Als je de MySQL ON DUPLICATE functionaliteit gebruikt kun je juist de duplicaten markeren en deze dus later selecteren, daar doelde ik op .
pi_55989907
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?
ne okuyon, bokmu var?
pi_55989940
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?
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.

Verder kan het handig zijn voor als er ooit iets goed fout gaat, en hij maar 1 record verpest, in plaats van je complete tabel.
pi_55990120
Het kan niet zo zijn dat er twee zelfde records zijn, hij zoekt/select op een uniek id. Mijn vraag was meer van, heeft het snelheidswinst, dus wanneer hij de eerste record heeft gevonden niet meer naar een tweede zoekt (die is er toch niet).
ne okuyon, bokmu var?
pi_55993435
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
pi_55993493
quote:
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 ga d'r even naar kijken
Maar voor het goede moet je dan wel de duplicaten overschijven in je database, omdat je anders de oude informatie uit je database haalt, terwijl die niet per se hetzelfde is als de informatie in je CSV (de unieke combinatie is wel hetzelfde natuurlijk, maar de andere velden misschien niet). En eigenlijk wil je de informatie uit je CSV weten...

Aan de andere kant: ik heb nu een unieke index op firstname + lastname + email, dus als ik dat laat zien weet je op zich ook wel genoeg

Edit: heb er inmiddels naar gekeken. Volgens mij ontkom je er niet aan om een extra kolom, zoals in jouw voorbeeld? Op zich geen ramp, maar ook niet de mooiste oplossing ... Wat had jij voor ideeën over het bijhouden met een timestamp? Dat lijkt me niet zo betrouwbaar?

[ Bericht 13% gewijzigd door Xcalibur op 13-01-2008 12:05:28 ]
pi_55996306
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!
Ik zag het! Anders viel in IE het menu over de titelkop...

Nogmaals heel erg bedankt
pi_56004352
quote:
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
Duidelijk, thanks
ne okuyon, bokmu var?
pi_56021586
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...
pi_56021920
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...
Je kan de server als een service installeren en daarvan kun je aangeven of die automatisch of handmatig gestart moet worden.
pi_56021955
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.
Kan je zelf aan/uit zetten.
pi_56022589
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.
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?

[ Bericht 13% gewijzigd door Flaccid op 14-01-2008 14:01:31 ]
pi_56023287
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
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_56023466
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.

1
2
3
4
5
6
7
8
<?php
$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
?>


Bron: http://php.net/http_build_query
pi_56024071
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
Kan je een login systeem ook het beste met sessies doen? Want ik wil nog een login systeem in mijn cms doen uiteraard.
pi_56024136
Ik denk trouwens dat ik i.p.v. de taal in de sessie op te slaan gebruik ga maken van een cookie, dan blijft de keuze natuurlijk onthouden.

En ik denk dat ik dan toch maar gebruik ga maken van een toggle pagina die dan weer redirect naar de pagina waar hij vandaan kwam. Ik zou het anders ook niet weten.
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_56024182
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.
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.
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_56024642
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.
Ik heb ooit es iets met sessies gedaan maar snapte er niets van. Weet iemand goede tut?
pi_56026119
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
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.
pi_56026136
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?
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.
pi_56026663
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.
Aight! Zo heb ik het nu ook gedaan. Vroeg me gewoon af of er betere methodes waren. Zijn er misschien wel, maar dit functioneerd eigenlijk prima.
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
  maandag 14 januari 2008 @ 17:15:06 #275
137690 Pizzahut
Het Bora Bora Gebergte
pi_56027537
zeg ik heb een vraagje.

dit is mijn huidig inlog systeem:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
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"); 
}
}
?>


nu werk ik met sessies om te controleren of iemand een pagina mag zien.
nu wil ik dit veranderen dmv een rank.
dus niet
1 $_SESSION['user'] == "pizzahut"

maar
1$_SESSION['rank'] == "admin"

nu heb ik in de database een rank veld aangemaakt en geprobeert deze een sessie te geven maar wil niet lukken.
kan iemand mij verder helpen?
Disturbed Mind
Het leven: Soms ben je de duif, soms het standbeeld.
pi_56027652
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.
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:

1
2
3
4
5
6
7
8
9
10
11
<?php
function checkvalue($variable,$text)
{
    if(
$variable==''){
    echo
$text;
    }
    else{
    echo
$variable;
    }
}
?>

waarbij $text de tekst is om te weergeven of ie leeg is. functies zijn handig!

[ Bericht 15% gewijzigd door Flaccid op 14-01-2008 17:26:58 ]
pi_56027998
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?
pi_56028107
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?
http://www.neohide.com/ht(...)w-domain-name-prefix
htaccess + mod_rewrite
pi_56028120
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?
Hm, bij PCExtreme kon je dat apart aangeven ergens op hun site. Dus misschien moet je even bij je hoster vragen?

Edit: Ah, er is al een ander antwoord
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_56028157
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!
Array maken en met een loop langsgaan of er lege values bijzitten.
pi_56028370
ik heb nu een stukje code:
dit is nogal rommelig gecode denk ik. Hoe kan ik dit slimmer aanpakken?

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
<?php
$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>
'
?>


ik php nog niet zo lang

[ Bericht 2% gewijzigd door Flaccid op 14-01-2008 18:01:53 ]
pi_56028589
Ik vind 't er niet zo beroerd uit zien hoor Flaccid. Je zou wel wat meer witruimte kunnen gebruiken, bijvoorbeeld binnen je if's:

1
2
3
4
5
6
7
8
9
10
<?php
function checkvalue($variable,$text)
{
    if(
$variable=='') {
        echo 
'<span class="warning">'.$text.'</span>';
    } else {
        echo 
$variable;
    }
}
?>


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:

1
2
3
4
5
6
<?php
$name      
$_POST['name'];
$title     $_POST['title'];
$shortlink $_POST['shortlink'];
$linkname  $_POST['linkname'];
?>


Meer over coding-stanards vind je hier: http://pear.php.net/manual/en/standards.php
pi_56028711
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. Tis gelukt.
pi_56028828
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
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.

Dit heb ik er nu van gemaakt:

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
<?php
$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>
'
?>


Nu vallen al die rijen weg. :{ Heel wazig. Waarom is dat? (de tabbelrijen die die aanmaakt he)
pi_56028934
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.
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.
pi_56030169
ik ben net begonnen met een phpnuke ^^ iemand tips? :p ik weet dat het een brak systeem is maar het is redelijk complex en een stuk beter dan een html site ( code die ik wel beheers) >.> iemand nog ideeen voor als ik bezig ga of proggies die ik mss kan instaleren of leuk zijn ?
Redacted
pi_56030263
1
2
3
4
5
6
7
8
9
10
<?php
    
if($variable=='')
        {
            echo 
'<span class="warning">'.$text.' niet ingevoerd</span>';
        }
    else
        {
            echo 
$variable;
        }
?>


naar

1
2
3
<?php
echo (empty($variable)) ? '<span class="warning">'.$text.' niet ingevoerd</span>' $variabele;
?>


Korter, maar minder leesbaar. Eventueel:

1
2
3
4
5
6
<?php
    
if(empty($variable))
            echo 
'<span class="warning">'.$text.' niet ingevoerd</span>';
    else
            echo 
$variable;
?>


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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
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>';

}
?>


word dan:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
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>
    '
;
}
?>


Edit

Ook hier valt wat aan te pimpen:
1
2
3
<?php
echo ($homepage=='on') ? 'Ja' 'Nee';
?>
pi_56031990
Het enige wat er nu uit komt, uit die foreach, wat heer vaag is, is Content. De laatste uit mn array.
pi_56032556
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 ]
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.
pi_56035361
Ja dat is wel zo, maar als je nog niet zo lang PHP gebruikt is dat misschien nog wat teveel van het goede vind je niet
"Reality is an illusion created by a lack of alcohol."
pi_56035501
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.
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...
pi_56035639
Hangt een beetje van je applicatie af maar bij de meeste dingen probeer ik nu standaard frameworks te gebruiken, dan houd je het allemaal heel mooi gescheiden en echt duizend keer onderhoudbaarder.
"Reality is an illusion created by a lack of alcohol."
pi_56036650
Of je doet het als Smarty, maar dat is nog lelijker dan PHP in je opmaak:

1
2
3
4
5
6
7
8
9
{section name=outer loop=$FirstName}
{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}
pi_56037004
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...
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.
pi_56037094
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.
Het is niet moeilijk, het is een manier van denken, het wordt er juist simpeler door. JUIST beginners zouden het beste meteen zo kunnen beginnen, slechte gewoontes zijn moeilijker af te leren dan goede gewoontes aan te leren zijn.
pi_56037404
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.
Dat dus
Verder vind ik Smarty een prima systeem
pi_56037517
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?
Als je de volgorde wilt bepalen moet je een kolom toevoegen om dit in te doen.
Je autoincrement id hiervoor misbruiken is een slecht plan. Records hebben een uniek ID met een reden, het is nou net niet de bedoeling dat je die gaat veranderen
pi_56037787
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.
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).
pi_56037869
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:

  • Data ophalen en in diverse arrays stoppen
  • '/template/the_name_of_the_current_file.php' includen, die met de opgehaalde data een HTML pagina in elkaar zet, door constant stukjes HTML aan een object te voeren, en deze op het laatst uit te putten.

    Dit kan vast ook prima met Smarty, echter wel met een hoop overhead. Voor iets simpels is wat ik nu doe meer dan genoeg. Het ligt maar net aan de grootte van het project.
  • pi_56037950
    Maar Farenji, wat als je 'even vlug' bij elk menu-item dat begint met het woord "Maan", een zonnetje moet tonen, die geel is als de gebruiksnaam eindigt op een D, en groen als de gebruikersnaam eindigt op een T. Mag je dan niet bakken aan code aan je template gaan toevoegen?
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')