Avatar billede webmazter Nybegynder
16. maj 2006 - 08:20 Der er 34 kommentarer og
1 løsning

hvad er der i vejen!

den bliver ved med at melde fejl!
<?
session_start(users);

$db = mysql_connect("localhost", "nixx_dk","gbs76mqv");
    mysql_select_db("users", $db);
                   
$krypteret_password = md5($password);
   
$findes = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());

if (mysql_num_rows($findes) > 0){
    $userid = mysql_query("SELECT nr FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
    $_SESSION['userid'] = $userid;
    $_SESSION['brugernavn'] = $brugernavn;
    echo 'Du er logget ind med brugerid <b>'.$_SESSION['userid'].'</b> og brugernavnet <b>'.$_SESSION['brugernavn'].'</b>';
    }
        elseif (mysql_num_rows($findes) < 1){
            echo 'Brugeren findes desværre ikke. Kontakt <a href="mailto:admin@nixx.dk">webmasteren</a> for at blive oprettet!';
            echo "Hvad så".$_SESSION['brugernavn']."... Går det?";
        } else {
    $msg = "Din login informationer var ikke korrekte. Forsøg venligst igen.";
    header("Location: /logind.htm?msg=".$msg);
    exit;
    }
?>
Avatar billede heha2003 Nybegynder
16. maj 2006 - 08:24 #1
Hmm hvilken fejl får du?
Avatar billede webmazter Nybegynder
16. maj 2006 - 08:26 #2
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php:9) in /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php on line 131

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php:9) in /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php on line 131
No Database Selected
Avatar billede webmazter Nybegynder
16. maj 2006 - 08:34 #3
er der en der kan løse mit lille problem her?
Avatar billede ljm21 Praktikant
16. maj 2006 - 08:35 #4
De to første fejl skyldes at du skriver noget tekst eller lignende til browseren før du skriver din session. Det går ikke. Hvis du placerer dette script øverst i dit program, så burde det virke.

Den sidste fejl omhandler database. Har du styr på store/små bogstaver?

Lars
Avatar billede webmazter Nybegynder
16. maj 2006 - 08:36 #5
ikke helt er nybegynder indenfor faget php/sql
Avatar billede webmazter Nybegynder
16. maj 2006 - 08:36 #6
men hvis du kan så må du gerne vise hvad jeg skal ændre!
Avatar billede ljm21 Praktikant
16. maj 2006 - 08:41 #7
Alt der kode du har vist herinde skal være først i dit script. I øjeblikket er det i følge din fejlmelding på blandt andet linie 131. Det skal helt op i toppen.

Mht. databasen skal du kontrollere dit brugernavn og password, samt databasenavn. PHP kan gost se forskel på store og små bogstaver, og derfor er "users" ikke det samme som "Users".
Avatar billede webmazter Nybegynder
16. maj 2006 - 08:45 #8
har lgie prøvet at slette alt anden end koden inde på siden så nu er der kun php koden, men nu skriver den dette:
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /customers/nixx.dk/nixx.dk/httpd.www/logind_check.php on line 5
No Database Selected
Avatar billede ljm21 Praktikant
16. maj 2006 - 08:53 #9
Prøv at rette:

$db = mysql_connect("localhost", "nixx_dk","gbs76mqv");
    mysql_select_db("users", $db);

til:

$db = mysql_connect("localhost", "nixx_dk","gbs76mqv");
if ($link) {
    mysql_select_db("users", $db);
}else{
  die('Could not connect: ' . mysql_error());
}

Så burde du få en melding om hvad der er galt :-).

Lars
Avatar billede webmazter Nybegynder
16. maj 2006 - 09:00 #10
<?
session_start(users);

$db = mysql_connect("localhost", "nixx_dk","nicolai");
if ($link) {
    mysql_select_db("nixx_dk", $users);
}else{
  die('Could not connect: ' . mysql_error());
}
                   
$kodeord = md5($kodeord);
   
$findes = mysql_query("SELECT * FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());

if (mysql_num_rows($findes) > 0){
    $id = mysql_query("SELECT nr FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
    $_SESSION['id'] = $id;
    $_SESSION['brugernavn'] = $brugernavn;
        $_SESSION['kodeord'] = $kodeord;
    echo 'Du er logget ind med brugerid <b>'.$_SESSION['id'].'</b> og brugernavnet <b>'.$_SESSION['brugernavn'].'</b>';
    }
        elseif (mysql_num_rows($findes) < 1){
            echo 'Brugeren findes desværre ikke. Kontakt <a href="mailto:admin@nixx.dk">webmasteren</a> for at blive oprettet!';
            echo "Hvad så".$_SESSION['brugernavn']."... Går det?";
        } else {
    $msg = "Din login informationer var ikke korrekte. Forsøg venligst igen.";
    header("Location: /logind.htm?msg=".$msg);
    exit;
    }
?>

kan du ikke prøve at få lortet til at virke, for skal nemlig til eksame nu, så har ikke lige tid, men hvis du vil lave det så det virker så skal du nok få nogle flere point!
Avatar billede ljm21 Praktikant
16. maj 2006 - 09:17 #11
Jeg vil ikke lave det for dig. Men jeg vil gerne hjælpe dig videre, når du kommer hjem fra eksamen. Held og lykke :-).
Avatar billede webmazter Nybegynder
16. maj 2006 - 09:19 #12
okaii kodn ser altså sådan ud som jeg lige har indsat! hvad kan der være i vejen med den?
min database hedder: nixx_dk
og tablen hedder: users
og det er localhost
hvad kan problemet være?
Avatar billede webmazter Nybegynder
16. maj 2006 - 09:20 #13
selve sql tablen ser sådan her ud:

CREATE TABLE `users` (
  `id` int(4) NOT NULL auto_increment,
  `brugernavn` varchar(12) NOT NULL default '',
  `kodeord` varchar(33) NOT NULL default '',
  `koen` enum('han','hun') NOT NULL default 'han',
  `STATUS` enum('','admin') NOT NULL default '',
  `navn` varchar(20) NOT NULL default '',
  `mail` varchar(60) NOT NULL default '',
  `mail_off` enum('','on') NOT NULL default '',
  `website` varchar(60) NOT NULL default '',
  `website_hits` int(5) NOT NULL default '0',
  `mobilnr` int(8) NOT NULL default '0',
  `mobilnr_off` enum('','on') NOT NULL default '',
  `Landsdel` varchar(40) NOT NULL default '',
  `foedt` int(10) NOT NULL default '0',
  `hojde` int(3) NOT NULL default '0',
  `vaegt` int(3) NOT NULL default '0',
  `fritekst` text NOT NULL,
  `banned` int(11) NOT NULL default '0',
  `firstip` varchar(50) NOT NULL default '',
  `lastinip` varchar(50) NOT NULL default '',
  `uin` int(20) NOT NULL default '0',
  `seek` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `navn` (`navn`)
) TYPE=MyISAM COMMENT='mastercode varchar(32) NOT NULL default ''0'',' AUTO_INCREMENT=2 ;
Avatar billede webmazter Nybegynder
16. maj 2006 - 09:49 #14
nogen der er online?
Avatar billede ljm21 Praktikant
16. maj 2006 - 09:55 #15
Jeg er skam online, men laver lidt andet også :-)
For du ikke en mere detaljeret fejlmelding om hvad databasefejlen er?
Koden ser umiddelbart rigtig ud, så jeg tror fejlen ligger i brugernavn, databasenavn eller password.
Avatar billede webmazter Nybegynder
16. maj 2006 - 09:58 #16
altså efter jeg har indsat den kode du gav mig så skriver den bare Could not connect:
Avatar billede webmazter Nybegynder
16. maj 2006 - 09:59 #17
så det må jo ligge i oprettelse til databasen
Avatar billede ljm21 Praktikant
16. maj 2006 - 10:03 #18
Du mangler vist også at indsætte dit password til databasen:
$db = mysql_connect("host", "user","password");
if ($link) {
    mysql_select_db("database", $db);
}else{
  die('Could not connect: ' . mysql_error());
}
Avatar billede webmazter Nybegynder
16. maj 2006 - 10:04 #19
altså
$db = mysql_connect("localhost", "nixx_dk","******");
if ($link) {
    mysql_select_db("links", $links);
}else{
  die('Could not connect: ' . mysql_error());
}
Avatar billede ljm21 Praktikant
16. maj 2006 - 10:06 #20
jep
Avatar billede ljm21 Praktikant
16. maj 2006 - 10:07 #21
næh... du skal bruge den samme variabel for din mysql-handle. Du bruger i øjeblikket først $db, så $link, og til sidst $links. Det skal naturligvis være den samme hele vejen :-)
Avatar billede webmazter Nybegynder
16. maj 2006 - 10:08 #22
dette localhost er det rigtigt for dn virker stadig ikke
Avatar billede webmazter Nybegynder
16. maj 2006 - 10:09 #23
sådan her:

