Avatar billede curtain Nybegynder
06. februar 2004 - 20:00 Der er 1 kommentar

Problemer med php script

Hej

Jeg har lavet følgende script til at oprette en bruger:

<?php
session_start();

require("variabler.php");

$_SESSION['opret'] = $_REQUEST['opret'];
$_SESSION['brugernavn'] = $_REQUEST['brugernavn'];
$_SESSION['password'] = $_REQUEST['password'];
$opret = $_SESSION['opret'];

if(empty($opret)) {
echo "Du skal aktivere dette script via formen opret.php";
echo "<br /><a href='opret.php'>Klik her for at oprette bruger</a>";
} else {
$brugernavn = $_SESSION['brugernavn'];
$password = $_SESSION['password'];

if(empty($brugernavn) OR empty($password)) {
echo "Et af felterne er ikke udfyldt.";
} else {
mysql_connect($mysql_host, $mysql_user);
mysql_select_db($mysql_db);

$result = mysql_query("select brugernavn from users where brugernavn = '$brugernavn'")
or die('Fejl i databasen'");
$number = mysql_num_rows($result);
if($number > 0) {
echo "Brugernavnet $brugernavn er optaget";
} else {
mysql_query("insert into users (brugernavn, password) VALUES ('$brugernavn','$password')")
or die('Fejl i databasen');
echo "Bruger $brugernavn er oprettet";
echo "<br /><a href='login.php'>Klik her for at logge ind</a>";
}
}
}
?>

Formularen ser således ud:

<html>
<head>
  <title>Login system</title>
</head>

<body>
<form action="opret-ok.php" method="post">

Brugernavn: <input type="text" name="brugernavn"><br>
Password: <input type="password" name="password"></br>
<input type="submit" value="opret">
</form>
</body>

</html>

og variabel.php filen ser således ud:

<?php

$mysql_host = "localhost";
$mysql_user = "root";
$mysql_db = "login";

?>

Mit problem er så at når jeg trykker på opret linket og bliver sendt til opret php scriptet modtager jeg følgende meddelse:

Parse error: parse error, unexpected '\"' in /home/mikkel/webs/Database/opret-ok.php on line 25

Hvis jeg så sletter den dobbeltquote som er i:

$result = mysql_query("select brugernavn from users where brugernavn = '$brugernavn'")

så linien i stedet kommer til at se sådan ud:

$result = mysql_query("select brugernavn from users where brugernavn = '$brugernavn')

Får jeg følgende meddelse:

Du skal aktivere dette script via formen opret.php
Klik her for at oprette bruger

Som jo kun burde komme hvis der ikke var trykket på opret knappen. Hvad er det jeg gør forkert?
Avatar billede babafisk Nybegynder
25. februar 2004 - 22:43 #1
Lidt ideer.

1. Prøv at hente variablerne med $_POST['opret'] f.eks.
2. sql'en skal se sådan ud: $result = mysql_query("select brugernavn from users where brugernavn = '".$brugernavn."'")

Prøv det ;o)
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