Value dubbel keer gebruiken.
Ik heb een klein probleempje, ik probeer een html value met php value the mixen.
Code (php)
1
<option name="deken[kussen]" class="x-small" id="kussen" value="<?=$odeken->row["kussen"]?>" />
Ik probeer die value="10">10 in die value met php te krijgen.
Dit heb ik geprobeerd:
Code (php)
1
<option name="deken[kussen]" class="x-small" id="kussen" value="value="10">10""<?=$odeken->row["kussen"]?>" />
Maar zonder resultaat, alvast bedankt voor de hulp ;)
Gewijzigd op 28/09/2016 16:47:59 door Henk Terwello
Die eerste code klopt toch prima?
Code (php)
1
<option name="deken[kussen]" class="x-small" id="kussen" value="10">10""<?=$odeken->row["kussen"]?>" />
Dit wil niet werken.
Je wilt toch alleen het getal 10 hebben?
Gebruik :
Zegmaar, als het ware, dus.
is als het ware precies hetzelfde...
Zelf gebruik ik dan een print opdracht met dubbele aanhalingstekens.
Ik kan dan variabelen zonder meer in de HTML code zetten.
Bijvoorbeeld:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
foreach ($aLemmaLijst as $el) {
if ($rec->lid == $el[0])
print "<option value='$el[0]' selected='selected'> $el[1] $el[2] </option>";
else
print "<option value='$el[0]'> $el[1] $el[2] </option>";
}
if ($rec->lid == $el[0])
print "<option value='$el[0]' selected='selected'> $el[1] $el[2] </option>";
else
print "<option value='$el[0]'> $el[1] $el[2] </option>";
}
Off topic tussenvraagje: Hoe krijg je die codevenstertjes in de tekst?
Gewijzigd op 29/09/2016 01:29:06 door Paul Ulje
(code)(/code) waarvan je haakjes veranderd in vierkante haken
Gewijzigd op 29/09/2016 01:22:46 door Jop B
Gewijzigd op 29/09/2016 01:37:48 door Paul Ulje
Adoptive Solution op 28/09/2016 17:15:15:
Zegmaar, als het ware, dus.
:-)
dat loopt heerlijk fout als je array niet numerieke indices heeft, maar strings.
Die zou je nog zonder quotes tussen de [] kunnen plaatsen en de undefined-constant error onderdrukken.
Erger is, dat je ook geen htmlspecialchars() kunt gebruiken. een optie die een " of een < danwel > bevat kan dan je hele lijst omzeep helpen. Nog afgezien van XSS gevaren.
Code (php)
1
2
2
$s=eenHeleIngewikkeldeFunctie($_SESSION['een_hele_lange_naam'][3]);
print "<option value='$s'> $s </option>";
print "<option value='$s'> $s </option>";
Elk 'probleem' heeft zo zijn eigen oplossing. :-)
Gewijzigd op 29/09/2016 16:53:46 door Paul Ulje
Niet mee eens. Het is meer het beredeneren dat fietsbanden niet werken op je auto ;-)
En ja, als je een auto van banden wil voorzien, moet je een ander modelletje band toepassen. Dat is het tweede voorbeeld.
Elk voordeel heb ze nadeel. Maar niet elk nadeel is altijd en eeuwig van belang. Flexibiliteit, dat is het sleutelwoord. :-)
Gewijzigd op 29/09/2016 17:28:31 door Paul Ulje
Nee, je bent nog niet tegen de problemen aangelopen die het plaatsen van variabelen tussen "" met zich mee brengt.
Dat is net wat anders.
Zo ongeveer het verschil tussen "banden moeten profiel hebben" en "met mijn gladde banden heb ik nooit problemen". (omdat je nooit met regen last had van een vrachtwagen die je niet aanzag komen van rechts.)
Goed. je strings niet escapen is minder dodelijk (tenzij er een goede xss aanval uit voortkomt en ze alsnog je site/server weten te killen).
Gewijzigd op 29/09/2016 20:50:14 door Paul Ulje
Uiteindelijk kom je niet weg met "sorry dat uw site plat ligt, de klantgegevens op straat liggen en uw voorraad voor 10 % van de prijs is verkocht. Ik wist helaas niet dat er regen verwacht werd."
Altijd htmlspecialhars. Ook al denk je dat er altijd een cijfer komt te staan. Ooit kan iemand ergens misschien toch een string door laten komen. En degene die dat aanpast, gaat dan niet alle scripts nalopen, of de programmeur niet 10 toetsaanslagen wilde besparen.
En dan nog wat, Ivo, het gaat om een selectielijst. Uit bekende gegevens, uiteraard. Maak jij programma's waarbij je de invoer zo slecht controleert dat je dataverzameling corrupt kan zijn? Nee toch zeker!
Gewijzigd op 30/09/2016 16:31:32 door Paul Ulje
Een lijst met winkels zou zo maar een & kunnen bevatten (C&A, V&D) die & moet dan dus & worden. Zonder dat gaat het mogelijk ook nog wel goed. Maar er zijn ook wel legitieme strings te bedenken waarin een < voor kan komen.
Dat geldt voor strings naar het scherm. Dat geldt voor strings naar een database.
In de database zat nette data hoor.
Alleen om een vage reden kon een zekere Ali nooit zijn orders opslaan.
Wat bleek: iemand had de redenatie "data is toch schoon" gehanteerd, en bij het opslaan van de naam van de gebruiker (waarom niet zijn id is een ander verhaal) werd het escapen niet gedaan en dus had dhr dal'habbi en probleem.
Naar de letter heb jij inderdaad niets geadviseert, maar als je het in een topic plaatst, leest dat wel als "he topic starter doe het maar zo, dat is goed, want dat doe ik ook".
Ik vermoed trouwens vanwege je opmerking over eindeloos zoeken naar syntaxfouten, dan je eens moet kijken of er geen betere editors zijn.
Bijvoorbeeld Netbeans zal middels rode strepen naast je script en waarschuwingsborden op de regelnummers en andere kriebels rond de code vrij duidelijk maken dat er iets mis is.
En variabelen hebben een andere kleur dan plaintext, dus ook die springen er goed uit.
Prima als je dat allemaal maar overbodig gedoe vindt voor het geval het ooit nodig is, maar raad dat dan niet anderen aan om te volgen.