Avatar billede janbb Juniormester
30. april 2004 - 00:04 Der er 35 kommentarer og
1 løsning

nu osse php - let spm tror jeg

kan dette konverteres til PHP

filen getaction4.htm:


<FORM name=login action="brugs.asp" METHOD=get>
Brugernavn:<BR>
<input type=text name=brugernavn><br>

<input type=submit value= "log on">
</form>


______________________________

Filen brugs.asp:

<% @Language=JavaScript%>
<%=Request.QueryString("brugernavn")%>
<%

brugernavn = Request.QueryString("brugernavn");
if (brugernavn =="test")
{Response.Write("ja");}
else
{Response.Write("nej");}

%>
Avatar billede grunken Nybegynder
30. april 2004 - 00:13 #1
<FORM name=login action="brugs.php" METHOD=get>
Brugernavn:<BR>
<input type=text name=brugernavn><br>

<input type=submit value= "log on">
</form>

brugs.php
<?php
brugernavn = $_GET['brugernavn']

if(brugernavn=="test")
echo "ja";
else
echo "nej";
?>
Avatar billede grunken Nybegynder
30. april 2004 - 00:14 #2
upz :o)

brugs.php
<?php
brugernavn = $_GET['brugernavn'];

if(brugernavn=="test")
echo "ja";
else
echo "nej";
?>
Avatar billede michael_stim Ekspert
30. april 2004 - 00:15 #3
if (isset($_POST[$brugernavn] =="test")
{
echo "ja";
}
else
{
echo("nej");
}
Avatar billede michael_stim Ekspert
30. april 2004 - 00:18 #4
Selvfölgelig skal det väre get. Läste ikke rigtigt på formen. Mit virker kun hvis det er METHOD="POST"
Avatar billede michael_stim Ekspert
30. april 2004 - 00:19 #5
if (isset($_POST[$brugernavn]) =="test")
{
echo "ja";
}
else
{
echo("nej");
}

Manglede lige en parantes
Avatar billede michael_stim Ekspert
30. april 2004 - 00:23 #6
Er det ikke bedre at bruge post hvis det er et login-system?
Avatar billede janbb Juniormester
30. april 2004 - 00:51 #7
Sikke mange fine forslag - jeg prøver dem lige :)
Avatar billede janbb Juniormester
30. april 2004 - 00:57 #8
grunken:

gir fejl:Parse error: parse error, unexpected '=' in x:\xx\xx\brugs.php on line 3
Avatar billede janbb Juniormester
30. april 2004 - 01:01 #9
michael_stim:
der kommer ikke noget ecco
Avatar billede michael_stim Ekspert
30. april 2004 - 01:12 #10
if (isset($_POST['brugernavn']) =="test")
{
echo "ja";
}
else
{
echo("nej");
}
Sådan. Glem ikke at rette din method til post.
Avatar billede michael_stim Ekspert
30. april 2004 - 01:14 #11
brugernavn = $_GET['brugernavn'];

if($brugernavn=="test")
echo "ja";
else
echo "nej";

Hvis du bruger getmetoden
Avatar billede 7th Praktikant
30. april 2004 - 01:15 #12
if (isset ($_GET['brugernavn']) && $_GET['brugernavn'] == "test")
{
echo "test lig med ja";
}

else
{
echo "test ikke lig med ja";
}
Avatar billede michael_stim Ekspert
30. april 2004 - 01:25 #13
Men som sagt ville jeg nok bruge postmetoden, eftersom der er et loginsystem. Så slipper du for at det står oppe i adresselinien, hvilket ikke er så smart.
Avatar billede michael_stim Ekspert
30. april 2004 - 01:38 #14
if (isset($_POST['brugernavn']) && $_POST['brugernavn']=="test")
{
echo "ja";
}
else
{
echo "nej";
}

Puha, det er blevet sent, men nu skulle den väre helt rigtig. Den tester om der er en variabel og om den er lig med test.
Avatar billede janbb Juniormester
30. april 2004 - 01:55 #15
Har  prøvet alle variationer (dog ikke michal_stims seneste, men det gør jeg da )
Den seneste afprøvede var

<FORM name=login action="brugs3.php" METHOD=POST>
Brugernavn:<BR>
<input type=text name=brugernavn><br>

<input type=submit value= "log on">
</form>

brugs3.php_____________________

<% php
if (isset($_POST['brugernavn']) =="test")
{
echo "ja";
}
else
{
echo("nej");
}


%>



  ......... og den gav lissom flere af de andre en blank side ?

