abonnement Unibet Coolblue Bitvavo
pi_32667546
ik heb t al:

$show = $_GET['show'];

$showtoelichting = $show."toelichting";
$toelichting = $$showtoelichting;

ik heb 3 waardes per 'show'. dus toelichting1, toelichting2, en toelichting3 bijv.
dus voor elke toelichting voer ik bovenstaand script uit (alleen dan verandert toelichting in toelichting1 t/m3 enzo)

dan heb ik 1 extern bestand met mijn data, waar dus $$showtoelichting uit gehaald wordt.

voorbeeld:
$show = tekst1

$showtoelichting = tekst1."toelichting";
$toelichting = $tekst1toelichting;

snabbu?
As a rule, I never touch anything more sophisticated and delicate than myself.
  dinsdag 29 november 2005 @ 13:00:44 #52
2391 Jimmy
Door het bot
pi_32668870
Ik weet niet wat je precies probeert te bereiken met je code, maar het ziet er heel erg vies uit.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
pi_32669234
quote:
Op dinsdag 29 november 2005 11:57 schreef Desdinova het volgende:
ik heb 3 waardes per 'show'. dus toelichting1, toelichting2, en toelichting3 bijv.
Op die manier krijg je niet toelichting1 etc maar 1toelichting 2toelichting...behalve dat, wat ben je in vredesnaam aan het doen? waarom werk je niet gewoon met een array?

echo $toelichting[index];
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 13:23:43 #54
1972 Swetsenegger
Egocentrische Narcist
pi_32669433
quote:
Op dinsdag 29 november 2005 13:00 schreef Jimmy het volgende:
Ik weet niet wat je precies probeert te bereiken met je code, maar het ziet er heel erg vies uit.
pi_32669842
haha ik zal t nog een keertje uitleggen ik vind t best n stoer stukkie code voor mijn niveau 8)

ik heb dus 1 website die ik hier niet ga plaatsen
daarbij heb ik linkies, elk linkie verwijst naar dezelfde pagina maar met andere content.

per pagina heb ik 3 toelichtingen, die allemaal op een ander plekje staan. zie het als 3 verschillende tekstjes, met bijvoorbeeld een toelichting, een toekomstvisie en een geschiedenis. om t ff duidelijk te houden.

dus:

pagina met links:
link1 -> ?show=link1
link2 -> ?show=link2
link3 -> ?show=link3

etc

klik op link1

dan gebeurt er dit:

$show = $_GET['show']; //dus $show heeft waarde link1

$showtoelichting = $show."toelichting"; // $showtoelichting heeft waarde link1toelichting
$toelichting = $$showtoelichting; //$toelichting heeft waarde $link1toelichting

en ik heb een @require ('gegevens.php'); waar dus een $link1toelichting = "toelichting bij link 1 yadayada bladiebla"; in staat! cool he.

behalve bij de toelichting doetie dit dus ook bij de geschiedenis en toekomstvisie, op dezelfde manier.

als het netter kan, laat maar weten
maar ik vond t al heel wat dat ik van 3 regels per item naar 6 regels totaal ben gegaan
As a rule, I never touch anything more sophisticated and delicate than myself.
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 13:43:33 #56
1972 Swetsenegger
Egocentrische Narcist
pi_32669965
Wat is er mis met een switch?

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
switch ($_GET['show']) {
case
"link1":
   echo
$link1toelichting;
   break;
case
"link2":
   echo
$link2toelichting;
   break;
case
"link3":
   echo
$link3toelichting;
   break;
}
?>
pi_32669970
quote:
Op dinsdag 29 november 2005 13:38 schreef Desdinova het volgende:
cool he.
Nee! Imho is het zeer smerig om namen van variabelen te gaan 'constructen' en deze vervolgens ook nog eens in een andere variabele te zetten

Waarom niet dit?

gegevens.php:
$toelichting = array();
$toelichting['link1'] = 'Blaat, blaat';
$toelichting['link2'] = 'Blawap!';
-etc-

en dan doe je vervolgens:

require('gegevens.php');

$show = $_GET['show'];
if (in_array($show, $toelichting)) {
echo $toelichting[$show];
}

dit kun je zo uitgebreid maken als je wil.
  dinsdag 29 november 2005 @ 13:44:39 #58
2391 Jimmy
Door het bot
pi_32669986
Waarom doe je dan niet gewoon iets als:

1
2
3
4
5
6
7
8
9
10
11
12
$show = isset($_GET['show']) ? strval($_GET['show']) : "";

switch($show){
 case "link1": $tekst = "De tekst die bij link1 hoort.";
    break;
 case "link2": $tekst = "De tekst die bij link2 hoort.";
    break;
 case "link3": $tekst = "De tekst die bij link3 hoort.";
    break;
 case "link4": $tekst = "De tekst die bij link4 hoort.";
    break;
}


Volg je?

Dan hoef je geen gekke dingen te doen met variabele variabele namen (:P). En het is ook veiliger: je weet nooit wat mensen proberen mee te geven met 'show'.

Edit: JeRa's methode is ook een stuk minder 'vies' dan je eigen methode.
En Swetsenegger's methode is een simpelere versie van mijnes.
Rock 'n Roll Motherfucker - Join the Rock 'n Roll Jihad!
www.last.fm/user/JimmyShelter
Jimmy Shelter
Sleazerock.nl
  dinsdag 29 november 2005 @ 13:46:17 #59
32768 DionysuZ
Respect my authority!
pi_32670017
Ten eerste: controleer die $_GET["show"] variabele voordat je hem gebruikt!!
Ten tweede: maak ipv variabelen $link1toelichting, $link2toelichting etc. een array $toelichting.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_32670045
quote:
Op dinsdag 29 november 2005 13:46 schreef DionysuZ het volgende:
Ten tweede: maak ipv variabelen $link1toelichting, $link2toelichting etc. een array $toelichting.
You teh man!
  dinsdag 29 november 2005 @ 13:47:18 #61
32768 DionysuZ
Respect my authority!
pi_32670053
quote:
Op dinsdag 29 november 2005 13:43 schreef JeRa het volgende:

[..]

Nee! Imho is het zeer smerig om namen van variabelen te gaan 'constructen' en deze vervolgens ook nog eens in een andere variabele te zetten

Waarom niet dit?

gegevens.php:
$toelichting = array();
$toelichting['link1'] = 'Blaat, blaat';
$toelichting['link2'] = 'Blawap!';
-etc-

en dan doe je vervolgens:

require('gegevens.php');

$show = $_GET['show'];
if (in_array($show, $toelichting)) {
echo $toelichting[$show];
}

dit kun je zo uitgebreid maken als je wil.
dit dus
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 13:48:30 #62
1972 Swetsenegger
Egocentrische Narcist
pi_32670079
Mjah, gekut met een array zou ik ook niet doen.
Voor zever ik het begrijp wil hij afhankelijk van de link een bepaalde tekst laten zien. Bij uitstek een switch oplossing.

variabele controlle is wel nodig
pi_32670285
een switch wordt te groot. zoals ik al zei heb ik nu 6 regels voor 12 items ofzo. met een switch wordt dat dus zoiezo al 3 per item (toekomst, geschiedenis en toelichting), excl. de switch code zelf.

dat ze zelf de show kunnen invullen maakt mij geen drol uit waarom zou je dat willen? als de ingegeven show niet bestaat wordt er niks weergegeven, moet je maar niet kloten

die array lijkt ook wel te werken en is korter, maar dat soort code kan ik zelf nog niet bij mekaar prutsen misschien dat ik hem wel gebruik. ik heb er iig van geleerd
As a rule, I never touch anything more sophisticated and delicate than myself.
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 14:00:01 #64
1972 Swetsenegger
Egocentrische Narcist
pi_32670387
quote:
Op dinsdag 29 november 2005 13:56 schreef Desdinova het volgende:
een switch wordt te groot. zoals ik al zei heb ik nu 6 regels voor 12 items ofzo. met een switch wordt dat dus zoiezo al 3 per item (toekomst, geschiedenis en toelichting), excl. de switch code zelf.
Sow what? Is je php editor vol ofzo
En hoezo twaalf? Je hebt toch maar 3 links?
quote:
dat ze zelf de show kunnen invullen maakt mij geen drol uit waarom zou je dat willen? als de ingegeven show niet bestaat wordt er niks weergegeven, moet je maar niet kloten
totdat je een keer een var in een query gebruikt en ze je database tabel droppen via sql injection en je al je gegevens kwijt bent. Moeten ze maar niet kloten .
Of je hebt een database met klantgegevens en door sqlinjection kunnen ze alle gegevens van je klanten achterhalen, of....
ALTIJD USERINPUT CONTROLLEREN!
quote:
die array lijkt ook wel te werken en is korter, maar dat soort code kan ik zelf nog niet bij mekaar prutsen misschien dat ik hem wel gebruik. ik heb er iig van geleerd
Hij staat eral. Wat moet je nog prutsen dan?

Maar aangezien je zelf al aangeeft dat je nivo nog niet erg hoog is, lijkt het me verstandig dat je in ieder geval met OF de switch OF de array gaan werken, maar niet met die smerige fout gevoelige code welke jezelf gefabriceerd hebt.

