Avatar billede hmmhelpinghmm Nybegynder
10. juni 2004 - 10:23 Der er 11 kommentarer og
1 løsning

Checkbox og email på login check! (PHP GRUPPE)

JEg vil gerne have lavet en checkbox på mit login. Det kan jeg også fint, men hvrdan finder jeg ud af i PHP, om den er checked. Det skal laves med noget if. Dette duer ikke:

if (isset($_POST['accept'])) {
echo "<script type=\"text/javascript\">alert(\"Du skal sætte hak i boksen!\");history.go(-1)</script>";
}

HELE MIN KODE TIL DET SER SÅLEDES UD:

<?
ob_start();

//////////////////////////////////////////
//              //
//  Login System Version 1.0  //
//  Kenneth Jakobsen AKA Xyz  //
//  www.Xyz3d.dk        //
//  Script@xyz3d.dk        //
//  (22/8-2003)        //
//              //
//////////////////////////////////////////

?>
<html>
<head>
<title>Login System 1.0 by Xyz</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="loggerin.php" method="post">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Brugernavn:</font><br>
<input name="bruger" type="text" size="20" maxlength="20"><br>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif">Password:</font><br> 
<input name="pass" type="password"  size="20" maxlength="20">
  <br>
  <input type="submit" value="Login">
  <a href='create.html'>Opret ny bruger</a>
</form>
<?php
session_start();

if ($_SESSION['status'] == "nobrugerpass") {
print("  <font face='verdana' size='2' color='#ff0000'>
  <b>Du SKAL indtaste et Brugernavn OG et Password!!!</b></font>");
}

if ($_SESSION['status'] == "fejl") {
print("  <font face='verdana' size='2' color='#ff0000'>
  <b>Der var noget galt med enten dit Brugernavn
    eller dit Password!!!</b></font>");
}

if ($_SESSION['status'] == "nobruger") {
print("  <font face='verdana' size='2' color='#ff0000'>
  <b>Du SKAL indtaste et Brugernavn!!!</b></font>");
}

if ($_SESSION['status'] == "nopass") {
print("  <font face='verdana' size='2' color='#ff0000'>
  <b>Du SKAL indtaste et Password!!!</b></font>");
}
else
{
print("");
}
ob_flush();
?>
</body>
</html>

Samtidig vil jeg gerne have at den chekker om man skriver en email valideret med: x@x.dk
OGSÅ SOM IF I PHP

DETTE VIRKER IKKE :

if ( ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)) {
    die("Din email skal være x@x.tld");
}

HELE MIN PHP FIL TIL DET SER SÅLEDES UD!


<title>Opret Bruger...</title>
<?

$bruger = $_POST['bruger'];
$pass = $_POST['pass'];
$email = $_POST ['mail'];
$postnr = $_POST ['post'];
$telefon = $_POST ['tele'];
$accept = $_POST ['accept'];

include("access.php");
$query = "SELECT id, user, pass FROM login WHERE user = '".$bruger."'";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
$test = mysql_fetch_array($result);

if (!$_POST["bruger"] | !$_POST['pass'] | !$_POST['passa'] | !$_POST['mail'] | !$_POST['post']){
                echo "<script type=\"text/javascript\">alert(\"Alle felter med * SKAL udfyldes!!!\");history.go(-1)</script>";
                }

if (@$_POST['pass'] != @$_POST['passa']){
echo "<script type=\"text/javascript\">alert(\"Koderne er ikke identiske\");history.go(-1)</script>";
                }
        if (strlen($_POST ['post']) != 4) {
        echo "<script type=\"text/javascript\">alert(\"Indtast venligst et GYLDIGT postnr.!!!\");history.go(-1)</script>";
        }
       
if (isset($test['user'])) {
print("  <font face='verdana' size='2' color='#ff0000'>
      <b>Brugernavnet \"$bruger\" er allerede optaget
      vælg venligst et nyt </b></font><br>
      <font face='verdana' size='2' color='#000000' text-decoration='none'>
      <a href='create.html'>Tilbage</a></font>");
}
else
{
$sql = "INSERT INTO login (id, user, pass, email, postnr, telefon) VALUES ('', '$bruger', '$pass', '$mail', '$post', '$tele')";
mysql_query($sql);
echo "<script type=\"text/javascript\">alert(\"Kodeordet og de andre oplysninger vil nu blive vist!!!\")</script>";
print("  <font face='verdana' size='2' color='#669900'>
      <b>  Bruger: $bruger <br>
      Password: $pass <br>
      Email: $email <br>
      Postnummer: $postnr <br>
      Telefonnummer: $telefon <br>
      Er nu oprettet </b></font><br>
      <font face='verdana' size='2' color='#000000' text-decoration='none'>
      <a href='login.php'>Login</a></font>");
      }
?>
Avatar billede Slettet bruger
10. juni 2004 - 10:31 #1
<input type="checkbox" name="checkbox" value="afkrydset">

if ($_POST["checkbox"] == "afkrydset") {
      echo "Boksen er afkrydset";
} else {
      die("Du skal afkrydse checkboksen");
}

--
pacroon
Avatar billede hmmhelpinghmm Nybegynder
10. juni 2004 - 10:39 #2
Ja tak jeg tror nok det skal virke hvis det er kan jeg vel lave den sådan, så der kun kommer fejl hvis det ikke er udfyldt eller hvad:

<input type="checkbox" name="checkbox" value="afkrydset">

if ($_POST["checkbox"] == "afkrydset") {
} else {
      die("Du skal afkrydse checkboksen");
}

Hvad med det med email kan du klare det?

Samtidig vil jeg gerne have at den chekker om man skriver en email valideret med: x@x.dk
OGSÅ SOM IF I PHP

DETTE VIRKER IKKE :

if ( ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $email)) {
    die("Din email skal være x@x.tld");
}

HELE MIN PHP FIL TIL DET SER SÅLEDES UD!


<title>Opret Bruger...</title>
<?

$bruger = $_POST['bruger'];
$pass = $_POST['pass'];
$email = $_POST ['mail'];
$postnr = $_POST ['post'];
$telefon = $_POST ['tele'];
$accept = $_POST ['accept'];

include("access.php");
$query = "SELECT id, user, pass FROM login WHERE user = '".$bruger."'";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
$test = mysql_fetch_array($result);

if (!$_POST["bruger"] | !$_POST['pass'] | !$_POST['passa'] | !$_POST['mail'] | !$_POST['post']){
                echo "<script type=\"text/javascript\">alert(\"Alle felter med * SKAL udfyldes!!!\");history.go(-1)</script>";
                }

if (@$_POST['pass'] != @$_POST['passa']){
echo "<script type=\"text/javascript\">alert(\"Koderne er ikke identiske\");history.go(-1)</script>";
                }
        if (strlen($_POST ['post']) != 4) {
        echo "<script type=\"text/javascript\">alert(\"Indtast venligst et GYLDIGT postnr.!!!\");history.go(-1)</script>";
        }
       
if (isset($test['user'])) {
print("  <font face='verdana' size='2' color='#ff0000'>
      <b>Brugernavnet \"$bruger\" er allerede optaget
      vælg venligst et nyt </b></font><br>
      <font face='verdana' size='2' color='#000000' text-decoration='none'>
      <a href='create.html'>Tilbage</a></font>");
}
else
{
$sql = "INSERT INTO login (id, user, pass, email, postnr, telefon) VALUES ('', '$bruger', '$pass', '$mail', '$post', '$tele')";
mysql_query($sql);
echo "<script type=\"text/javascript\">alert(\"Kodeordet og de andre oplysninger vil nu blive vist!!!\")</script>";
print("  <font face='verdana' size='2' color='#669900'>
      <b>  Bruger: $bruger <br>
      Password: $pass <br>
      Email: $email <br>
      Postnummer: $postnr <br>
      Telefonnummer: $telefon <br>
      Er nu oprettet </b></font><br>
      <font face='verdana' size='2' color='#000000' text-decoration='none'>
      <a href='login.php'>Login</a></font>");
      }
?>
Avatar billede dennismp Nybegynder
10. juni 2004 - 10:42 #3
if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $email)) {
  echo "Ugyldig email";
}

taget fra: http://www.ljweb.biz/usefulscripts/
Avatar billede Slettet bruger
10. juni 2004 - 10:42 #4
if (!$_POST["checkbox"] == "afkrydset") {
      die("Du skal afkrydse checkboksen");
}

:)
Avatar billede dennismp Nybegynder
10. juni 2004 - 10:42 #5
.. og luk lige de gamle spørgsmål. Du må ikke have flere ens åbne samtidigt.
Avatar billede hmmhelpinghmm Nybegynder
10. juni 2004 - 10:44 #6
JEg ved det godt dennis, men jeg ved ikke hvordan jeg fjerner dem, kan du hjæpe?
Avatar billede Slettet bruger
10. juni 2004 - 10:45 #7
Besvar spørgsmålet og accepter dit eget svar.
Avatar billede hmmhelpinghmm Nybegynder
10. juni 2004 - 10:50 #8
Ok nu er de blå, jeg giver point når jeg har fundet ud af om de ting der virker, og når jeg har fundet ud af, hvordan jeg giver point, jeg håber at det virker, og tror da på jer. Pacroon kan jeg ikke også i stedet for die skrive echo? Jeg ved ikke om jeg fårprøvet det af her i formiddag!
Avatar billede Slettet bruger
10. juni 2004 - 10:58 #9
Nej. Hvis du skriver echo, så skriver den bare texten, men kører scriptet videre, og logger folk ind alligevel.

die(); sørger for, at efter den har skrevet "Du skal afkrydse checkboksen", så stopper scriptet.
Avatar billede Slettet bruger
10. juni 2004 - 10:58 #10
*svarer*
Avatar billede hmmhelpinghmm Nybegynder
10. juni 2004 - 11:01 #11
JEg accepterer når jeg har testet, Vent online i 10 min. takker
Avatar billede hmmhelpinghmm Nybegynder
10. juni 2004 - 11:09 #12
Det virker, jeg accepterer nu, hvis du vil være sød at vente et par minutter, så skal jeg oprette et nyt spørgsmål, skriver det også lige her:

3 ting:

1: Kan man med MySQL lave et sted hvor den automatisk udesender en email, og i anden omgang, kan man så sætte den til at have et godkendelse link i, evt. hvordan.

2: Kan man fortælle den at postnr. skal være 4 tal. evt. ved brug af det til at tjekke email, så bare angive alle tal 4 gange.

3: Tjek lige min logoff hvorfor skriver den noget med at man skal indtaste brugernavn og kode, når man bare logger ud. bruger og  kode er: "ab" og "ab"
www.friendsavisen.1go.dk/login/login.php
Mit logoff link ser således ud:
<a href="java script:location.href='loggerin.php?logout=true&redirect=http://www.friendsavisen.1go.dk/login/login.php';alert('DU ER NU LOGGET UD!!!');">Logud</a>
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