Avatar billede densejeersej Nybegynder
20. april 2003 - 09:49 Der er 2 kommentarer

Kan jeg gøre det bedre?

Jeg har en kode til at oprette en bruger på min hp, den ser ud som dette:

<?
if (isset($_POST['submit'])) {
   
    $name = $_POST['name'];
    $adress = $_POST['adress'];
    $city = $_POST['city'];
    $zip = $_POST['zip'];
    $email = $_POST['email'];
    $username = strtolower($_POST['username']);
    $password = $_POST['password'];
    $password2 = $_POST['password2'];

 
    if (empty($name) OR empty($adress) OR empty($city) OR empty($zip) OR empty($email) OR empty($username) OR empty($password) OR empty($password2)) {
   
    echo "<br><br><span style=\"color: #ff0000\">Alle felter skal udfyldes...</span>";
   
    } else {
   
    mysql_connect('***', '***', '***');
    mysql_select_db('***');
    $result = mysql_query("select username from user where username = '$username'") or die (mysql_error());
    $number = mysql_num_rows($result);
    if ($number > 0) {
    echo "<br><br><span style=\"color: #ff00ff\">Brugernavnet er optaget...</span>";
    } else {
      if ($password != $password2) {
      echo "<br><br><span style=\"color: #ff0000\">Adgangskoderne passer ikke sammen...</span>";
      } else {

      mysql_query("insert into user (username, password, city, name, zip, adress, email, date) values ('$username', password('$password'), '$city', '$name', '$zip', '$adress', '$email', now())") or die(mysql_error());
      echo "<br><br><span style=\"color: #0000ff\">Brugeren er oprettet, du kan nu logge ind...</span>";
      }
    }

    mysql_close();
    }
 
    }
?>

Kan jeg gøre det bedre, eller mere sikkert?
Avatar billede knocker Nybegynder
20. april 2003 - 09:51 #1
Personligt ville jeg ikke lave de første variabler, men blot kører videre med $_POST['*'] .. Det er så en smags sag, men ellers ser det ud som det nu ellers skal gøre.
Avatar billede Slettet bruger
20. april 2003 - 11:32 #2
Til samtlige af dine variabler i starten kører du nedenstående!
$name = addslashes($_POST['name']);
Så er der ikke den eliminerer du chancen for SQL-inserts!
Prøv f.eks. at skriv et bruger navn med ' !?
Husk at kørem stripslashes($row[username]); når du henter det igen fra databasen!
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