[ Bericht 3% gewijzigd door Swetsenegger op 29-11-2005 14:05:31 ]
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 14:02:58 #65
1972 Swetsenegger
Egocentrische Narcist
pi_32670470
En als je bedoelt dat je PER link meerdere teksten hebt:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
switch ($_GET['show']) {
case
"link1":
   echo
$link1toelichting.'<br />'.$link1geschiedenis.'br />.'$link1toekomst;
   break;
case
"link2":
   echo
$link2toelichting.'<br />'.$link2geschiedenis.'br />.'$link2toekomst;
   break;
case
"link3":
   echo
$link3toelichting.'<br />'.$link3geschiedenis.'br />.'$link3toekomst;
   break;
}
?>


LET OP!!! dit is alleen de switch code en nog GEEN controlle op userinput
pi_32670543
quote:
Op dinsdag 29 november 2005 14:02 schreef Swetsenegger het volgende:
En als je bedoelt dat je PER link meerdere teksten hebt:
[ code verwijderd ]

LET OP!!! dit is alleen de switch code en nog GEEN controlle op userinput
Dit kan toch ook makkelijk in een lus als je regels wilt besparen?

En ipv direct de variable te echo'en, een variable instellen die je uiteindelijk echo'ed in een pagina.
pi_32670545
ik post hier om te leren niet om jullie code klakkeloos over te nemen.

Ik heb 12 links. en per link 3 teksten. dus dan defineer ik 36 strings. en dat lijkt me geen goed plan.

is mn php editor vol, nee. ga ik 36 regels coden ipv 6? nee.

in SQL kan je de bevoegdheden aangeven per database connectie, dus daar zie ik ook geen problemen in.

En waarom was mijn code ook alweer fout gevoelig?
As a rule, I never touch anything more sophisticated and delicate than myself.
  dinsdag 29 november 2005 @ 14:09:55 #68
32768 DionysuZ
Respect my authority!
pi_32670639
Een table droppen is niet het enige dat kan met sql injectie. De mogelijkheden zijn eindeloos.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 14:12:01 #69
1972 Swetsenegger
Egocentrische Narcist
pi_32670693
quote:
Op dinsdag 29 november 2005 14:06 schreef the_disheaver het volgende:

[..]

Dit kan toch ook makkelijk in een lus als je regels wilt besparen?

En ipv direct de variable te echo'en, een variable instellen die je uiteindelijk echo'ed in een pagina.
Uietraard, maar voor de uitleg leek het me eenvoudiger om het uit te schrijven
quote:
Op dinsdag 29 november 2005 14:06 schreef Desdinova het volgende:
ik post hier om te leren niet om jullie code klakkeloos over te nemen.
Ok, er zeggen hier 4 personen dat je huidige code niet de juiste weg is. Leer je al wat?
quote:
Ik heb 12 links. en per link 3 teksten. dus dan defineer ik 36 strings. en dat lijkt me geen goed plan.
Die teksten heb je toch al gedefinieerd. Het gaat nu slechts om het op beeld toveren van die teksten
quote:
is mn php editor vol, nee. ga ik 36 regels coden ipv 6? nee.
Want de kortste code is altijd de beste . Ga er nog maar eens goed over nadenken.
quote:
in SQL kan je de bevoegdheden aangeven per database connectie, dus daar zie ik ook geen problemen in.
Als ik met een var uit $get gegevens uit een database kan halen, kan ik ook MEER gegevens uit een database halen dan dat jij eigenlijk voor ogen hebt. Ook als je per database connectie dingen dichttimmert.
quote:
En waarom was mijn code ook alweer fout gevoelig?
Omdat je vars gaat constructen. Het is onoverzichtelijk en dus foutgevoelig. Ik vraag me af of je er zelf nog uitkomt als je over een jaar een extra omschrijving wilt toevoegen aan een linkje .
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 14:12:57 #70
1972 Swetsenegger
Egocentrische Narcist
pi_32670722
quote:
Op dinsdag 29 november 2005 14:09 schreef DionysuZ het volgende:
Een table droppen is niet het enige dat kan met sql injectie. De mogelijkheden zijn eindeloos.
Ik had ook nog wat zaken toegevoegd. Belangrijkste is wel dat er mischien gegevens getoont worden, welke je niet wilt tonen.
pi_32670740
quote:
Op dinsdag 29 november 2005 14:02 schreef Swetsenegger het volgende:
En als je bedoelt dat je PER link meerdere teksten hebt:
[ code verwijderd ]

LET OP!!! dit is alleen de switch code en nog GEEN controlle op userinput
Ik snap niet zo goed waarom je hier nog userinput moet controlleren?
Je kunt hier toch een Default toevoegen die afvangt als het iets anders is?

-edit-

In dit specifieke geval he!!Ik hoef niet te horen wat er allemaal met sql-injectie ed kan gebeuren, want dat weet ik wel
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 14:17:07 #72
1972 Swetsenegger
Egocentrische Narcist
pi_32670828
quote:
Op dinsdag 29 november 2005 14:13 schreef ikke_ook het volgende:

[..]

Ik snap niet zo goed waarom je hier nog userinput moet controlleren?
Je kunt hier toch een Default toevoegen die afvangt als het iets anders is?

-edit-

In dit specifieke geval he!!Ik hoef niet te horen wat er allemaal met sql-injectie ed kan gebeuren, want dat weet ik wel
In dit specifieke geval is een default statement in de switch voldoende inderdaad. Maar dat is toch OOK een versie van userinput controlle eigenlijk .

De booschap is nooit userinput te vertrouwen en het altijd zo te coden dat je een fallback hebt wanneer de userinput niet aan je verwachtingen voldoet. Een default value in je switch statement indien je case 'none of the above' is is prima natuurlijk.
pi_32670853
quote:
Op dinsdag 29 november 2005 14:17 schreef Swetsenegger het volgende:

[..]

In dit specifieke geval is een default statement in de switch voldoende inderdaad. Maar dat is toch OOK een versie van userinput controlle eigenlijk .

De booschap is nooit userinput te vertrouwen en het altijd zo te coden dat je een fallback hebt wanneer de userinput niet aan je verwachtingen voldoet. Een default value in je switch statement indien je case 'none of the above' is is prima natuurlijk.
OK Dat leek mij ook al het geval
pi_32670926
quote:
Op dinsdag 29 november 2005 14:12 schreef Swetsenegger het volgende:

[..]

Ok, er zeggen hier 4 personen dat je huidige code niet de juiste weg is. Leer je al wat?
ik zei toch dat ik t van die array had geleerd? die ga ik de volgende keer wel gebruiken
quote:
[..]

Die teksten heb je toch al gedefinieerd. Het gaat nu slechts om het op beeld toveren van die teksten
Dat maakt niet uit, het zijn alsnog veel regels dus 1 update resulteert in 36x de aanpassing
quote:
[..]

Want de kortste code is altijd de beste . Ga er nog maar eens goed over nadenken.
Dat zeg ik niet, maar 36 of 6 vind ik interessant genoeg om te gaan voor 6.
quote:
[..]

Als ik met een var uit $get gegevens uit een database kan halen, kan ik ook MEER gegevens uit een database halen dan dat jij eigenlijk voor ogen hebt. Ook als je per database connectie dingen dichttimmert.
mja maar een database is hier niet van toepassing, dus het maakt in dit geval zoiezo niet uit.
quote:
[..]

Omdat je vars gaat constructen. Het is onoverzichtelijk en dus foutgevoelig. Ik vraag me af of je er zelf nog uitkomt als je over een jaar een extra omschrijving wilt toevoegen aan een linkje .
Het voordeel is dat 1 aanpassinkje een regel of 2 is, en een 4e tekstdeel is zo te creeeren door gewoon het stukje code te kopieren en overal 'toelichting' te wijzigen in de nieuwe naam

ik gaf al eerder toe dat die array beter is, maar het is voor nu ff overbodige luxe. Volgens mij kan deze code namelijk niet fout gaan, tenzij je zelf in je $get kloot, maar dan is t je eigen schuld.

toch?
As a rule, I never touch anything more sophisticated and delicate than myself.
  FOK!-Schrikkelbaas dinsdag 29 november 2005 @ 14:24:22 #75
1972 Swetsenegger
Egocentrische Narcist
pi_32670982
quote:
Op dinsdag 29 november 2005 14:21 schreef Desdinova het volgende:

[..]

ik zei toch dat ik t van die array had geleerd? die ga ik de volgende keer wel gebruiken
[..]

Dat maakt niet uit, het zijn alsnog veel regels dus 1 update resulteert in 36x de aanpassing
[..]

Dat zeg ik niet, maar 36 of 6 vind ik interessant genoeg om te gaan voor 6.
Je gebruikt de verkeerde argumenten voor de kortere code. Namelijk alleen 'korter'
quote:
mja maar een database is hier niet van toepassing, dus het maakt in dit geval zoiezo niet uit.

Het voordeel is dat 1 aanpassinkje een regel of 2 is, en een 4e tekstdeel is zo te creeeren door gewoon het stukje code te kopieren en overal 'toelichting' te wijzigen in de nieuwe naam

ik gaf al eerder toe dat die array beter is, maar het is voor nu ff overbodige luxe. Volgens mij kan deze code namelijk niet fout gaan, tenzij je zelf in je $get kloot, maar dan is t je eigen schuld.

toch?
Doe me een lol en stel hier geen vragen meer, als je te eigenwijs bent om dingen aan te nemen
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')