van \" (php) naar " (html)

Status
Niet open voor verdere reacties.

Bertus Bolknak

Gebruiker
Lid geworden
14 nov 2009
Berichten
51
Hallo, ik heb de volgende string in een php variabele zitten:

$H15117_Rugsteun= "<a href=\"images-fietsen/detailpaginas/ibox-pictures/rugsteunmetgordel.jpg\"><img src=\"images-fietsen/detailpaginas/camera.jpg\" width=\"30\" height=\"22\" border=\"0\" /></a>"

Nu wil ik in een ordinair form een hidden field zetten met als value bovenstaande variabele. Dan gaat er na het parsen van de pagina iets fout met de aanhalingstekens. In php kan je een aanhalingsteken escapen met een \, maar in html moet je kennelijk een aanhalingsteken als &quot; weergeven. Bij het parsen wordt een \" natuurlijk niet vanzelf in een &quot; omgezet.

Misschien is hier een oplossing voor?

Groeten Bert.
 
Als ik me niet vergis,

PHP:
htmlentities()
 
Ik snap het nut van een HTML-link als value in een input type=hidden niet, als je dat verder op wilt gebruiken kun je beter een andere manier bedenken.

Verder zou ik mijzelf aanleren wanneer je HTML gaat outputten je enkele quotes gebruikt. :)

Jouw versie:
PHP:
$H15117_Rugsteun= "<a href=\"images-fietsen/detailpaginas/ibox-pictures/rugsteunmetgordel.jpg\"><img src=\"images-fietsen/detailpaginas/camera.jpg\" width=\"30\" height=\"22\" border=\"0\" /></a>";

Single quotes:
PHP:
$H15117_Rugsteun= '<a href="images-fietsen/detailpaginas/ibox-pictures/rugsteunmetgordel.jpg"><img src="images-fietsen/detailpaginas/camera.jpg" width="30" height="22" border="0" /></a>';

Scheelt je aardig wat 'escape' werk van dubbele quotes ;)
 
Hallo Devil. Laat dat van dat hidden field maar zitten dan. Ik moet dus iets anders verzinnen. Effe proberen zo kort en duidelijk mogelijk uit te leggen wat ik wil:

Ik heb 20 verschillende bestelformulieren. Elk bestelformulier bevat één belangrijke tabel met altijd 5 kolommen, maar met een verschillende hoeveelheid rijen. De tabel wordt met php opgebouwd met een foreach loop:

formulier 1 bijvoorbeeld:
foreach($Buddybike as $artikel)
{
}

En formulier 2 bijvoorbeeld:
foreach($Familybike as $artikel)
{
}

So far so good. Maar nou wil ik voor al die 20 formulieren maar één verwerkingsbestand hebben (anders wordt het een beetje complex in het onderhoud), bijvoorbeeld order.php. Op order.php wil ik (naast andere dingen) nog eens dezelfde tabel tonen als op het formulier. Dus op een of andere manier moet ik aan het verwerkingsbestand door kunnen geven vanaf welk formulier de opdracht afkomt zodat order.php weet welke array het moet kiezen om dezelfde tabel weer op te bouwen. Dus array $Buddybike of $Familybike. Als ik weet hoe ik dit moet doen ben ik weer een stapje verder. Kan dit en zo ja kan je misschien een blokje voorbeeld code plaatsen? Daar zou ik zeer mee geholpen zijn.

groeten Bert.
(en nog bedankt voor die tip van die quootjes).


Ik snap het nut van een HTML-link als value in een input type=hidden niet, als je dat verder op wilt gebruiken kun je beter een andere manier bedenken.

Verder zou ik mijzelf aanleren wanneer je HTML gaat outputten je enkele quotes gebruikt. :)

Jouw versie:
PHP:
$H15117_Rugsteun= "<a href=\"images-fietsen/detailpaginas/ibox-pictures/rugsteunmetgordel.jpg\"><img src=\"images-fietsen/detailpaginas/camera.jpg\" width=\"30\" height=\"22\" border=\"0\" /></a>";

Single quotes:
PHP:
$H15117_Rugsteun= '<a href="images-fietsen/detailpaginas/ibox-pictures/rugsteunmetgordel.jpg"><img src="images-fietsen/detailpaginas/camera.jpg" width="30" height="22" border="0" /></a>';

Scheelt je aardig wat 'escape' werk van dubbele quotes ;)
 
Uit je verhaal begrijp ik dat je steeds nieuwe <form>-tags gebruikt?
Dan kun je wel een input type=hidden gebruiken maar die hoeft niet zo uitgebreid.

Als je dat gewoon zo doet:
HTML:
<input type="hidden" name="category" value="buddy" />
Dan kun je daar op je verwerkpagina naar controleren:
PHP:
if($_POST['category'] == 'buddy') {

} elseif($_POST['category'] == 'family') {

}

Maar goed, als je veel categorieën hebt kun je voor het overzicht beter een SWITCH gebruiken:
PHP:
switch($_POST['category']) {
  case 'buddy':

  break;
  case 'family':

  break;
  //etc
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan