Avatar billede spidr Nybegynder
26. januar 2003 - 12:02 Der er 7 kommentarer og
1 løsning

Har database og make user mangler login

Ville bare høre om der var nogen ideer til hvordan jeg ku lave selve login scriptet for det jeg har lavet laver fejl hele tiden :(

Min mysql database ser således ud

CREATE TABLE profiler2 (
  username varchar(50) NOT NULL,
  password varchar(50) NOT NULL,
  email varchar(80) NOT NULL,
  id int(11) DEFAULT '0' NOT NULL,
  status varchar(50) NOT NULL,
  age varchar(2) NOT NULL,
  home varchar(50) NOT NULL,
  weapon varchar(50) NOT NULL,
  map varchar(50) NOT NULL,
  quote varchar(50) NOT NULL,
  computer varchar(50) NOT NULL,
  ram varchar(50) NOT NULL,
  cpu varchar(50) NOT NULL,
  grafikcard varchar(50) NOT NULL,
  internet varchar(50) NOT NULL,
  monitor varchar(50) NOT NULL,
  pic varchar(50) NOT NULL,
  UNIQUE username (username)
);

og min make user således:

<?
  setcookie("coo_username","$username",time()+86400);
  setcookie("coo_password","$password",time()+86400);
  setcookie("coo_email","$email",time()+86400);
?>
<?
  if (!$username || !$password || !$email)
    {
      echo "Something is missing!!";
      exit();
    }
  else
    {
      include("db_ind.inc");
      $tjek = mysql_query("SELECT * FROM profiler2 WHERE username = '$username'");
      if (mysql_num_rows($tjek))
        {
          echo "The username is already taken!!";
          exit();
        }
      else
        {
          addslashes($username);
          addslashes($password);
          addslashes($email);
            addslashes($age);
            addslashes($home);
            addslashes($status);
            addslashes($weapon);
            addslashes($quote);
            addslashes($map);
            addslashes($computer);
            addslashes($ram);
            addslashes($cpu);
            addslashes($grafikcard);
            addslashes($internet);
            addslashes($monitor);
            addslashes($pic);
          include("db_ind.inc");
          $add_profil = mysql_query("INSERT INTO profiler2 (username, password, email, age, home, status, weapon, quote, map, computer, ram, cpu, grafikcard, internet, monitor, pic)" . "VALUES ('$username', '$password', '$email', '$age', '$home', '$status', '$weapon', '$quote', '$map', '$computer', '$ram', '$cpu', '$grafikcard', '$internet', '$monitor', '$pic')");
          echo "The username is maked!!";
        }
    }
?>
Avatar billede _darkstar_ Nybegynder
26. januar 2003 - 13:22 #1
Hvad er problemet? Kan du ikke lige skrive hvad fejlmeddelelse du får?

Deuden synes jeg at du skal skifte denne her:

$add_profil = mysql_query("INSERT INTO profiler2 (username, password, email, age, home, status, weapon, quote, map, computer, ram, cpu, grafikcard, internet, monitor, pic)" . "VALUES ('$username', '$password', '$email', '$age', '$home', '$status', '$weapon', '$quote', '$map', '$computer', '$ram', '$cpu', '$grafikcard', '$internet', '$monitor', '$pic')");

ud med denne her

echo("INSERT INTO profiler2 (username, password, email, age, home, status, weapon, quote, map, computer, ram, cpu, grafikcard, internet, monitor, pic)" . "VALUES ('$username', '$password', '$email', '$age', '$home', '$status', '$weapon', '$quote', '$map', '$computer', '$ram', '$cpu', '$grafikcard', '$internet', '$monitor', '$pic')");

og sende en komertar her med resultatet når du kører scriptet, så man kan se hvad for forespørgsel, der bliver kørt.
Avatar billede spidr Nybegynder
26. januar 2003 - 13:26 #2
Den bliver ved med at sige noget med den ikke kan sende en header mere eller såen noget :(

Here you can login

Warning: Cannot send session cookie - headers already sent by (output started at /customers/goog.dk/goog.dk/httpd.www/cs/godkend.php:4) in /customers/goog.dk/goog.dk/httpd.www/cs/godkend.php on line 56

Warning: Cannot send session cache limiter - headers already sent (output started at /customers/goog.dk/goog.dk/httpd.www/cs/godkend.php:4) in /customers/goog.dk/goog.dk/httpd.www/cs/godkend.php on line 56

Warning: Cannot add header information - headers already sent by (output started at /customers/goog.dk/goog.dk/httpd.www/cs/godkend.php:4) in /customers/goog.dk/goog.dk/httpd.www/cs/godkend.php on line 59

Siger den når jeg bruger det her login script
<?
include ("db_ind.inc");
$query = mysql_query("SELECT username, password FROM profiler2 WHERE username='$username' AND password='$password'");
if (mysql_num_rows($query) == "0"){
?>
<tr><td class=button3>Forkert Navn og/ell. Kodeord</td></tr>
<?
} else {
while($r = mysql_fetch_array($query)) {
$s_navn = $r["username"];
$s_password = $r["password"];
}
session_start();
session_register ("s_username");
session_register ("s_password");
header ("location: loggedin.php");
}
?>
Det virker at oprette bruger bare ikke at logge ind :(
har lavet 3 forskelige slags login systems nu og ingen af dem virkede :(
Ved ikke om det er mit skod webhotel for det virkede på det gamle der sage den aldrig den ikke kunne lave flere headers :(
Avatar billede _darkstar_ Nybegynder
26. januar 2003 - 13:36 #3
Så det du siger er, at det første script som du viste faktisk virker og at det er det ovenfor hvor problemet er?
Avatar billede spidr Nybegynder
26. januar 2003 - 13:45 #4
Hmmm mener at opret bruger og databasen virker ka bare ik finde ud af at lave et login script der virker :)
Avatar billede _darkstar_ Nybegynder
26. januar 2003 - 15:28 #5
Problemet er at dit script prøver at sende headers selv om at det allerede er igang med at sende selve dokumentet. Det kan man normalt ikke.

Du skal sætte

ob_start();

ind i starten af dit scirpt og

ob_end_flush();

i slutningen af dit script.

Se også http://www.php.net/manual/en/function.ob-start.php
Avatar billede _darkstar_ Nybegynder
26. januar 2003 - 15:28 #6
Det var et svar fwiw.
Avatar billede viewman Nybegynder
26. januar 2003 - 15:33 #7
Tak :)
men min gamle server kunne sagtens sende headers selv om den var igang med at sende documenetet :( skod den her ik kan :(
Avatar billede _darkstar_ Nybegynder
26. januar 2003 - 15:42 #8
Det er muligvis bare en gloabl indstilling, som er sat specielt på din gamle server. Normalt kan man altså ikke.
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