$links = mysql_connect("localhost", "nixx_dk","******");
if ($link) {
    mysql_select_db("links", $links);
}else{
  die('Could not connect: ' . mysql_error());
}
Avatar billede webmazter Nybegynder
16. maj 2006 - 10:12 #24
$links = mysql_connect("localhost", "nixx_dk","******");
if ($links) {
    mysql_select_db("links", $links);
}else{
  die('Could not connect: ' . mysql_error());
}
Avatar billede ljm21 Praktikant
16. maj 2006 - 10:13 #25
den sidste er rigtig
Avatar billede webmazter Nybegynder
16. maj 2006 - 10:15 #26
No databse selected
Avatar billede ljm21 Praktikant
16. maj 2006 - 10:17 #27
Det er fordi du har skrevet det forkerte navn til din database.

mysql_select_db("links", $links);

skal være
mysql_select_db("users", $links);
Avatar billede webmazter Nybegynder
16. maj 2006 - 10:20 #28
ups det er fordi jeg sidder og arbejde med et link system ved siden af logind systemet
mener du så ikke det skal være sådan her:

$links = mysql_connect("localhost", "nixx_dk","nicolai");
if ($links) {
    mysql_select_db("users", $users);
}else{
  die('Could not connect: ' . mysql_error());
}

ps. den virker heller ikke!
Avatar billede ljm21 Praktikant
16. maj 2006 - 10:23 #29
Jeg mener det skal være:

$links = mysql_connect("localhost", "nixx_dk","nicolai");
if ($links) {
    mysql_select_db("users", $links); //"users" er navnet på databasen, $links er
                                      //navnet på handlen til databaseforbindelsen
}else{
  die('Could not connect: ' . mysql_error());
}
Avatar billede webmazter Nybegynder
16. maj 2006 - 12:19 #30
hvad er det lige det der $links står for?
Avatar billede ljm21 Praktikant
16. maj 2006 - 12:22 #31
$links er dit handle til databasen. Du definerer det her:
$links = mysql_connect("localhost", "nixx_dk","nicolai");
Dvs at $links indeholder forbindelsen til databasen, så du skal bruge den hvergang du vil noget med databasen. Du kan kalde den hvad du har lyst til, blot du bruger det samme navn hele vejen igennem.
Avatar billede olebole Juniormester
16. maj 2006 - 16:29 #32
<ole>

Nej, man behøver ikke bruge $links hvergang, man skal have fat i DB'en  :)

I PHP bruges altid den senest oprettede DB-connection. Er der kun oprettet én, behøver man ikke eksplicit angive databaseforbindelsen ... den er på forhånd givet implicit  ;o)

/mvh
</bole>
Avatar billede webmazter Nybegynder
16. maj 2006 - 20:13 #33
skal vi få afsluttet det her?
koden ser sådan her ud indtil videre:

<?
mysql_connect("localhost", "nixx_dk", "nicolai")or die(mysql_error());
mysql_select_db("nixx_dk")or die(mysql_error());
                   
$kodeord = md5($kodeord);
   
$findes = mysql_query("SELECT * FROM users WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());

if (mysql_num_rows($findes) > 0){
    $id = mysql_query("SELECT nr FROM users WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
    $_SESSION['brugernavn'] = $brugernavn;
        $_SESSION['kodeord'] = $kodeord;
    echo 'Du er logget ind med brugerid <b>'.$_SESSION['id'].'</b> og brugernavnet <b>'.$_SESSION['brugernavn'].'</b>';
    }
        elseif (mysql_num_rows($findes) < 1){
            echo 'Brugeren findes desværre ikke. Kontakt <a href="mailto:admin@nixx.dk">webmasteren</a> for at blive oprettet!';
            echo "Hvad så".$_SESSION['brugernavn']."... Går det?";
        }
                else {
    $msg = "Din login informationer var ikke korrekte. Forsøg venligst igen.";
    header("Location: /logind.htm?msg=".$msg);
    exit;
    }
?>

og når jeg prøver at logge ind skriver den bare dette:

Brugeren findes desværre ikke. Kontakt webmasteren for at blive oprettet!Hvad så... Går det?
Avatar billede webmazter Nybegynder
16. maj 2006 - 21:18 #34
er spørgsmålet gået dødt?
Avatar billede webmazter Nybegynder
16. maj 2006 - 23:10 #35
opretter nyt spørgsmål!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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