09. november 2004 - 17:34Der er
6 kommentarer og 1 løsning
Bruger og email check
Er der nogle der kan se hvad der er galt. Jeg vil lave det sådan at den checker om brugenavn og email allerede findes. Men selvom jeg skriver det samme navn så opretter den et post i databasen
<?
// Laver post-felterne om til variabler $Brugernavn = $_POST['Fornavn']; $Password = $_POST['Password']; $Fornavn = $_POST['Fornavn']; $Efternavn = $_POST['Efternavn']; $Alder = $_POST['Alder']; $City = $_POST['City']; $Interesser = $_POST['Interesser']; $Bilinfo = $_POST['Bilinfo']; $Email = $_POST['Email']; $Sms = $_POST['Sms']; $Msn = $_POST['Msn']; /* Lets strip some slashes in case the user entered any escaped characters. */
/* Do some error checking on the form posted fields */
if(!$Brugernavn){ echo 'Brugernavn SKAL udfyldes!!!<br />'; } if(!$Password){ echo 'Password SKAL udfyldes!!!<br />'; }
if(!$Fornavn){ echo 'Fornavn SKAL udfyldes!!!<br />'; } if(!$Efternavn){ echo 'Efternavn SKAL udfyldes!!!<br />'; }
if(!$Alder){ echo 'Alder SKAL udfyldes!!!<br />'; }
if(!$City){ echo 'By SKAL udfyldes!!!<br />'; }
if(!$Interesser){ echo 'Interesser SKAL udfyldes!!!<br />'; }
if(!$Bilinfo){ echo 'Info om bilen SKAL udfyldes!!!<br />'; }
if(!$Email){ echo 'Email SKAL udfyldes!!!<br />'; }
require 'db.php';
$sql = mysql_query("INSERT INTO Member(Id,Brugernavn,Password,Fornavn,Efternavn,Alder,City,Interesser,Bilinfo,Email,Sms,Msn) VALUES ('$Id','$_POST[Brugernavn]', '$_POST[Password]','$_POST[Fornavn]','$_POST[Efternavn]','$_POST[Alder]','$_POST[City]','$_POST[Interesser]','$_POST[Bilinfo]','$_POST[Email]','$_POST[Sms]', '$_POST[Msn]')") or die(mysql_error());
if (mysql_query) { header("location: /homepage/members/members.php");
$sql_Email_check = mysql_query("SELECT Email FROM member WHERE Email='$Email'"); $sql_Brugernavn_check = mysql_query("SELECT Brugernavn FROM Member WHERE Brugernavn='$Brugernavn'");
if(($Email_check > 0) || ($Brugernavn_check > 0)){ echo "Følgende skal rettes da: <br />"; if($email_check > 0){ echo "<strong>Din email-adresse allerede er brugt en gang i vores database. Du bedes vælge en anden!<br />"; unset($email_address); } if($username_check > 0){ echo "Dit brugernavn allerede er i vores database. Du bedes vælge et andet!<br />"; unset($username); } include 'index.htm'; // Viser formulaern igen hvis der er en fejl exit(); // exit scriptet så brugeren ikke bliver oprettet hvis bruger eller email allerede findes i database }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
09. november 2004 - 18:06#1
yep det gør den.. du indsætter jo brugeren inden du checker om den eksisterer.. så du skal nedenunder dit check lave
else { $sql = mysql_query("INSERT INTO Member(Id,Brugernavn,Password,Fornavn,Efternavn,Alder,City,Interesser,Bilinfo,Email,Sms,Msn) VALUES ('$Id','$_POST[Brugernavn]','$_POST[Password]','$_POST[Fornavn]','$_POST[Efternavn]','$_POST[Alder]','$_POST[City]','$_POST[Interesser]','$_POST[Bilinfo]','$_POST[Email]','$_POST[Sms]', '$_POST[Msn]')") or die(mysql_error()); } echo "Bruger oprettet"; }
så du altså flytter din indsætning ned efter du har checket om brugernavnet findes..
/* Do some error checking on the form posted fields */
if(!$Brugernavn){ echo 'Brugernavn SKAL udfyldes!!!<br />'; } if(!$Password){ echo 'Password SKAL udfyldes!!!<br />'; }
if(!$Fornavn){ echo 'Fornavn SKAL udfyldes!!!<br />'; } if(!$Efternavn){ echo 'Efternavn SKAL udfyldes!!!<br />'; }
if(!$Alder){ echo 'Alder SKAL udfyldes!!!<br />'; }
if(!$City){ echo 'By SKAL udfyldes!!!<br />'; }
if(!$Interesser){ echo 'Interesser SKAL udfyldes!!!<br />'; }
if(!$Bilinfo){ echo 'Info om bilen SKAL udfyldes!!!<br />'; }
if(!$Email){ echo 'Email SKAL udfyldes!!!<br />'; }
require 'db.php';
$sql_Email_check = mysql_query("SELECT Email FROM member WHERE Email='$Email'"); $sql_Brugernavn_check = mysql_query("SELECT Brugernavn FROM member WHERE Brugernavn='$Brugernavn'");
if(($Email_check > 0) || ($Brugernavn_check > 0)){ echo "Følgende skal rettes da: <br />"; if($Email_check > 0){ echo "<strong>Din email-adresse allerede er brugt en gang i vores database. Du bedes vælge en anden!</strong><br />"; unset($email); } if($Brugernavn_check > 0){ echo "<strong>Dit brugernavn allerede er i vores database. Du bedes vælge et andet!<br /></strong>"; unset($Brugernavn); } include 'join_form.php'; // Viser formulaern igen hvis der er en fejl exit(); // exit scriptet så brugeren ikke bliver oprettet hvis bruger eller email allerede findes i database }
$sql = mysql_query("INSERT INTO Member(Id,Brugernavn,Password,Fornavn,Efternavn,Alder,City,Interesser,Bilinfo,Email,Sms,Msn) VALUES ('$Id','$_POST[Brugernavn]', '$_POST[Password]','$_POST[Fornavn]','$_POST[Efternavn]','$_POST[Alder]','$_POST[City]','$_POST[Interesser]','$_POST[Bilinfo]','$_POST[Email]','$_POST[Sms]', '$_POST[Msn]')") or die(mysql_error());
if (mysql_query) { header("location: /homepage/members/members.php"); exit;
$sql_Email_check = mysql_query("SELECT Email FROM member WHERE Email='$Email'"); $sql_Brugernavn_check = mysql_query("SELECT Brugernavn FROM Member WHERE Brugernavn='$Brugernavn'");
prøv med: $sql_Brugernavn_check = mysql_query("SELECT Brugernavn FROM Member WHERE Brugernavn='$Brugernavn'") or die(mysql_error());
Umiddelbart vil jeg tro, at det er fordi du i din ene query bruger "member" som tabel og i den anden "Member".
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.