Gå til innhold

Hvordan fikse utseendet på skjemaet mitt i PHP


Anbefalte innlegg

Heisann, trenger litt hjelp til noe som sikkert er helt banalt.

 

Jeg har ei nettside. Den er laget kun med HTML, gammlemetoden med frames og tabels. Dette fordi jeg ikke kan bedre. Ikke noe css, php etc.

 

Men...

 

Så skulle jeg ha et skjema hvor brukerne kunde sende meg spørsmål, og begynte med mailto form i html. Men så leste jeg at mailto ikke funket så bra siden mange brukere kun benytter webbassert mail. Så leste jeg videre at php var tingen å bruke. Men jeg kan ikke php, og selv om jeg har lest endel nå får jeg det ikke til.

 

Jeg har lastet ned en form jeg ønsker å bruke fra epleweb, og jeg har redigert feltene slik at det står riktig tekst. Deretter har jeg lagret som php, og uploaded til serveren. Så har jeg php siden fra resten av nettsiden. Deretter har jeg testet formen, og voila... det funket. Fikk en mail på outlooken etter et par sekunder.

 

hele koden ser slik ut:

 

<?php

 

 

 

if ($_POST['submit'] == TRUE) {

$receiverMail = "[email protected]";

$name = stripslashes(strip_tags($_POST['name']));

$email = stripslashes(strip_tags($_POST['email']));

$subject = stripslashes(strip_tags($_POST['subject']));

$msg = stripslashes(strip_tags($_POST['msg']));

$ip = $_SERVER['REMOTE_ADDR'];

$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

 

if(empty($name) || empty($email) || empty($subject) || empty($msg)) {

echo "<h2>Spørsmålet ble ikke sent</h2><p>Fyll inn alle feltene</p>";

}

elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {

echo "<h2>Spørsmålet ble ikke sent</h2><p>Skiv inn en gyldig e-post adresse</p>";

}

elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {

echo "<h2>Spørsmålet er sendt</h2><p>Jeg prøver å svare spørsmål på denne siden regelmessig</p>"; }

else {

echo "<h2>Spørsmålet ble ikke sent</h2><p>Prøv igjen. Hvis dette gjentar seg er det sannsynligvis et serverproblem</p>";

}

}

else { ?>

<form method="post" action="">

<p>

<label for="name">Navn</label>

<input id="name" name="name" type="text" size="30" maxlength="40" /><br />

 

<label for="email">E-post</label>

<input id="email" name="email" type="text" size="30" maxlength="40" /><br />

 

<label for="subject">Emne</label>

<input id="subject" name="subject" type="text" size="30" maxlength="40" /><br />

 

<label for="message">Spørsmål</label>

<textarea id="message" name="msg" cols="50" rows="6"></textarea><br />

 

<label for="submit"> </label>

<input id="submit" class="button" type="submit" name="submit" value="Send" />

</p>

</form>

<?php } ?>

 

 

Men utseendet på sida ble jo kjempestygt. Se vedlegg under (skjema.jpg) Sånn kan jeg ikke ha det. Spørsmålet blir videre. Hvordan kan jeg redigere utseendet til skjemaet? Kan jeg gjøre dette direkte i php- dokumentet, eller via html, eller må jeg bruke css.

 

Leste ett eller annet sted her på siden at du skriver php inn i html, og ikke motsatt. Beklager at jeg ikke henger helt med her. På epleweb kunne jeg laste ned masse css-koding som gjorde skjemaet pent, men hvis jeg bruker dette, hvordan får jeg php-fila til å "hente" utseendet fra css-dokumentet (huff... klossete skrevet)

 

Videre er php iriterende siden jeg ikke kan hente hele kildekoden og få hjelp derfra.

 

Noen som kan hjelpe meg :thumbup:

post-48879-1149276626_thumb.jpg

Lenke til kommentar
Videoannonse
Annonse

Sett det inn i en tabell:

 