er der noget galt i echo-syntaksen ?
Avatar billede 7th Praktikant
30. april 2004 - 02:04 #16
Brugernavn:<br>
<form action="brugs3.php" method="post">
<input name="brugernavn" type="text" value=""><br>
<input name="logon" type="submit" value="log on">
</form>

<?php
if (isset ($_POST['brugernavn']) && $_POST['brugernavn'] == "test")
{
    echo "brugernavn lig med test";
}

    else
    {
        echo "brugernavn ikke lig med test";
    }
?>

og <? ?> er php, mens <% %> er asp ;o)
Avatar billede janbb Juniormester
30. april 2004 - 02:11 #17
Ja 7th ret dum fejl - jeg prøver lige igen :) godt der er nogle der er 'vågne'
Avatar billede janbb Juniormester
30. april 2004 - 02:14 #18
Det virker helt perfekt.I må alle sammen lægge et svar og tusind tak for den tålmodige hjælp :)
Avatar billede 7th Praktikant
30. april 2004 - 02:22 #19
Velbekomme :o)
Avatar billede janbb Juniormester
03. maj 2004 - 01:47 #20
Det virker som om 'tiden' er blevet skruet tilbage.Michael_stim skulle lægge svar her ?.Er vældig glad for at have lært at bruge 'if - else' i PHP.
Men der fattes nok meget at lære endnu.Det dobbelte lighedstegn er osse 'nylært' fra 'Jscript-gruppen', selvom jeg kender det fra Delphi som :=
(det 'absolutte' lighedsteg).Plusser er punktummer i streng-udtryk og ja 'sådan er det hele vejen igennem' :).
Variabler er dollartegn - og tuborgparanteser er en slags 'begin-end'.
'isset' er det en slags måde at redeklarere ??.
Ville så gerne lære noget mere.Har været for nærig til at købe en dyr bog (leder efter en knap saa dyr).Hvordan får man formen til at ligge på og poste til samme side som programmet ligger på ?.
Avatar billede 7th Praktikant
03. maj 2004 - 02:16 #21
Tja, hvad skal man sige ;o) ?

Dit sidste spørgsmål forstår jeg ikke helt.
Avatar billede janbb Juniormester
03. maj 2004 - 02:27 #22
Jo - fx har jeg et program, der søger i mySQL:

< form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="POST"> Søgeord: <input type="text" name="search">
<input type="submit"> <?php if ((isset($_POST[search])) && ($_POST[search] != ""))
{ // mySQL Definitons
$MYSQL_DEFS = array();
$MYSQL_DEFS["host"] = "localhost";
$MYSQL_DEFS["user"] = "username";
$MYSQL_DEFS["password"] = "password";
$MYSQL_DEFS["db"] = "databasename";
mysql_connect($MYSQL_DEFS["host"],$MYSQL_DEFS["user"],$MYSQL_DEFS["password"]); mysql_select_db($MYSQL_DEFS["db"]);
$q = mysql_query("SELECT * FROM minsql WHERE emne LIKE '%".$_POST['search']."%'") or die(mysql_error());
// "SELECT * FROM minsql WHERE emne LIKE '%".$_POST['search']."%'" if (mysql_num_rows($q)) { while ($r = mysql_fetch_assoc($q)) { echo "Nummer: ".$r['nummer']."
Emne: ".$r['emne']."
Forfatter: ".$r['forfatter']."
Tekst: ".$r['tekst']."
"; } } } ?>

MEN: .....................

="<?php echo $_SERVER[PHP_SELF]; ?> virker ikke saa vidt jeg kan teste udenom dennne MySQL-sammenhæng, men programmet er smart fordi det afvikles på een side (synes jeg) ?.
Avatar billede 7th Praktikant
03. maj 2004 - 02:31 #23
Det kan man sagtens gøre :o)

Lad mig lige forstå. Man indtaster et søgeord, og så skal søgeresultaterne udskrives efter formen - korrekt?
Avatar billede janbb Juniormester
03. maj 2004 - 02:33 #24
Næ programmet med søgeord virker perfekt.
Jeg ville gerne ha programmet fra dette spm til at virke på samme 'måde'
Avatar billede janbb Juniormester
03. maj 2004 - 02:35 #25
her er det brugernavn der indtastes og saa kommer der et svar afh af om man taster ordet 'test' ind i formularens inputfelt
Avatar billede janbb Juniormester
03. maj 2004 - 02:37 #26
men i stedet for at sende brugernavn til brugs.php filen skulle svret afvikles
på samme side som formen.Det er sikkert banalt.Kan man fx bare skrive navnet på den samme fil som formen ligger på ?.
Avatar billede janbb Juniormester
03. maj 2004 - 02:42 #27
Iøvrigt - det der med E har været nede.Er det ikke som om der er nogen af spm.ene der er gået tabt ?.
Havde et kørende med noget tekstformatering og det er helt forsvundet.
Avatar billede 7th Praktikant
03. maj 2004 - 02:46 #28
Brug din logik fra din søgeside :o)

