webForumDet fria alternativet

Varför visas inte mina mellanrum i textfält?

PHPur PHP

7 svar · 239 visningar · startad av raki

Medlem sedan jan. 2003137 inlägg
Frågan#1

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>
");
}
Medlem sedan juni 200032 969 inlägg
#2

Du ska alltid omge attributvärden i HTML med citationstecken (eller apostrofer). Exempel:

...
<input name=\"fornamn\" type=\"text\" class=\"inputtext\" value=\"".$rows['fornamn']."\">
...

Mvh

Medlem sedan jan. 2003137 inlägg
#3

åhhh
jag som alltid gjort det innan men trodde inte att det behövdes så jag struntade i det denna gången.

Tack!!!

Medlem sedan juni 200032 969 inlägg
#4

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,

Medlem sedan jan. 2003137 inlägg
#5

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

Medlem sedan dec. 2002789 inlägg
#6

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;
Medlem sedan jan. 2003137 inlägg
#7

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 :-)

Medlem sedan dec. 2002789 inlägg
#8

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.

135 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)