<?php



if ($_POST['submit'] == TRUE) {
$receiverMail = "[email protected]";
$name = stripslashes(strip_tags($_POST['name']));
$email = stripslashes(strip_tags($_POST['email']));
$subject = stripslashes(strip_tags($_POST['subject']));
$msg = stripslashes(strip_tags($_POST['msg']));
$ip = $_SERVER['REMOTE_ADDR'];
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo "<h2>Spørsmålet ble ikke sent</h2><p>Fyll inn alle feltene</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h2>Spørsmålet ble ikke sent</h2><p>Skiv inn en gyldig e-post adresse</p>";
}
elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {
echo "<h2>Spørsmålet er sendt</h2><p>Jeg prøver å svare spørsmål på denne siden regelmessig</p>"; }
else {
echo "<h2>Spørsmålet ble ikke sent</h2><p>Prøv igjen. Hvis dette gjentar seg er det sannsynligvis et serverproblem</p>";
}
}
else { ?>
<table>
<form method="post" action="">
<p>
<tr>
 <td><label for="name">Navn</label></td>
 <td><input id="name" name="name" type="text" size="30" maxlength="40" /></td>
</tr>
<tr>
 <td><label for="email">E-post</label></td>
 <td><input id="email" name="email" type="text" size="30" maxlength="40" /></td>
</tr>
<tr>
 <td><label for="subject">Emne</label></td>
 <td><input id="subject" name="subject" type="text" size="30" maxlength="40" /></td>
</tr>
<tr>
 <td><label for="message">Spørsmål</label></td>
 <td><textarea id="message" name="msg" cols="50" rows="6"></textarea></td>
</tr>
<tr>
 <td><label for="submit"> </label></td>
 <td><input id="submit" class="button" type="submit" name="submit" value="Send" /></td>
</tr>
</p>
</form>
</table>
<?php } ?>

Lenke til kommentar
Sett det inn i en tabell:

Nei fysj og fy! Er en grunn til at jeg ikke brukte tabellsuppe når jeg lagde scriptet.

 

@Trådstarter; hvis du ikke vet hvordan du legger inn CSSen, kopier følgende kode inn mellom head-taggene på siden din:

<style type="text/css">
textarea {
overflow:auto;
display:block;
float:left;
margin-bottom:10px;
}

input, textarea {
border:1px solid #999999;
padding:1px 2px;
}

label, input {
display:block;
width:150px;
float:left;
margin-bottom:10px;
}

label {
text-align:right;
width:60px;
padding-right:15px;
}

form br {
clear:left;
}
input.button {
width:80px;
background:white;
}</style>

Lenke til kommentar
2) skal ikke css stilene ligge som en egen side det bare henvises til i html dokumentet?

6232223[/snapback]

 

De kan ligge i en egen fil, eller i toppen av(head) av koden. Skal stilarket brukes på flere sider er det mest effektivt å ha det i en egen fil, er det derimot bare en side som skal ha stilen kan du bruke koden over.

Lenke til kommentar
2) skal ikke css stilene ligge som en egen side det bare henvises til i html dokumentet?

6232223[/snapback]

 

De kan ligge i en egen fil, eller i toppen av(head) av koden. Skal stilarket brukes på flere sider er det mest effektivt å ha det i en egen fil, er det derimot bare en side som skal ha stilen kan du bruke koden over.

6232270[/snapback]

 

 

okei, det er bare en side. Men jeg har jo ikke head tagger i php siden min. Skal jeg skrive inn dette? Eller lage en html utgave med alle de valige taggene og php inni der?

 

Sånn som dette? Nei, det funker ikke!

 

 

 

<html>

<head>

 

 

<style type="text/css">

textarea {

overflow:auto;

display:block;

float:left;

margin-bottom:10px;

}

 

input, textarea {

border:1px solid #999999;

padding:1px 2px;

}

 

label, input {

display:block;

width:150px;

float:left;

margin-bottom:10px;

}

 

label {

text-align:right;

width:60px;

padding-right:15px;

}

 

form br {

clear:left;

}

input.button {

width:80px;

background:white;

}</style>

 

 

</head>

<body>

 

 

<?php

 

 

 

if ($_POST['submit'] == TRUE) {

$receiverMail = "[email protected]";

$name = stripslashes(strip_tags($_POST['name']));

$email = stripslashes(strip_tags($_POST['email']));

$subject = stripslashes(strip_tags($_POST['subject']));

$msg = stripslashes(strip_tags($_POST['msg']));

$ip = $_SERVER['REMOTE_ADDR'];

$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

 

if(empty($name) || empty($email) || empty($subject) || empty($msg)) {

echo "<h2>Spørsmålet ble ikke sent</h2><p>Fyll inn alle feltene</p>";

}

elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {

echo "<h2>Spørsmålet ble ikke sent</h2><p>Skiv inn en gyldig e-post adresse</p>";

}

elseif(mail($receiverMail, $subject, $msgformat, "From: $name <$email>")) {

echo "<h2>Spørsmålet er sendt</h2><p>Jeg prøver å svare spørsmål på denne siden regelmessig</p>"; }

else {

echo "<h2>Spørsmålet ble ikke sent</h2><p>Prøv igjen. Hvis dette gjentar seg er det sannsynligvis et serverproblem</p>";

}

}

else { ?>

<form method="post" action="">

<p>

<label for="name">Navn</label>

<input id="name" name="name" type="text" size="30" maxlength="40" /><br />

 

<label for="email">E-post</label>

<input id="email" name="email" type="text" size="30" maxlength="40" /><br />

 

<label for="subject">Emne</label>

<input id="subject" name="subject" type="text" size="30" maxlength="40" /><br />

 

<label for="message">Spørsmål</label>

<textarea id="message" name="msg" cols="50" rows="6"></textarea><br />

 

<label for="submit"> </label>

<input id="submit" class="button" type="submit" name="submit" value="Send" />

</p>

</form>

<?php } ?>

 

</body>

</html>

Lenke til kommentar
Å bruke tabell er verken forbudt eller fysj å fy, mulig jeg terger på meg mange nå :)

Tabeller er ikke fysj og fy i seg selv, nei. Men å bruke tabeller til layout er enkelt og greit feil.

 

 

Johooooooo... Nå funket det. Tusen takk!

Jolly good! :thumbup:

Endret av Loomy
Lenke til kommentar
Å bruke tabell er verken forbudt eller fysj å fy, mulig jeg terger på meg mange nå :)

Tabeller er ikke fysj og fy i seg selv, nei. Men å bruke tabeller til layout er enkelt og greit feil.

6232734[/snapback]

En utbredt misforståelse, w3c sier at man bør bruke css i mest mulig grad men at bruk av tabeller til layout ikke er feil.

Den dagen alle nettlesere behandler css like likt som tabeller blir imidlertid en kjærkommen dag - eller hva ?!

Jeg er ikke mot css, men av og til koker det ned til at tabeller funker bedre.

 

En annen refleksjon: http://www.barry.pearson.name/articles/lay...les/defence.htm

Nå er vel neppe denne mannen noe mere gud enn resten av oss, allikevel noen poeng å finne.

 

http://www.barry.pearson.name/articles/lay...positioning.htm

http://www.killersites.com/blog/2006/css-3-column-layout/

Endret av alp_renx
Lenke til kommentar
I recently was surfing the web and found myself on a popular web standards zealot website. The featured article referred to 3 column CSS based page layout as being the ‘Holy Grail’! My first reaction to this was: geez, how silly this is!

Du finner siden her: http://glish.com/css/

 

Kanhende denne artikkelen er av interesse for noen her?

Tables Vs. CSS - A Fight to the Death av Sergio Villarreal.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...