Avatar billede kwudo Nybegynder
16. august 2005 - 14:58 Der er 9 kommentarer og
1 løsning

Fejl i opret_ok.php

Hey, jeg ligger inde med et lidt underligt problem .

Jeg har lavet en opret_ok fil, som indsætter dataerne fra opret filen.

Men den siger følgene som fejl:


Parse error: parse error, unexpected T_ELSE in /hsphere/local/home/kwudo/kwudo.dk/NewchatK/opret_ok.php on line 26

Her får i lige filen .. :


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Opret en ny bruger</title>
</head>

<body>

<?
include("connect/cfg.php");
$opret = &$HTTP_POST_VARS['opret'];
if(empty($opret)) {
include("sikkerhed.php/fejl.php");
  ?>
 
<?

} else {

include("connect/cfg.php");

if($_POST[action] != "oxpwk");
{
print "FEJL!";
} else {

if($_POST[kodeorda] != $_POST[kodeordb]);
{
print "De 2 kodeord er ikke ens!";
} else {

if($_POST[brugernavn] < 3);
{
print "Dit brugernavn skal være mindst på 3 tegn!";
} else {

if($_POST[brugernavn] > 10);
{
print "Dit brugernavn er for langt, max 10 tegn!";
} else {

if($_POST[navn] == "")
{
print "Du har ikke udfyldt dit navn!";
} else {

if($_POST[alder] == "")
{
print "Du skal skrive din alder!";
} else {

if($_POST[email] == "")
{
print "Du har ikke skrevet nogen email!";
} else {

$email = $_POST[email];
if (substr_count($email,'@')==0) {
print "Der mangler et @ i din email!";
} else {

$result = mysql_query("SELECT brugernavn FROM brugere WHERE brugernavn = '$brugernavn'")
or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
print 'Det indtastede brugernavn findes desværre allerede, vælg et nyt!';
} else {

$dato = date("d/m/Y H:i:s");
$ip = $_SERVER[REMOTE_ADDR];
$navn = md5(htmlspecialchars($_POST['navn']));
$alder = md5(htmlspecialchars($_POST['alder']));
$brugernavn = md5(htmlspecialchars($_POST['brugernavn']));
$kodeorda = md5(htmlspecialchars($_POST['kodeorda']));
$smail = md5(htmlspecialchars($_POST['smail']));
$gender = md5(htmlspecialchars($_POST['gender']));
$profiltekst = md5(htmlspecialchars($_POST['profiltekst']));
mysql_query("INSERT INTO brugere (dato, ip, navn, alder, brugernavn, kodeord, smail, gender, profiltekst) VALUES ('$dato', '$ip', '$navn', '$alder', '$brugernavn', '$kodeord', '$smail', '$gender', '$profiltekst')") or die(mysql_error());
echo("Din profil er nu oprettet, vi håber du får en god tid på Kwudo!");

}
}
}
}
}
}
}
}
}
}

?>
</body>

</html>


det er i denne linie fejlen ligger som den siger: } else {

Håber i kan hjælpe det er jo en vigtig fil (:
Avatar billede erikjacobsen Ekspert
16. august 2005 - 15:09 #1
Du skal nok bare ændre
    if($_POST[action] != "oxpwk");
til
    if($_POST[action] != "oxpwk") {
Avatar billede kwudo Nybegynder
16. august 2005 - 15:10 #2
prøver.
Avatar billede leif Seniormester
16. august 2005 - 15:11 #3
if($_POST[kodeorda] != $_POST[kodeordb]);
til
if($_POST[kodeorda] != $_POST[kodeordb])

if($_POST[brugernavn] < 3);
til
if($_POST[brugernavn] < 3)


Når du har:
{
Something
}

Efter en IF skal der ikke ; efterlinien.
Avatar billede kwudo Nybegynder
16. august 2005 - 15:14 #4
Så virker det sku tak skal du ha leif ;)
Avatar billede kwudo Nybegynder
16. august 2005 - 15:18 #5
Nu skriver den bare "Dit brugernavn skal være på mindst 3 tegn!" Det skriver den os selvom det er på 5 osv. :S
Avatar billede kwudo Nybegynder
16. august 2005 - 15:22 #6
og det er kun det den skriver :S
Avatar billede erikjacobsen Ekspert
16. august 2005 - 15:24 #7
Ja, jeg fik vist en { for meget - og de andre skulle du selv kunne se.
Længden? Så skal du bruge  http://php.net/strlen
Avatar billede erikjacobsen Ekspert
16. august 2005 - 15:26 #8
Og når du kommer længere med i scriptet, vil du nok opdage, at din brug af md5 næppe er hensigtsmæssig. Hvad regner du med at opnå?
Avatar billede neonman Nybegynder
17. august 2005 - 11:07 #9
her:


<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Opret en ny bruger</title>
</head>

<body>

<?
include("connect/cfg.php");
$opret = &$HTTP_POST_VARS['opret'];

if(empty($opret))
{
    include("sikkerhed.php/fejl.php");
}
else
{
    include("connect/cfg.php");

    if($_POST['action'] == "oxpwk")
    {

        if($_POST[kodeorda] != $_POST[kodeordb])
            print "De 2 kodeord er ikke ens!";

        elseif($_POST[navn] == "")
            print "Du har ikke udfyldt dit navn!";

        elseif($_POST[alder] == "")
            print "Du skal skrive din alder!";

        elseif($_POST[email] == "")
            print "Du har ikke skrevet nogen email!";
       
        else
        {
            $email = $_POST[email];
           
            if (substr_count($email,'@')==0)
                print "Der mangler et @ i din email!";
           
            else
            {

                $result = mysql_query("SELECT brugernavn FROM brugere WHERE brugernavn = '$brugernavn'") or die (mysql_error());
                $number = mysql_num_rows($result);
               
                if ($number > 0)
                    print 'Det indtastede brugernavn findes desværre allerede, vælg et nyt!';
               
                else
                {
                    $dato        = date("d/m/Y H:i:s");
                    $ip            = $_SERVER[REMOTE_ADDR];
                    $navn        = htmlspecialchars($_POST['navn']);
                    $alder        = htmlspecialchars($_POST['alder']);
                    $brugernavn = htmlspecialchars($_POST['brugernavn']);
                    $kodeorda    = htmlspecialchars($_POST['kodeorda']);
                    $smail        = htmlspecialchars($_POST['smail']);
                    $gender        = htmlspecialchars($_POST['gender']);
                    $profiltekst = htmlspecialchars($_POST['profiltekst']);
   
                    mysql_query("INSERT INTO brugere (dato, ip, navn, alder, brugernavn, kodeord, smail, gender, profiltekst) VALUES ('$dato', '$ip', '$navn', '$alder', '$brugernavn', '$kodeord', '$smail', '$gender', '$profiltekst')") or die(mysql_error());
   
                    echo("Din profil er nu oprettet, vi håber du får en god tid på Kwudo!");
                }
            }
        }
    }
}
?>



Alt det md5 du sider og bruger er ubrugligt da md5 ikke kan decrypters igen.. de ter kun en vejs crypt man køre.

du forøger at gøre det her if($_POST[brugernavn] < 3); det kan man ikke for det første må du ikke bruge ; efter en if sætning... efter det kan du ikke bare sammenline om det er minder eller over 3 og 10 tegn. det skal du fortælle den ved at definere en veriable....

håber det her funger.. og har gidet dig en lidt bæder over sigt over hvordan coden funger ;) har rodet lidt op i det vra til at få spat af og sener vil du takke mig :)


//Daniel
Avatar billede neonman Nybegynder
17. august 2005 - 11:08 #10
ups var faktsik et svar :)
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