Avatar billede xsix Nybegynder
21. september 2007 - 01:34 Der er 9 kommentarer og
1 løsning

Kun 1 bruger per brugernavn

Hej Eksperter.

Jeg har den her kode, hvor jeg lige har sat et if statement ind, og et else i bunden, som gerne skulle gå ind og sikre at der ikke bliver oprettet 2 brugere med samme navn, men den bliver ved med at komme med denne error:

"Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/virtual/xsix.dk/public_html/onlineny/human.php on line 90"

Nogen der kan se hvad der er galt?

<?php
            require_once('connect.php');
$playernames = mysql_query("SELECT accountname FROM players") or die(mysql_error());
$playernames_data = mysql_fetch_array($playernames);
    if($_POST["name"] != playernames_data) {
    if (isset($_POST['submitBtn'])) {
        $name    = (isset($_POST['name'])) ? addslashes(htmlentities($_POST['name'])) : '' ;
        $pass  = (isset($_POST['pass'])) ? addslashes(htmlentities($_POST['pass'])) : '' ;
        $email  = (isset($_POST['email'])) ? addslashes(htmlentities($_POST['email'])) : '' ;
        $usertype  = "User";
        $race  = "Human";
        $str  = "8";
        $agi  = "8";
        $sta  = "8";
        $ing  = "8";
        $dex  = "8";
        $attackspeed  = "1.8";
        $dodgechance  = "0.8";
        $hitchance  = "88";
        $money  = "100";
        $maxhp  = "80";
        $currenthp  = "80";
        $maxmana  = "80";
        $currentmana  = "80";
        $level  = "1";
        $weaponname  = "None";       
        $armorname  = "None";

        //Minimum name and comment length.
        if ((strlen($name) > 3)){
            $sql = "INSERT INTO players (accountname,accountpass,email,usertype,race,str,agi,sta,ing,dex,attackspeed,dodgechance,hitchance,money,maxhp,currenthp,maxmana,currentmana,level,weaponname) VALUES (";
            $sql .= "'".$name."','".$pass."','".$email."','".$usertype."','".$race."','".$str."','".$agi."','".$sta."','".$ing."','".$dex."','".$attackspeed."','".$dodgechance."','".$hitchance."','".$money."','".$maxhp."','".$currenthp."','".$maxmana."','".$currentmana."','".$level."','".$weaponname."')";
            mysql_query($sql) or die(mysql_error());
        }
       
        header("Location: index.php");
    }
    else {

?>

  </font>
            <p>
            <img src="gfx/human.gif">

 
  </p>

 
  <form action="human.php" method="post" name="human">
    <table>
      <tr><th>Account Name:</th><td><input name="name" /></td></tr>
      <tr><th>Account Password:</th><td><input type="password" name="pass" /></td></tr>
      <tr><th>Email:</th><td><input name="email" /></td></tr>
      <td><input type="submit" name="submitBtn" value="Register"/></td>
    </table> 
</form>
<?php } ?>

<?php
}
else
{
echo "A user already excist with the accountname: " . $_POST[name]";
exit();
}
  ?>  </p></td>


På forhånd tak,

Mvh.
XsiX
Avatar billede hells Nybegynder
21. september 2007 - 07:20 #1
Mon ikke, det bare drejer sig om, at der har sneget sig et anførselstegn for meget ind. Ret lige:
echo "A user already excist with the accountname: " . $_POST[name]";
til:
echo "A user already excist with the accountname: " . $_POST[name];
Avatar billede zynzz Praktikant
21. september 2007 - 08:06 #2
For så at gøre det mere korrekt:  echo "A user already excist with the accountname: " . $_POST['name'];
Avatar billede mibu Nybegynder
21. september 2007 - 11:38 #3
Kunne man ikke også sætte feltet i db'en til unik ?
Avatar billede xsix Nybegynder
21. september 2007 - 12:53 #4
Hmm det virker stadig ikke med kun at have 1 brugernavn.
Mibu den kommer med denne fejl hvis jeg prøver at sætte den unik:


Fejl

SQL-forespørgsel:

ALTER TABLE `players` ADD UNIQUE (
`accountname`
)

MySQL returnerede: Dokumentation
#1170 - BLOB column 'accountname' used in key specification without a key length
Avatar billede xsix Nybegynder
21. september 2007 - 13:16 #5
Fik lavet det unique ved at lave det om til varchar :)
Avatar billede mibu Nybegynder
21. september 2007 - 13:20 #6
Undskyld var har været lidt "fraværende"!

Dejligt du fik det til at virke.
Avatar billede xsix Nybegynder
21. september 2007 - 16:45 #7
Tak for det mibu, var ikke klar over at man kunne lave dem unik.
Bare smid et svar for point ;)
Avatar billede mibu Nybegynder
21. september 2007 - 18:02 #8
Svar :-)
Avatar billede zynzz Praktikant
21. september 2007 - 19:34 #9
Mibu, du skal lige huske at trykke på svar i siden... :D
Avatar billede mibu Nybegynder
21. september 2007 - 22:12 #10
UPS!
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