WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Php Nybörjare (https://www.wn.se/forum/showthread.php?t=21683)

tri 2007-06-06 00:01

Jag kanske inte skulle skriva på detta forum men någonstans måste jag börja. Jag håller på med en kurs i PHP och ska göra en inloggningssida som ska generera felmeddelande om man t ex inte fyller i lösenord eller användarnamn. jag ska skriva till en textfil.

Jag har försökt med det mesta nu och jag får nästan till det med felmeddelandet men det blir inte riktigt bra, dessutom kan jag inte placera in radbrytning för användarnam och lösenord till textfilen, det blir bara en lång text i textfilen.

Som sagt var så är jag nybörjare inom detta område.

koala 2007-06-06 00:11

Var det något du ville ha hjälp med, så får du gärna skriva åtminstone en mening som är en fråga. :)
Radbrytning kan du åstadkomma med "\n" eller "\r\n" t ex.

tri 2007-06-06 00:23

Frågan är om någon kan titta på min kod.

<?
session_start();
if(isset($_POST['namn']) AND isset($_POST['losen'])){

if(empty($_POST['losen']) || empty($_POST['losen']))
{
echo "Du måste skriva in ett lösenord
\n";

}
if(empty ($_POST['anv']) || empty($_POST['namn']))

{
echo "Skriv anvnamn
\n";
}

exit;


}
fclose($fh);





$_SESSION['anv'] =$_POST['namn'];
$_SESSION['losen']=$_POST['losen'];



echo "Hej och välkommen ".$_SESSION['anv']." till medlemssidans inloggning";

$dinfil = "losen.txt";
$fh = fopen($dinfil, 'a') or die("can't open file");
$anv = $_SESSION["anv"];
fwrite($fh, $anv);
$losen = $_SESSION["losen"];
fwrite($fh, $losen);
fclose($fh);

?>

<form action="logging.php" method="post">


Skriv in ditt användarnamn</p>
<input type="text" name="namn" id="namn" />


<input type="password" name="losen" id="losen" />

<input type="submit" name="klicka" id="klicka" />






</form>

Jonas 2007-06-06 15:00

Citat:

Originally posted by tri@Jun 6 2007, 00:23
Frågan är om någon kan titta på min kod.
Kod:

<?
session_start();
if(isset($_POST['namn']) AND isset($_POST['losen'])){

if(empty($_POST['losen']) || empty($_POST['losen']))
{
  echo "Du måste skriva in ett lösenord<br />\n";

}
if(empty ($_POST['anv']) || empty($_POST['namn']))

{
echo "Skriv anvnamn<br />\n";
}

exit;


}
fclose($fh);





$_SESSION['anv'] =$_POST['namn'];
$_SESSION['losen']=$_POST['losen'];



echo "Hej och välkommen ".$_SESSION['anv']." till medlemssidans inloggning";
 
$dinfil = "losen.txt";
$fh = fopen($dinfil, 'a') or die("can't open file");
$anv = $_SESSION["anv"];
fwrite($fh, $anv);
$losen = $_SESSION["losen"];
fwrite($fh, $losen);
fclose($fh);

?>
 
<form action="logging.php" method="post">
<p>Skriv in ditt användarnamn</p>
<input type="text" name="namn" id="namn" /><br /><br />
<input type="password" name="losen" id="losen" />
 
<input type="submit" name="klicka" id="klicka" />


 
 
 
 
</form>


Kod:

$dinfil = "losen.txt";
$txt = $_SESSION["anv"] . "\r\n" . $_SESSION["losen"] . "\r\n";
$fh = fopen($dinfil, 'a') or die("can't open file");
fwrite($fh, $txt);
fclose($fh);


tri 2007-06-07 00:00

Kan någon hjälpa mig med mitt problem. Jag har försökt ett tag nu men får det inte att fungera, bara halvvägs. Jag vill att det ska bli ett felmeddelande om man inte fyller i fältet användare eller lösenord eller om båda fälten är tomma. Min kod är

<?
session_start();
if(isset($_POST['namn']) AND isset($_POST['losen'])){
$_SESSION['anv'] =$_POST['namn'];
$_SESSION['losen']=$_POST['losen'];

echo "Hej och välkommen ".$_SESSION['anv']." till medlemssidans inloggning";

$dinfil = "losen.txt";
$fh = fopen($dinfil, 'a') or die("can't open file");
$anv = $_SESSION["anv"]."\n";
fwrite($fh, $anv);
$losen = $_SESSION["losen"]."\n";
fwrite($fh, $losen);
fclose($fh);
} else { ?>

<form action="logging.php" method="post">


Skriv in ditt användarnamn</p>
<input type="text" name="namn" id="namn" />


<input type="password" name="losen" id="losen" />

<input type="submit" name="klicka" id="klicka" /></form><? } ?>


Jag har försökt med

if(empty($_POST['losen']) || empty($_POST['losen']))
{
echo "Du måste skriva in ett lösenord
\n";

}

exit;



if(empty ($_POST['anv']) || empty($_POST['namn']))
{

echo "Skriv anvnamn
\n";
}

exit;


fclose($fh);


men det fungerar bara med lösenordet. Om jag kopierar denna kodsnutt så lägger den inte till något i textfilen utan skriver " Skriv anvnamn"

Pust, vet någon hur jag ska göra??

MattiasA 2007-06-07 01:02

if(strlen($_POST['namn'])>2 && strlen($_POST['losen'])>2)
//Gör detta
else
echo 'Något av fälten var inte korrekt ifyllda.';

Drew 2007-06-07 01:10

<?php
session_start();
if(isset($_POST['klicka']) && $_POST['klicka'] == 'klick')
{
if(!empty(trim($_POST['namn'])) && !empty(trim($_POST['losen'])))
{
$_SESSION['anv'] = trim($_POST['namn']);
$_SESSION['losen'] = trim($_POST['losen']);

echo "Hej och välkommen ".$_SESSION['anv']." till medlemssidans inloggning";

$dinfil = "losen.txt";
$fh = fopen($dinfil, 'a') or die("can't open file");
$anv = $_SESSION["anv"] . "\n";
fwrite($fh, $anv);
$losen = $_SESSION["losen"] . "\n";
fwrite($fh, $losen);
fclose($fh);
header('welcome.php');
}
else
{
if(empty(trim($_POST['namn'])))
echo 'Du måste skriva in användarnamn
';
if(empty(trim($_POST['losen'])))
echo 'Du måste skriva in ett lösenord
';
}
}
?>
<form action="logging.php" method="post">


Skriv in ditt användarnamn</p>
<input type="text" name="namn" id="namn" />


<input type="password" name="losen" id="losen" />
<input type="submit" name="klicka" id="klicka" value="klick" />
</form>

Detta förutsätter att du sparar det som logging.php. Sen borde du kanske ha någon koll att användarnamn och lösen stämmer.

Ersätt welcome.php med filen besökaren ska skickas till efter lyckad inloggning.

/D

koala 2007-06-07 01:15

2 bifogad(e) fil(er)
Kod:

<?php

define('FILEN', 'losen.txt');

function printForm()
{
        ?>
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
        <p>Skriv in ditt användarnamn</p>
        <input type="text" name="namn" id="namn" /><br /><br />
        <input type="password" name="losen" id="losen" />
       
        <input type="submit" name="klicka" id="klicka" /></form>
        <?
}


session_start();

if(isset($_POST['namn']) && isset($_POST['losen'])) {
       
        $_SESSION['anv'] = $_POST['namn'];
        $_SESSION['losen']= $_POST['losen'];
       
        $errors = array();
        if (empty($_POST['namn']) $errors[] = "Skriv användarnamn";
        if (empty($_POST['losen]) $errors[] = "Skriv lösen";
       
        if (empty($errors))        {
 echo "Hej och välkommen {$_SESSION['anv']} till medlemssidans inloggning";
 $fh = fopen(FILEN, 'a') or die("can't open file");
 $text = "{$_SESSION['anv']}\r\n{$_SESSION['losen']}\r\n"; 
 fwrite($fh, $text);
 fclose($fh);
        } else {
 echo '<h2>Fel!</h2>';
 echo '<ul><li>' . implode("</li><li>", $errors) . '</li></ul>';
 printForm();
        }
 
} else {
        printForm();
}



Alla tider är GMT +2. Klockan är nu 04:07.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson