Du ska alltid omge attributvärden i HTML med citationstecken (eller apostrofer). Exempel:
...
<input name=\"fornamn\" type=\"text\" class=\"inputtext\" value=\"".$rows['fornamn']."\">
...
Mvh
7 svar · 239 visningar · startad av raki
Har några textfält som jag stoppar i text i men mellanrummen visas inte. Står det t.ex. "mellan rum" så visas bara "mellan"
Men när jag skriver ut det som vanlig text så visas det som "mellan rum".
någon?
if (isset($_POST['id']))
{
$queryns = mysql_query("SELECT * FROM redesign_users WHERE id = '".$_POST['id']."'");
$rows = mysql_fetch_array($queryns);
echo ("
<form action=?do=editKund method=post>
<table cellspacing=0 cellpadding=0>
<tr><td><b>Namn:</b></td></tr>
<tr><td><input name=fornamn type=text class=inputtext value=".$rows['fornamn']."></td></tr>
<tr><td><b>Efternamn:</b></td></tr>
<tr><td><input name=efternamn type=text class=inputtext value=".$rows['efternamn']."></td></tr>
<tr><td><b>Företag:</b></td></tr>
<tr><td><input name=foretag type=text class=inputtext value=".$rows['foretag']."></td></tr>
<tr><td><b>E-post:</b></td></tr>
<tr><td><input name=epost type=text class=inputtext value=".$rows['epost']."></td></tr>
<tr><td><b>Telefon:</b></td></tr>
<tr><td><input name=telefon type=text class=inputtext value=".$rows['telefon']."></td></tr>
<tr><td><b>Hemsida:</b></td></tr>
<tr><td><input name=hemsida type=text class=inputtext value=".$rows['hemsida']."></td></tr>
<tr><td><input type=submit value='Spara!' name=putin class=button><input type=hidden value=go name=editsaveKund><input type=hidden value=".$rows['id']." name=ids> <input type=hidden value=".$rows['anvnamn']." name=anvnamn></td></tr>
</table>
</form>
");
}
Du ska alltid omge attributvärden i HTML med citationstecken (eller apostrofer). Exempel:
...
<input name=\"fornamn\" type=\"text\" class=\"inputtext\" value=\"".$rows['fornamn']."\">
...
Mvh
åhhh
jag som alltid gjort det innan men trodde inte att det behövdes så jag struntade i det denna gången.
Tack!!!
Om vi låtsas att texten min polare ska vara värdet som skall läggas i inputrutan, och man inte använder någon sorts strängliteraler, då ser det ut så här:
<input type="text" name="foo" value=min polare>
Denna html-kod tolkas som att ordet min tillhör value-attributet, medan polare är ett eget attribut i <input>-taggen, som saknar värde.
Jag vet inte om förklaringen gick fram helt, men som regel ska man alltid använda strängliteraler (citationstecken eller apostrofer) om värdet innehåller annat än a-z0-9. Jag har för vana att alltid göra det.
Mvh,
Jo jag fattar precis @nders.
efter att ha skrivit in ett antal \ och " nu så tror jag att jag ska fortsätta göra det i framtiden också så man slipper detta efterarbete :x :e
Lite lättare om du skriver echo-raden på ett annat sätt kanske.
echo <<<END
<form action=?do=editKund method=post>
<table cellspacing=0 cellpadding=0>
<tr><td><b>Namn:</b></td></tr>
<tr><td><input name=fornamn type=text class=inputtext value=".$rows['fornamn']."></td></tr>
<tr><td><b>Efternamn:</b></td></tr>
<tr><td><input name=efternamn type=text class=inputtext value=".$rows['efternamn']."></td></tr>
<tr><td><b>Företag:</b></td></tr>
<tr><td><input name=foretag type=text class=inputtext value=".$rows['foretag']."></td></tr>
<tr><td><b>E-post:</b></td></tr>
<tr><td><input name=epost type=text class=inputtext value=".$rows['epost']."></td></tr>
<tr><td><b>Telefon:</b></td></tr>
<tr><td><input name=telefon type=text class=inputtext value=".$rows['telefon']."></td></tr>
<tr><td><b>Hemsida:</b></td></tr>
<tr><td><input name=hemsida type=text class=inputtext value=".$rows['hemsida']."></td></tr>
<tr><td>
<input type=submit value='Spara!' name=putin class=button>
<input type=hidden value=go name=editsaveKund>
<input type=hidden value=".$rows['id']." name=ids>
<input type=hidden value=".$rows['anvnamn']." name=anvnamn>
</td></tr>
</table>
</form>
END;
Koden som du ser här ser inte likadan ut som det gör orginal.
Jag klistrade in den här men det såg förjävligt ut så jag flyttade allt till vänster så det skulle se snyggare ut här på forumet.
Koden ligger i mitten på sidan egentligen :-) och echo ligger lite före precis som du visade :-)
Det var detta jag tänkte på:
echo <<<END
END;
Allt som står mellan echo <<<END och END kan du skriva som vanligt. Då behöver du inte bry dig om att escapea tecken. Du kan skriva citationstecken som de är...
Det var alltså inte kodformateringen som var det viktiga där.