Avatar billede scoty Nybegynder
13. december 2002 - 12:30 Der er 28 kommentarer og
1 løsning

Login script virker ikke... www.Sukos.dk

Jeg har downloaded dette login script.
http://www.sukos.dk/php/login/mysql/mysql-login.zip

Har lavet databasen:
CREATE TABLE brugere (
  id tinyint(4) NOT NULL auto_increment,
  navn varchar(12) NOT NULL default '',
  password tinytext NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;

tilføjet en testbruger.

Men når jeg skal køre det får jeg følgende fejl:
Warning: open(/tmp\sess_499c3c1e42fc908f54031f037df763d4, O_RDWR) failed: No such file or directory (2) in c:\web\apache\htdocs\mysql-login\dologin.php on line 3

Warning: Cannot add header information - headers already sent by (output started at c:\web\apache\htdocs\mysql-login\dologin.php:3) in c:\web\apache\htdocs\mysql-login\dologin.php on line 25

Warning: open(/tmp\sess_499c3c1e42fc908f54031f037df763d4, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


Hvordan får jeg det til at virke.?
Avatar billede chries Nybegynder
13. december 2002 - 12:35 #1
du kører sikkert windows :-)

du skal sætte din session folder (session.save_path) op i din php.ini
(f.eks til C:\temp)
Avatar billede scoty Nybegynder
13. december 2002 - 12:36 #2
Ja jeg køre Win XP
Avatar billede scoty Nybegynder
13. december 2002 - 12:37 #3
Hvad sker der ved dette som -->chries skriver
Avatar billede lauer Nybegynder
13. december 2002 - 12:38 #4
det er fordi php skal have et sted at gemme sessiondataerne.
og det skal være f.eks. c:\temp ...

lige nu står den til at det er /tmp, hvilket ikke findes på en windows maskine.
Avatar billede chries Nybegynder
13. december 2002 - 12:39 #5
det er fordi session i php vil gemme data for hver bruger i folderen "/tmp" der ikke exsisterer i windows. derfor skal du opconfigurer  den til en folder som eksisterer så den kan gemme disse oplysninger.
Avatar billede scoty Nybegynder
13. december 2002 - 12:41 #6
Nu har jeg gjort det, men får følgende vist nu:

Warning: open(/tmp\sess_e6543319ae4041881e3ac719009021ec, O_RDWR) failed: No such file or directory (2) in c:\web\apache\htdocs\mysql-login\tjeklogin.php on line 2

Warning: Cannot add header information - headers already sent by (output started at c:\web\apache\htdocs\mysql-login\tjeklogin.php:2) in c:\web\apache\htdocs\mysql-login\tjeklogin.php on line 4

Hej !

Du er på side1
side1
side2
side3
Download zip



Warning: open(/tmp\sess_e6543319ae4041881e3ac719009021ec, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Avatar billede chries Nybegynder
13. december 2002 - 12:42 #7
har du reloaded apache ?
Avatar billede chries Nybegynder
13. december 2002 - 12:42 #8
mener genstartet hvad du nu har af webserver :-)
Avatar billede scoty Nybegynder
13. december 2002 - 12:46 #9
Jeg har apache...
Jeg ændrede i den php.ini der ligger i c:\windows

Efter genstart:
får jeg præcis sammen fejl som ovenover

altså siden vises, men med fejl meddelser i top og bund
Avatar billede chries Nybegynder
13. december 2002 - 12:49 #10
sikker på du har rettet i den rigtige php.ini (hvis du nu har flere ligendede ?
-> open(/tmp\sess_

der stadig ud til at den tror det er /tmp.

http://www.alt-php-faq.org/local/100/
Avatar billede chries Nybegynder
13. december 2002 - 12:53 #11
header tingen skyldes at du har data i din fil før kaldet til header().

f.eks:
<b>velkommen til min side<b>
<?php
  header( "feofmoe" );
?>
Avatar billede scoty Nybegynder
13. december 2002 - 12:56 #12
; Argument passed to save_handler.  In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = C:\temp

Sådan ser min c:\windows\php.ini ud nu.

Men fejlen er stadigvæk den samme. Jeg har sikret mig at jeg har en mappe c:\temp.
Avatar billede avminarm Juniormester
13. december 2002 - 12:58 #13
Hiver du din testbruger ud via MD5 - det kan være fejlen
Avatar billede avminarm Juniormester
13. december 2002 - 13:00 #14
HUSK altid genstart efter ændring af php.ini
Avatar billede chries Nybegynder
13. december 2002 - 13:00 #15
hmmm, jeg have det samme problem, men mit løste sig da jeg rettede min c:\windows\php.ini
Avatar billede scoty Nybegynder
13. december 2002 - 13:01 #16
ja det mener jeg se her:
dette er den fil formen på login.php 'poster til':

<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = md5($_POST['password']);


//skift selv bruger og pass til databasen.
$db = mysql_connect("localhost", "test", "test") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db("login", $db) or die ("Kunne ikke vælge databasetabel");

$tjek = mysql_query("SELECT navn, password FROM users WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];


header("Location:side1.php");
exit;
}else{

header("Location:logind.php?error=fejl");
exit;
}

}else{

header("Location:logind.php");
exit;
}

?>
Avatar billede avminarm Juniormester
13. december 2002 - 13:05 #17
ok sætter du pass ind som krypteret med MD5 ? - altså den testbruger DU selv har oprettet
Avatar billede chries Nybegynder
13. december 2002 - 13:05 #18
ok, din header ting er nok en følge fejl af session_start();. Den skriver en den warning ud, så der kommer data før din header() komando.

men jeg holder på at php ikke læser din ini fil :-)
Avatar billede scoty Nybegynder
13. december 2002 - 13:06 #19
JA: her er eks.
INSERT INTO users VALUES (1, 'test', md5('test'));
Avatar billede avminarm Juniormester
13. december 2002 - 13:12 #20
du skal: INSERT INTO users VALUES ('', 'test', md5('test'));
da ID feltet er auto_increment

Prøv at kopiere din php.ini over i din windows/system mappe evt. system32
Avatar billede avminarm Juniormester
13. december 2002 - 13:14 #21
sorry - havde glemt at sukos selv sætter test ind med INSERT INTO users VALUES (1, 'test', md5('test'));, men det behøves ikke ;-)
Avatar billede scoty Nybegynder
13. december 2002 - 13:24 #22
Nu har jeg prøvet at ligge php.ini både i:
c:\windows
c:\windows\system
c:\windows\system32
Genstartet apache serveren men virker heller ikke.

Min php4ts.dll fil ligger i c:\windows hvis det hjælper nogen.

Jeg har prøvet at højre klikke på mappen c:\temp, det står som skrive beskyttet, men når jeg klikker den af, og laver den ikke skrivebeskytte. Laver den sig selv default skrivebeskyttet igen.
Avatar billede avminarm Juniormester
13. december 2002 - 13:27 #23
genstart PC :-)
Avatar billede scoty Nybegynder
13. december 2002 - 13:32 #24
efter genstart af PC, men php ini liggende disse tre steder:
c:\windows
c:\windows\system
c:\windows\system32

virkede tingene heller ikke. Desværre. :-( hvad kan der være galt
Avatar billede chries Nybegynder
13. december 2002 - 13:59 #25
jeg har gjordt følgende for at få det til at køre på min:
(cgi-bin metoden) -> http://www.php.net/manual/en/install.apache2.php

kopieret php.ini over i c:\windows og dll'erne i system32.
og lavet ændringen i php.ini.

måske er der hjælp at hente her:
http://www.php.net/manual/en/install.windows.php#install.windows.manual
Avatar billede chries Nybegynder
13. december 2002 - 14:01 #26
Avatar billede scoty Nybegynder
13. december 2002 - 15:14 #27
Forsætte spm: http://www.eksperten.dk/spm/294401 med dobbelt point.
Avatar billede chries Nybegynder
13. december 2002 - 15:16 #28
har du prøvet at søge efter php.ini på hele HD'en ? for at se om den ikke også ligger et uventet sted ?
Avatar billede scoty Nybegynder
13. december 2002 - 15:23 #29
har kun en php.ini fil liggende og det er i c:\windows
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