Avatar billede naquer Nybegynder
19. februar 2004 - 11:59 Der er 2 kommentarer og
1 løsning

Error i php kode

Hej

Jeg har følgende kode, til at mine besøgende kan oprette en bruger:

<html>
<head>
<title>Opret bruger</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>



<?php

$id = microtime();
$navn = $_REQUEST['navn'];
$efternavn = $_REQUEST['efternavn'];
$alder = $_REQUEST['alder'];
$brugernavn = $_REQUEST['brugernavn'];
$mail = $_REQUEST['mail'];
$password = $_REQUEST['password'];
$pw_repeat = $_REQUEST['pw_repeat'];

mysql_connect("localhost", "root");
mysql_select_db("news");

//Tjek værdi af inputs, sæt variabler derfter

$red = "class='red'";

$query_user = mysql_query("select * from users where brugernavn = '$brugernavn'")
or die('Mysql error');
$number = mysql_num_rows($query_user);

if($brugernavn == "") {

$fejl = "fejl";
$fejl_user = "<div id='red'>Feltet skal udfyldes</div>";
$red_user = $red;
} elseif($number > 0) {

$fejl = "fejl";
$fejl_user = "<div id='red'>Det valgte brugernavn er optaget</div>";
$red_user = $red;
} else {

$red_user = "";
$fejl_user = "";
}
$query_mail = mysql_query("select mail from users where mail = '$mail'")
or die('Mysql error');

$number_mail = mysql_num_rows($query_mail);

if($number_mail > 0) {

$fejl = "fejl";
$fejl_mail = "<div id='red'>Den valgte E-mail adresse bliver allerede brugt af en anden bruger</div>";
$red_mail = $red;
} else {

$red_mail = "";
$fejl_mail = "";
}

if($alder < 15) {

$fejl_alder = "<div id='red'>Du skal være 15 år, eller derover for at oprette en bruger hos Slumkum</div>";
$fejl = "fejl";
$red_alder = $red;
} else {

$red_mail = "";
$fejl_alder = "";
}

if($password != $pw_repeat) {

$fejl_pw = "<div id='red'>De to indtastede kodeord er ikke identiske</div>";
$fejl = "fejl";
$red_pw = $red;
} else {

$red_pw = "";
$fejl_pw = "";
}

//Hvis isset fejl

if(isset($fejl)) {
echo "<form action='opret_check.php' method='post'>";
echo "<p><div id='red'>Brugeren kunne ikke oprettes. Fejlene står beskrevet med rødt længere nede</div>";
echo "Navn:<br /><input type='text' name='navn'><br />";
echo "Efternavn: *<br /><input type='text' name='efternavn'><br />";
echo "Alder: *<br /><input $red_alder type='text' name='alder'>  $fejl_alder<br />";
echo "Ønsket brugernavn: *<br /><input $red_user type='text' name='brugernavn'>  $fejl_user<br />";
echo "E-post: *<br /><input $red_mail type='text' name='mail'>  $fejl_mail<br />";
echo "Adgangskode: *<br /><input $red_pw type='password' name='password'>  $fejl_pw<br />";
echo "Gentag adgangskode: *<br /><input $red_pw type='password' name='pw_repeat'>  $fejl_pw<p />";
echo "<input type='submit' name='opret_user' value='Opret'>";
echo "</form> ";
echo "<p>OBS: felter med * skal udfyldes</p>";

//Variabler unsettes

unset($fejl);
unset($red_alder);
unset($fejl_alder);
unset($red_user);
unset($fejl_user);
unset($red_mail);
unset($fejl_mail);
unset($red_pw);
unset($fejl_pw);

} else {

mysql_query("insert into users (id, brugernavn, password, pw_repeat, navn, efternavn, mail, alder) VALUES ('$id', '$brugernavn', '$password', '$pw_repeat', '$navn', '$efternavn', '$mail', '$alder')")
or die('Mysql error');

include('check_none.php');

echo "Bruger $brugernavn er oprettet";
}

?>

</body>

</html>


Scriptet virker fint, så længe der er en fejl i scriptet, men hvis der ingen fejl er i scriptet, og brugeren skal indsættes i min database, skriver den følgende:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/mikkel/webs/login/check_none.php on line 25
Bruger BRUGERNAVN er oprettet

Brugeren og alle de oplysninger han har indtastet, bliver ganske vist sat ind i databasen, men jeg kan ikke leve med at der kommer en fejl medd. hver gang der er nogen der prøver at oprette en bruger. Hvad er det der forudsager fejlmeddelsen, og hvordan kan jeg få den væk?
Jeg har kigget i linje 25 men den er jo bare empty!

I må i øvrigt gerne komme med ideer til hvordan scriptet kunne gøres smartere.

Mvh. Mikkel
Avatar billede erikjacobsen Ekspert
19. februar 2004 - 12:24 #1
Du skal kigge i check_none.php på linie 25.
Avatar billede naquer Nybegynder
19. februar 2004 - 13:00 #2
ok tak.
Avatar billede naquer Nybegynder
17. august 2011 - 20:43 #3
lukket
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