Gå til innhold

Forms - Behandle inputs


Anbefalte innlegg

Jeg holder på lære meg litt mer om forms i PHP, og har lagd et lite "kodeforsøk", som ser ut som dette: http://www.jklweb.net/testside.php

 

og bruker kildekoden:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="<?php $_GET[PHP_SELF]; ?>">
 <p>Skriv inn en tekst<br>
   <input name="input" type="text" id="input">
   <br>
   <input type="submit" name="Submit" value="Send">
</p>
</form>
<?php 
$input = "$_POST[input]";
echo "Du skrev: $input";
?>
</body>
</html>

 

Ganske enkelt egentlig, men en fin måte å utforske forms og PHP på. Men det jeg lurer på nå er hvordan jeg kan få teksten "Du skrev" til å stå som "Her kommer teksten du skriver inn" når man ikke har skrevet noe inn i feltet over, mens når man skriver inn noe i feltet å trykker Send kommer noe som "Du skrev: Også teksten personen skrev via "$_POST[input]", men om du ikke har skrevet noe inn i feltet å alikevel trykker på Send-knappen får man opp beskjeden "Du har ikke skrevet noe inn i feltet over". Hvordan gjøres dette? Noen som har noen gode ressurs-sider som tar for seg dette temaet?

Lenke til kommentar
Videoannonse
Annonse

<body>

<form name="form" method="post" action="<?php $_SERVER

[php_SELF]; ?>">
<p>Skriv inn en tekst<br>
  <input name="input" type="text" id="input">
  <br>
  <input type="submit" name="Submit" value="Send">
</p>
</form>
<?php

$input = $_POST['input'];

if (!empty($input)) // eller if(isset($input))
{
print "Du skrev: " . $input;
}

elseif(empty($input))
{
print "Her kommer det som du skal skrive";
}


?>[/quote]

får å få noe i en "input" (<input type=..) gjør du slik;

<input type="text" name="navn" value="Noe her">


For å få det vekk når man tar klikker på det, kan man blandt annet bruke javascript.

(er ikke sikker på om denne koden er riktig)

<form name="form" method="post" action="<?php $_SERVER[PHP_SELF]; ?>">
<p>Skriv inn en tekst<br>
 <input name="input" type="text" id="input" value="Navn" onfocus="if(this.value=='Navn')this.value='';">
 <br>
 <input type="submit" name="Submit" value="Send">
</form>

 

EDIT: fant koden til onfocus.

Endret av robgar
Lenke til kommentar

Tusen takk! Virka supert.. :) Har lasta opp å testa nå..

Men kan oen nå si meg hvordan jeg kan bruke str_replace i denne sammenheng? For å lage smileys via forms.

F.eks.

 

I formet skrives det inn: :)

og output'en blir et smileyfjes (bilde altså)..

 

Ja, trenger vel ikke forklare mer :p

Har sett på noen scripts som bruker dette, men jeg blir litt småforvirra..

Lenke til kommentar

Først må du lage et bilde, som du for eksempel kaller smiley.gif

F.eks, så ser det slik ut:

 

:)

 

Så bruker du følgende kode (etter at formen er sendt).

 

 


<?

$input = $_POST['input'];

if(!empty($input))
{

$replace = "<img src='smiley.gif'>";
$ferdig = str_replace(":)", $replace, $input);

print $ferdig;
}
else
{
print "her kommer teksten du skriver";
}

?>


 

Hver gang du skriver ": )" i formen, blir det byttet ut med et bilde.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...