Avatar billede noodrem Nybegynder
19. februar 2004 - 16:41 Der er 10 kommentarer og
1 løsning

PHP fejlmeddelse

Jeg modtager følgende fejlmedd:


Parse error: parse error, unexpected T_STRING, expecting ']' in /home/mikkel/webs/login/opret_check.php on line 116

i følgende script:

<?php
session_start();
?>
<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'];
$_SESSION['navn'] = $navn;
$_SESSION['efternavn'] = $efternavn;

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

//Fejl variabler sættes

$red = "class='red'";
$udfyld = "<div id='red'>Feltet skal udfyldes</div>";

//Værdier til brugernavn variabler sættes
$query_user = mysql_query("select * from users where brugernavn = '$brugernavn'")
or die('Mysql error');
$number = mysql_num_rows($query_user);

if($brugernavn == "") {
  $_SESSION['user'] = "";
  $fejl = "fejl";
  $fejl_user = $udfyld;
  $red_user = $red;
} elseif($number > 0) {
  $fejl = "fejl";
  $fejl_user = "<div id='red'>Det valgte brugernavn er optaget</div>";
  $red_user = $red;
  $_SESSION['user'] = $brugernavn;
} else {
  $_SESSION['user'] = $brugernavn;
  $red_user = "";
  $fejl_user = "";
}

//Værdier til mail variabler sættes
$query_mail = mysql_query("select mail from users where mail = '$mail'")
or die('Mysql error');

$number_mail = mysql_num_rows($query_mail);

if($mail == "") {
  $fejl_mail = $udfyld;
  $fejl = "fejl";
  $red_mail = $red;
  $_SESSION['mail'] = "";

} elseif($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;
  $_SESSION['mail'] = "";
} else {
  $_SESSION['mail'] = $mail;
  $red_mail = "";
  $fejl_mail = "";
}

//Variabler til alder sættes
if($alder == "") {
  $fejl_alder = $udfyld;
  $fejl = "fejl";
  $red_alder = $red;
  $_SESSION['alder'] = "";
} elseif($alder < 15) {
  $_SESSION['alder'] = $alder;
  $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 {
  $_SESSION['alder'] = $alder;
  $red_mail = "";
  $fejl_alder = "";
}

//Variabler til password sættes
if($password == "") {
  $fejl_pw = $udfyld;
  $fejl = "fejl";
  $red_pw = $red;
  $_SESSION['password'] = "";
} elseif($password != $pw_repeat) {
  $fejl_pw = "<div id='red'>De to indtastede kodeord er ikke identiske</div>";
  $red_pw = $red;
  $fejl = "fejl";
  $_SESSION['password'] = $password;
} else {
  $fejl_pw = "";
  $red_pw = "";
  $_SESSION['password] = $password;

//Variabler til pw_repeat sættes
} if($pw_repeat == "") {
  $fejl_repeat = $udfyld;
  $fejl = "fejl";
  $red_repeat = $red;
  $_SESSION['pw_repeat'] = "";
}
if($pw_repeat != $password) {
  $fejl_repeat = "<div id='red'>De to indtastede kodeord er ikke identiske</div>";
  $fejl = "fejl";
  $red_repeat = $red;
  $_SESSION['pw_repeat'] = $pw_repeat;
} else {
  $_SESSION['pw_repeat'] = $pw_repeat;
  $red_repeat = "";
  $fejl_repeat = "";
}

//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' value='{$_SESSION['navn']}'><br />";
  echo "Efternavn:<br /><input type='text' name='efternavn' value='{$_SESSION['efternavn']}'><br />";
  echo "Alder: *<br /><input $red_alder type='text' name='alder' value='{$_SESSION['alder']}'>  $fejl_alder<br />";
  echo "Ønsket brugernavn: *<br /><input $red_user type='text' name='brugernavn' value='{$_SESSION['user']}'>  $fejl_user<br />";
  echo "E-post: *<br /><input $red_mail type='text' name='mail' value='{$_SESSION['mail']}'>  $fejl_mail<br />";
  echo "Adgangskode: *<br /><input $red_pw type='password' name='password' value='{$_SESSION['password']}'>  $fejl_pw<br />";
  echo "Gentag adgangskode: *<br /><input $red_repeat type='password' name='pw_repeat' value='{$_SESSION['pw_repeat']}'>  $fejl_repeat<p />";
  echo "<input type='submit' name='opret_user' value='Opret'>";
  echo "</form> ";
  echo "<p>OBS: felter med * skal udfyldes</p>";

//Variabler unsettes
  unset($fejl, $red_alder, $fejl_alder, $red_user, $fejl_user, $red_mail, $fejl_mail, $red_pw, $fejl_pw, $fejl_repeat, $red_repeat);
} else {
//Hvis ingen fejl, bliver bruger oprettet
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');
  echo "Bruger $brugernavn er oprettet";
}
?>

</body>
</html>

Linje 116 ser således ud:

$_SESSION['pw_repeat'] = "";

Og der mangler da ingen ]
Avatar billede jakobclausen Nybegynder
19. februar 2004 - 16:44 #1
Undskyld spam!

Hvad betyder det når du skriver sådan:
value='{$_SESSION['mail']}'

Tænker på de  {}??
Avatar billede hmortensen Nybegynder
19. februar 2004 - 16:48 #2
Det er en måde at indsætte variabler på
Avatar billede noodrem Nybegynder
19. februar 2004 - 17:28 #3
?  Mit problem er at jeg får følgende fejlmedd:

Parse error: parse error, unexpected T_STRING, expecting ']' in /home/mikkel/webs/login/opret_check.php on line 116

Og på linje 116 står der:

$_SESSION['pw_repeat'] = "";

Og der kan jeg da ikke se at der mangler nogen ]  så er der nogen der ved hvorfor den siger det og hvad fejlen kan skyldes?
Avatar billede muddi Praktikant
19. februar 2004 - 18:11 #4
Er noodrem den samme som naquer?
Der er oprettet spørgsmål om den samme kode, men brugerne ser umiddelbart forskellige ud:

Se evt: http://www.eksperten.dk/spm/467376

Er der nogen der kan forklare sammenhængen?!

/Morten
Avatar billede noodrem Nybegynder
19. februar 2004 - 18:30 #5
Jeg er hans lillebror og vi laver det sammen :)    Havde ik set han havde postet det også, vi sidder på hver vores værelse
Avatar billede noodrem Nybegynder
19. februar 2004 - 19:20 #6
Ingen der kan hjælpe?
Avatar billede xyborx Nybegynder
20. februar 2004 - 10:19 #7
Jeg tror fejlen liger her:
$_SESSION['password] = $password;

Der mangler en appostrof:
$_SESSION['password'] = $password;
Avatar billede xyborx Nybegynder
20. februar 2004 - 10:20 #8
Det er umiddelbart inden
//Variabler til pw_repeat sættes
Avatar billede muddi Praktikant
20. februar 2004 - 11:03 #9
noodrem >> Det er bare i orden :o)
Avatar billede noodrem Nybegynder
25. marts 2004 - 18:44 #10
eftersom spørgsmålet har været åbent for lang tid, og ingen har ville lægge et svar, gør jeg det nu. Håber det er ok, eftersom man normalt ikke bør give sig selv point når der er svaret på ens spørgsmål :)
Avatar billede muddi Praktikant
26. marts 2004 - 08:48 #11
det går nok ;)
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

IT-JOB