får du ikke denne fejl også ??
Parse error: syntax error, unexpected '<', expecting end of file in
hvilke er pga du har
<?php
<?php
i ln 1 og 2, den ene linje skal slettes
scriptet virker som det skal, tested med denne tabel
CREATE TABLE `login_details` (
`id` int(11) NOT NULL,
`password` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`access_level` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
INSERT INTO `login_details` (`id`, `password`, `access_level`) VALUES
(1, '81dc9bdb52d04dc20036dbd8313ed055', 0);
ALTER TABLE `login_details`
ADD PRIMARY KEY (`id`);
ALTER TABLE `login_details`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;COMMIT;
her kan jeg logge ind med uname = 1 og passworde = 1234, med dit script.
jeg ville lave en collonne mere i tabellen, til username, så brugeren ikke skal kende sit id, og rette
"SELECT * FROM login_details WHERE
id=? && password=?"
til
"SELECT * FROM login_details WHERE
username=? && password=?"
så tabellen ser sådan ud
CREATE TABLE `login_details` (
`id` int(11) NOT NULL,
`username` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`password` varchar(255) COLLATE utf8_danish_ci NOT NULL,
`access_level` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;
INSERT INTO `login_details` (`id`, `username`, `password`, `access_level`) VALUES
(1, 'ronny', '81dc9bdb52d04dc20036dbd8313ed055', 0);
ALTER TABLE `login_details`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `username` (`username`);
ALTER TABLE `login_details`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;COMMIT;
her kan jeg logge ind med uname = ronny og passworde = 1234, med dit script.
jeg ville bruge en mere opdaterede hashing algoritme end md5, da md5 er noget forældet.
det var oppe og vende i
http://www.udvikleren.dk/forum/47211/kryptere-passwords-i-eksisterende-database/der anvendte man så bare mysqli og API hvor du anvender det nyere PDO API
så kig på disse link
http://php.net/manual/en/function.password-hash.phphttp://php.net/manual/en/function.password-verify.phpnoget andet jeg sikkert ville lave om er
if ($access_level == 0) {
header("Location:user.html");
} else if ($access_level == 1) {
header("Location:admin.html");
}
hvilke jeg ville lave en en switch, da det er nemmere at vedligeholde.
$site="404.html";
switch($access_level){
case 0: $site = "user.html"; break;
case 1: $site = "admin.html"; break;
}
header("Location:".$site);