Prøv at lave en ny side med denne kode.

<?php
if (empty ($_POST['brugernavn']) == false && $_POST['brugernavn'] == "test")
{
    header ("Location: login.php");
}
?>
<html>
<head>
<title>Dokument</title>
</head>

<body>

<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
Brugernavn: <input name="brugernavn" type="text" value="">
<input name="login" type="submit"" value="">
</form>

</body>
</html>

Den er lige meget hvad siden hedder. Lav også en ny side som hedder login.php. Indtast så test i inputfeltet, og se hvad der sker ;o)
Avatar billede janbb Juniormester
03. maj 2004 - 02:48 #29
Iøvrigt har jeg udvidet programmet lidt har brugt dette genbrugt 'isset'
(ved ikke om det er nødv. ?, men det virker da):)

<?php
if (isset ($_POST['brugernavn']) && $_POST['brugernavn'] == "11")
{
echo "<br>";echo "<br>";
 
echo "<br>";
echo "- ikke nogen supersikker loginprocedure,";
              echo "men behagelig til små notater -  ";
echo "<br>";
             
echo "<br>";
              echo "reference til kode eksp.dk/spm/495021";




}

    else  if (isset ($_POST['brugernavn']) && $_POST['brugernavn'] == "12")
    {
       
    readfile("./brugs.txt");       
    }
else
{
        echo "brugernavn ikke lig med test";
           
    }
?>
Avatar billede janbb Juniormester
03. maj 2004 - 03:12 #30
Ja det virker anderledes og bedre, idet 'omdirigeringen' kun sker når der er et 'resultat'.Men jeg havde nu tænkt at afviklingen skulle ske i forts. af 'samme' side - så man løbende kunne ændre input (som ovenfor 11 12 osv)
Men jeg har i hvert fald lært at man godt kan bruge ="<?= $_SERVER['PHP_SELF']; ?>"  åbenbart hvis man bruger det 'rigtigt'.
Så jeg vil prøve at fordøje den nye lærdom og takker endnu en gang for din hjælp.
Avatar billede janbb Juniormester
03. maj 2004 - 03:14 #31
Iøvrigt ka du lisså godt få lidt flere points så oprette jeg nogen til  michael_stim
Avatar billede janbb Juniormester
03. maj 2004 - 03:26 #32
Men jeg har jo altsaa puttet resten af koden ind i login.php - det skulle jeg måske ikke ?
Avatar billede janbb Juniormester
03. maj 2004 - 03:34 #33
Nu har jeg fattet det - det var det der 'header', der forvirrede mig.Det er perfekt tror jeg (skal lige efterprøve det igen) :)
Avatar billede janbb Juniormester
03. maj 2004 - 13:50 #34
Jeg kan forstå det er mine HTML-kundskaber om forme der knirker lidt, men det må jeg se at få læst op på.
Koden virker i alle tilfælde upåklageligt.
Jeg opsummerer lige her af hensyn til 'eftertiden' ( og login.php skal altså være uden relaterende kode, hvis man vil bruge 'header' eksemplet i stedet for det her foreslåede 'readfile' !):
<?php
if (empty ($_POST['brugernavn']) == false && $_POST['brugernavn'] == "test")
{
  // header ("Location: login.php");
readfile("./brugs.txt");
}

if (empty ($_POST['brugernavn']) == false && $_POST['brugernavn'] == "12")
{echo "brugernavn ikke lig med test";}


?>
<html>
<head>
<title>Dokument</title>
</head>

<body>

<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
Brugernavn: <input name="brugernavn" type="text" value="">
<input name="login" type="submit"" value="">
</form>

</body>
</html>


(lidt 'morsomt' at man faktisk slet ikke behøver bruge ELSE - meget lærerigt)
Avatar billede 7th Praktikant
03. maj 2004 - 18:12 #35
Har du fået det til at virke som du vil have det? Ellers kan jeg godt hjælpe dig lidt videre.
Avatar billede janbb Juniormester
03. maj 2004 - 22:50 #36
Tak skal du have.Det virker helt eminent nu.Er  vældig tilfreds med resultatet ;)
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