Avatar billede firestone Nybegynder
19. marts 2008 - 09:26 Der er 24 kommentarer

Simpel PHP Case med input form fra html

Jeg forsøger at lave en simpel input form i html, som kan fanges i en case i en php fil med funktioner.
Jeg kager rundt i $_POST og i "switch". Er der en der kan vise mig et simpelt program?

eks input navn: case hans echo "hej hans" else "hej med dig"

Er det egentligt en god ting at dele php koden og html koden op? så jeg har et php document for sig, med alle delene i funktioner og så et main html document som indeholder kald til php funktionerne?
Avatar billede michael_stim Ekspert
19. marts 2008 - 09:54 #1
http://dk2.php.net/switch

<?php
switch ($i) {
case 0:
    echo "i equals 0";
    break;
case 1:
    echo "i equals 1";
    break;
case 2:
    echo "i equals 2";
    break;
default:
    echo "i is not equal to 0, 1 or 2";
}
?>
Avatar billede michael_stim Ekspert
19. marts 2008 - 09:58 #2
switch ($_POST['navn']) {
case "Hans":
    echo "Hej med dig Hans";
    break;
case "Grethe":
    echo "Hej med dig Grethe";
    break;
}

Det har ingen betydelse om du deler php'en og html'en hver for sig. Nogen gange kan det være lettere at læse det når man skriver det sammen, andre gange ikke.
Avatar billede michael_stim Ekspert
19. marts 2008 - 09:59 #3
Men er det bare 2 "cases" ville jeg nok bruge en almindelig if, else.
Avatar billede firestone Nybegynder
19. marts 2008 - 10:07 #4
<?php


Display_Prompt();

switch ($_POST['navn']) {
case "a":
    echo "Hej med dig Hans";
    break;
case "b":
    echo "Hej med dig Grethe";
    break;
}


function Display_Prompt() {
?>

<form action="" Method="post" Name="dos">

<table border="0">
    <tr class="DosInput">
        <td>z:\Games></td>
            <td><input type="text" name="cmd" maxlength="100"></td>
    </tr>
</table>

<input type="Submit" Value="Search">

</form>

<?php
}
?>

syntes ikke jeg får det til at fungere?
Avatar billede firestone Nybegynder
19. marts 2008 - 10:09 #5
Jeg ville lave en slags, commando prompt hvor den tager input som array parametre og så udfører i case alt efter hvad jeg skriver eks search a /d eks 3 parameters. men først basic, så kommer det efter hånden.
Avatar billede michael_stim Ekspert
19. marts 2008 - 10:11 #6
switch ($_POST['cmd']) {

Kalder du den vel.
Avatar billede michael_stim Ekspert
19. marts 2008 - 10:14 #7
switch ($_POST['navn']) {
case "a":
    echo "Hej med dig Hans";
    break;
case "b":
    echo "Hej med dig Grethe";
    break;
default:
    echo "Ikke valgt noget";

}

Eller:

If (isset($_POST['dit_knap_navn'])){
//din kode når der bliver klikket på knappen
}
Avatar billede michael_stim Ekspert
19. marts 2008 - 10:22 #8
<?php
If (isset($_POST['send'])){

switch ($_POST['cmd']) {
case "a":
    echo "Hej med dig Hans";
    break;
case "b":
    echo "Hej med dig Grethe";
    break;
}
}


<form action="Dit_side_navn.php" Method="post" Name="dos"> OBS action

<table border="0">
    <tr class="DosInput">
        <td>z:\Games></td>
            <td><input type="text" name="cmd" maxlength="100"></td>
    </tr>
</table>

<input type="Submit" Value="Search" name="send">

</form>
Avatar billede michael_stim Ekspert
19. marts 2008 - 10:23 #9
Og så lige en slut tag på php'en ;o)

?>
Avatar billede firestone Nybegynder
19. marts 2008 - 11:27 #10
hvis jeg har delt de her 2 dele i 2 filer test.php og funktioner.php hvordan får jeg så included funktioner.php i test.php filen? så jeg kan bruge mine funktioner?
Avatar billede michael_stim Ekspert
19. marts 2008 - 11:32 #11
require_once('funktioner.php');

echo $funktions_navn;
Avatar billede firestone Nybegynder
19. marts 2008 - 11:47 #12
<html>
  <head>
    <title>Søgefunktion</title>

    <link rel="stylesheet" type="text/css" href="css/main.css">

  </head>

<?php
function Display_Prompt() {

If (isset($_POST['send'])){

switch ($_POST['cmd']) {
case "a":
    echo "Hej med dig Hans";
    break;
case "b":
    echo "Hej med dig Grethe";
    break;
}
}
?>

<form action="" Method="post" Name="dos">
<table border="0">
    <tr class="DosInput">
        <td>z:\Games></td>
            <td><input id="dosPrompt" Class="dosInput" type="text" name="cmd" maxlength="100"></td>
    </tr>
</table>

<input class="SubmitBtn" type="Submit">



</form>

<?php
}
?>

Søgefunktion [Version .0a]<br>

(<a href="http://www.w3c.org">w3c</a> .
            <a href="http://validator.w3.org/check/referer">html</a> .
            <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://firestone.homeip.net/site-archive/css/main.css&amp;warning=no&amp;profile=css2">css</a>)' . - a 2008 Production by
            <a href="http://www.infosystems.dk">Inf0systems.</a>

<?php
Display_Prompt();

?>
  </body>
</html>

kan du se hvad jeg gør galt?
Avatar billede michael_stim Ekspert
19. marts 2008 - 12:04 #13
<?php
function Display_Prompt() {

switch ($_POST['cmd']) {
case "a":
    $retur = "Hej med dig Hans";
    break;
case "b":
    $retur = "Hej med dig Grethe";
    break;
    default:
    $retur = "Det er ikke fundet noget med det bogstav.";
}
return $retur;
}
?>
<html>
  <head>
    <title>Søgefunktion</title>

    <link rel="stylesheet" type="text/css" href="css/main.css">

  </head>



<form action="" Method="post" Name="dos">
<table border="0">
    <tr class="DosInput">
        <td>z:\Games></td>
            <td><input id="dosPrompt" Class="dosInput" type="text" name="cmd" maxlength="100"></td>
    </tr>
</table>

<input class="SubmitBtn" type="Submit">



</form>


Søgefunktion [Version .0a]<br>

(<a href="http://www.w3c.org">w3c</a> .
            <a href="http://validator.w3.org/check/referer">html</a> .
            <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://firestone.homeip.net/site-archive/css/main.css&amp;warning=no&amp;profile=css2">css</a>)' . - a 2008 Production by
            <a href="http://www.infosystems.dk">Inf0systems.</a>

<?php
if (isset($_POST['send'])){
echo Display_Prompt();
}
?>
  </body>
</html>
Avatar billede firestone Nybegynder
19. marts 2008 - 12:29 #14
nu står overskriften i bunden, og når jeg skriver noget i input form, så sker der intet
Avatar billede michael_stim Ekspert
19. marts 2008 - 12:55 #15
<input class="SubmitBtn" type="Submit" name="send" value="Soeg">
Avatar billede firestone Nybegynder
19. marts 2008 - 14:07 #16
Jeg har fundet ud af, min input form ikke fungere hvis jeg trykker enter når jeg har tastet noget i feltet. Men det fungere hvis jeg klikker på submit knappen. Er der ikke en metode til at "enter" tasten også kan fungere som submit knap? så jeg slipper for den "grimme" knap?
Avatar billede michael_stim Ekspert
19. marts 2008 - 14:13 #17
jo med javascript.

onKeyDown="if (window.event.keyCode==13) dos.submit();"

i dit tekstfelt.
Avatar billede firestone Nybegynder
19. marts 2008 - 14:21 #18
føler mig lidt tungnem, kan du illustrere det i min kode?
Avatar billede michael_stim Ekspert
19. marts 2008 - 14:27 #19
Husk at få en action på din form.

<td><input id="dosPrompt" Class="dosInput" type="text" name="cmd" maxlength="100" onKeyDown="if (window.event.keyCode==13) this.form.submit();"
></td>
Avatar billede firestone Nybegynder
19. marts 2008 - 14:45 #20
<?php
function Display_Prompt() {

switch ($_POST['cmd']) {
case "a":
    $retur = "Hej med dig Hans";
    break;
case "b":
    $retur = "Hej med dig Grethe";
    break;
    default:
    $retur = "Det er ikke fundet noget med det bogstav.";
}
return $retur;
}
?>

<html>
  <head>
    <title>Søgefunktion</title>

<!--    <link rel="stylesheet" type="text/css" href="css/main.css">
-->
  </head>

<body onload="document.dos.cmd.focus();">

<div id="Banner">
    <img src="images/banner_simple.gif" alt="banner.gif" >
</div>
   
Søgefunktion [Version .0a]<br>

(<a href="http://www.w3c.org">w3c</a> .
            <a href="http://validator.w3.org/check/referer">html</a> .
            <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://firestone.homeip.net/site-archive/css/main.css&amp;warning=no&amp;profile=css2">css</a>)' . - a 2008 Production by
            <a href="http://www.infosystems.dk">Inf0systems.</a>

<form action="" Method="post" Name="dos">
<table border="0">
    <tr class="DosInput">
        <td>z:\Games></td>
            <td><input id="dosPrompt" Class="dosInput" type="text" name="cmd" maxlength="100" onKeyDown="if (window.event.keyCode==13) Display_Prompt();"></td>
    </tr>
</table>

<input class="SubmitBtn" type="Submit" name="send">

</form>

<?php
if (isset($_POST['send'])){
echo Display_Prompt();
}
?>
  </body>
</html>

Den ser sådan ud pt
Avatar billede michael_stim Ekspert
19. marts 2008 - 14:50 #21
Skal jeg hjælpe dig bliver du nød til at gøre som jeg siger.

Kommentar: michael_stim
19/03-2008 14:27:27
Avatar billede firestone Nybegynder
19. marts 2008 - 15:12 #22
<?php
function Display_Prompt() {

switch ($_POST['cmd']) {
case "a":
    $retur = "Hej med dig Hans";
    break;
case "b":
    $retur = "Hej med dig Grethe";
    break;
    default:
    $retur = "Det er ikke fundet noget med det bogstav.";
}
return $retur;
}
?>

<html>
  <head>
    <title>Søgefunktion</title>

<!--    <link rel="stylesheet" type="text/css" href="css/main.css">
-->
  </head>

<body onload="document.dos.cmd.focus();">

<div id="Banner">
    <img src="images/banner_simple.gif" alt="banner.gif" >
</div>
   
Søgefunktion [Version .0a]<br>

(<a href="http://www.w3c.org">w3c</a> .
            <a href="http://validator.w3.org/check/referer">html</a> .
            <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://firestone.homeip.net/site-archive/css/main.css&amp;warning=no&amp;profile=css2">css</a>)' . - a 2008 Production by
            <a href="http://www.infosystems.dk">Inf0systems.</a>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" Method="post" Name="dos">
<table border="0">
    <tr class="DosInput">
        <td>z:\Games></td>
            <td><input id="dosPrompt" Class="dosInput" type="text" name="cmd" maxlength="100" onKeyDown="if (window.event.keyCode==13) this.form.submit();"></td>
    </tr>
</table>

<input class="SubmitBtn" type="Submit" name="send">

</form>

<?php
if (isset($_POST['send'])){
echo Display_Prompt();
}
?>
  </body>
</html>
Avatar billede firestone Nybegynder
23. marts 2008 - 15:21 #23
ie fungere ikke med det her, før jeg sætter input type til "hidden".. det er sidste missing part af løsningen
Avatar billede firestone Nybegynder
23. marts 2008 - 15:22 #24
michael_stim smid også lige et svar, giver dig nogen points som tak fordi du har hjulpet mig en del.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester