Avatar billede wizin Nybegynder
03. oktober 2005 - 13:27 Der er 3 kommentarer

Check om den findes

Jeg har lavet en side som både skal indtaste data i en database, men den skal også checke om personen som bliver indtastet findes i databasen i forvejen. gør han det skal der ikke indtastet noget i databasen
Men den melder hele tiden fejl. og vil ikke indsætte det selvom personen ikke er i databasen i forvejen. HVad gør jeg galt

<?

if(isset($_POST['send']) && $_POST["kodeord"] =="kodeord" && $_POST['medlem']== $medlem)
{ echo "forkert indtastet";
 
  } else {
     
      $dato = date("j/n - Y");
  $medlem = $_POST['medlem'];  // Man bruger $_POST , $_REQUEST er meget usikker
  $profs = $_POST['profs'];
  $clas = $_POST['clas'];
  $faction = $_POST['faction'];
  $gender = $_POST['gender'];
 
  $medlem = addslashes($medlem); 
  $profs = addslashes($profs);
  $clas = addslashes($clas);
  $faction = addslashes($faction);
  $gender = addslashes($gender);

  mysql_connect("localhost", "danishforce", "kodeord") or die(mysql_error());
  mysql_select_db("danishforce") or die (mysql_error());

 
mysql_query("INSERT INTO medlemmer(nummer,dato, medlem, profs, clas, faction, gender) values(0, '$dato','$medlem','$profs','$clas','$faction','$gender') ");
echo "Medlem indsat";
      }
  ?>

<html>
<form name="forum" method="post" action="">
           
    <p>Indtast Spille proil navn:&nbsp;&nbsp;&nbsp; <input type="text" name="medlem" size="20" maxlength="20"></p>
    <p>Indtast Professions:&nbsp;&nbsp;&nbsp; <input type="text" name="profs" size="20" maxlength="20"></p>
    <p>Indtast brugernavn:&nbsp;&nbsp;&nbsp; <input type="text" name="clas" size="20" maxlength="20"></p>
    <p>Indtast brugernavn:&nbsp;&nbsp;&nbsp; <input type="text" name="faction" size="20" maxlength="20"></p>
    <p>Indtast brugernavn:&nbsp;&nbsp;&nbsp; <input type="text" name="gender" size="20" maxlength="20"></p>
    <p>Indtast kodeord:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="password" name="kodeord">
    <input type="submit" name="send" value="send">                <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
    <p>Lige så snart der er trykket på send er indlægget sat ind på <a href="index.php">Nyheds</a>
    siden</p>
          </font>
</html>
Avatar billede gf Nybegynder
03. oktober 2005 - 13:38 #1
$resultdata = mysql_query("select navn from din_database where navn = $_POST[navn]");
        $rowdata = mysql_numrows($resultdata);
        if ($rowdata == "1")
        {
        //navnet findes


mvh gf
        }
        else
        {
        //naavnet findes ikke
                }
Avatar billede Slettet bruger
03. oktober 2005 - 13:40 #2
Det nemmeste er vel at tjekke lige inden du indsætter i databasen.

$query = mysql_query("SELECT id FROM medlemmer WHERE medlem = '$medlem'");
if($rows = mysql_num_rows($query) == 0) {
    mysql_query("INSERT INTO medlemmer(nummer,dato, medlem, profs, clas, faction, gender) values(0, '$dato','$medlem','$profs','$clas','$faction','$gender') ");
echo "Medlem indsat";
} else {
  // Brugeren er oprettet.
}
Avatar billede jakobdo Ekspert
03. oktober 2005 - 13:44 #3
Det nemmeste ville være at lave brugernavn unikt eller index.
Når du så bruger INSERT INTO () vil den fejle hvis navnet findes.
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