FAQ |
Kalender |
2007-06-06, 00:01 | #1 | ||
|
|||
Medlem
|
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. |
||
Svara med citat |
2007-06-06, 00:11 | #2 | |||
|
||||
Har WN som tidsfördriv
|
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. |
|||
Svara med citat |
2007-06-06, 00:23 | #3 | ||
|
|||
Medlem
|
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> |
||
Svara med citat |
2007-06-06, 15:00 | #4 | ||
|
|||
Klarade millennium-buggen
|
Citat:
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); |
||
Svara med citat |
2007-06-07, 00:00 | #5 | ||
|
|||
Medlem
|
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?? |
||
Svara med citat |
2007-06-07, 01:02 | #6 | |||
|
||||
Medlem
|
if(strlen($_POST['namn'])>2 && strlen($_POST['losen'])>2)
//Gör detta else echo 'Något av fälten var inte korrekt ifyllda.'; |
|||
Svara med citat |
2007-06-07, 01:10 | #7 | ||
|
|||
Medlem
|
<?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 |
||
Svara med citat |
2007-06-07, 01:15 | #8 | |||
|
||||
Har WN som tidsfördriv
|
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(); } |
|||
Svara med citat |
Svara |
|
|