Avatar billede jomi83 Nybegynder
29. januar 2009 - 20:46 Der er 2 kommentarer

Tjek ved tilmelding

Hej eksperter,

Jeg har lavet et tilmeldingssystem, men desværre mangler der lidt "sikkerhed" i det. Det jeg godt kunne tænke mig at få ind i scriptet er at den tjekker om mailen eksisterer, om den allerede er i systemet og om tlf. nummerene er 8 digits/tal.


Tilmeld.php:
<?php
include("opencon.php");


$sql="INSERT INTO nyhedsbrev (firstname, lastname, adress, zip, city, phone, cell, sex, birthyear, mail)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[adress]','$_POST[zip]','$_POST[city]','$_POST[phone]','$_POST[cell]','$_POST[sex]','$_POST[birthyear]','$_POST[mail]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Tilføjet!";

include("closecon.php");

?>
Avatar billede bacardil Nybegynder
12. februar 2009 - 00:39 #1
Hvis du ikke har fundet en løsning så kan www.mailinglist.dk anbefales. Der er en gratis version og der kan det ønskede tilbydes.
Avatar billede apocs Nybegynder
23. februar 2009 - 18:53 #2
Flg. kode beskytter dine formularer mod SQL injections med mysql_escape_string().

Desuden er det bygget op sådan at hvis man skriver en eksisterende mail, bliver man afmeldt.

<?php
include("opencon.php");

$fname = mysql_escape_string($_POST['firstname']);
$lname = mysql_escape_string($_POST['lastname']);
$adress = mysql_escape_string($_POST['adress']);
$zip = mysql_escape_string($_POST['zip']);
$city = mysql_escape_string($_POST['city']);
$phone = mysql_escape_string($_POST['phone']);
$cell = mysql_escape_string($_POST['cell']);
$sex = mysql_escape_string($_POST['sex']);
$birth = mysql_escape_string($_POST['birthyear']);
$mail = mysql_escape_string($_POST['mail']);

if($fname == "" OR $lname == "" OR $adress == "" OR $zip == "" OR $city == "" OR $phone == "" OR $cell == "" OR $sex == "" OR $birth == "" OR $mail == ""){
    header("Location: ".$_SERVER['HTTP_REFERER']."");
}

$sql = mysql_query("SELECT COUNT(*) AS exist FROM nyhedsbrev WHERE mail = '".$mail."'", $con);

if($sql['exist'] == 0){
    if(strlen(is_int($phone)) == 8 AND strlen(is_int($cell)) == 8){
        $sqlI="INSERT INTO nyhedsbrev (firstname, lastname, adress, zip, city, phone, cell, sex, birthyear, mail)
        VALUES
        ('".$fname."','".$lname."','".$adress."','".$zip."','".$city."','".$phone."','".$cell."','".$sex."','".$birth."','".$mail."')";
    }
} else {
    $sqlI = "DELETE FROM nyhedsbrev WHERE mail = '".$mail."'";
}

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Tilføjet!";

include("closecon.php");

?>
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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