PHP Log-in

Tags:    php

Jeg er igang med at lave et log-in system med PHP. jeg har hentet nogle filer, fra hjemmesiden; http://hjemmesideskolen.dk/scripts/phpmysql/

Jeg har allerede oprettet en tabel i min database med denne kode:

CREATE TABLE admin (
id int(10) unsigned auto_increment,
user varchar(16),
code varchar(16),
PRIMARY KEY (id)
)

Jeg har skulle ændre nogle oplysninger, inden jeg lagde det hele ind i min ftp-server.

De filer jeg har lagt ind på severen er:

mysql.txt - kode til oprettelse af tabel i MySql-database
default.php - formular til login
login.php - php-script, der tjekker adgangsrettigheder
forside.php - skabelon til alle password-beskyttede sider
side2.php - ekstra skabelon, så du straks kan afprøve login og sideskift
logout.php - script til logout
header.inc - fælles header til alle sider
menu1.inc - menufil til default.php og logout.php
menu2.inc - menufil til password-beskyttede sider
login.css - stylesheet til login-funktionen

- og

default.php - formular til login
login.php - php-script, der tjekker adgangsrettigheder
administrator.php - side til administration af login
mysqlread.inc - modul, der læser og udskriver databaseindhold
mysql-funktioner.php - modul, der indgår i både tilføje- og slettefunktion
slet.php - modul, der sletter udpeget bruger fra databasen
nybruger-ok.php - modul, der indskriver nye brugere i databasen
logot.php - script til logout
header.inc - fælles header til alle sider
menu1.inc - menufil til default.php og logout.php
menu2.inc - menufil til administrator.php

hvis jeg har forstået det rigtigt, så er det i "NYBRUGER-OK.PHP" som jeg skal starte med at åbne, for at få mit log-in system til at fungere..

men når jeg åbner "NYBRUGER-OK.PHP" for jeg denne meddelse:

Access denied for user 'aalborg-cy.dk'@'localhost' (using password: NO)

Nogle der ved hvad jeg skal gøre?



7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Nu har jeg ændret alle filerne, og skrevet localhost i stedet for aalborg_cy_dk

men nu for jeg fejlen:

No database selected

------------------------

men i det kodebrev jeg har fået fra min udbyder står der;

MySQL:
Host: localhost
Database: aalborg_cy_dk
Brugernavn (User): aalborg_cy_dk
Kodeord (Password): XXXXXXXXX

så det må jo passe, at der skal stå localhost..

Hvad tror du der er gået galt?

det hele ser sådan her ud nu:

mysql_connect("localhost", "aalborg_cy_dk", "XXXXXXXX"); mysql_select_db("users");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";
$result=mysql_query($sql)or die(mysql_error());
$number=mysql_num_rows($result);
if($number > 0){



Jeg skulle mene, at det gav sig selv, men jeg vil være flink at udpege det for dig :-P

I dit brev står der:
Database: aalborg_cy_dk


mysql_select_db = vælg_mysql_database

hvis der står i brevet, at din database hedder aalborg_cy_dk, så skal du selvfølgelig vælge den database, og ikke users.

ergo mysql_select_db("aalborg_cy_dk");




Når man åbner siden skriver siden såledees:
Fold kodeboks ind/udKode 

Da jeg kiggede helle tråden igennem kan jeg ikke se om du har lavet tabellen users inu for det kunne godt se ud som om at du ikke har lavet den... ifølge fejl reporten fra php.

MVH Casper Lynge



det lyder som om at du ikke kan få adgang til mysql databasen.
Er du sikker på du har skrevet de rigtige oplysninger.

det kunne se således ud:

$server="localhost";
$login="mit brugernavn";
$pasword="mit password";
$base="min database";
$table="min table";




det lyder som om at du ikke kan få adgang til mysql databasen.
Er du sikker på du har skrevet de rigtige oplysninger.

det kunne se således ud:

$server="localhost";
$login="mit brugernavn";
$pasword="mit password";
$base="min database";
$table="min table";


Jeg tror det er de to sidste der har slået fejl (min databasa, og min table) jeg er nenmlig sikker på at jeg har angivet den rigtige localhost, brugernavn og password..

Hvad skal jeg skrive ved, min database, og min tabel?

det jeg har skrevet ser sådan ud:

mysql_connect("aalborg_cy_dk", "aalborg_cy_dk", "password"); mysql_select_db("users");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";



det lyder som om at du ikke kan få adgang til mysql databasen.
Er du sikker på du har skrevet de rigtige oplysninger.

det kunne se således ud:

$server="localhost";
$login="mit brugernavn";
$pasword="mit password";
$base="min database";
$table="min table";


Jeg tror det er de to sidste der har slået fejl (min databasa, og min table) jeg er nenmlig sikker på at jeg har angivet den rigtige localhost, brugernavn og password..

Hvad skal jeg skrive ved, min database, og min tabel?

det jeg har skrevet ser sådan ud:

mysql_connect("aalborg_cy_dk", "aalborg_cy_dk", "password"); mysql_select_db("users");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";


Det er fejlen. Medmindre du har fået en IP af din udbyder, til at skrive i 'host-feltet' så er hosten stortset altid Localhost. Det skal du så skrive.

Altså:
mysql_connect("localhost", "aalborg_cy_dk", "password");



Nu har jeg ændret alle filerne, og skrevet localhost i stedet for aalborg_cy_dk

men nu for jeg fejlen:

No database selected

------------------------

men i det kodebrev jeg har fået fra min udbyder står der;

MySQL:
Host: localhost
Database: aalborg_cy_dk
Brugernavn (User): aalborg_cy_dk
Kodeord (Password): XXXXXXXXX

så det må jo passe, at der skal stå localhost..

Hvad tror du der er gået galt?

det hele ser sådan her ud nu:

mysql_connect("localhost", "aalborg_cy_dk", "XXXXXXXX"); mysql_select_db("users");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";
$result=mysql_query($sql)or die(mysql_error());
$number=mysql_num_rows($result);
if($number > 0){





arh :) selvfølgelig..

nu kan den godt nok åbne siden, men den ser sådan her ud, når jeg åbner den: http://www.aalborg-cy.dk/mysql/kgj87xb9/nybruger-ok.php

filen nybruger-ok.php ser sådan her ud:

<? $strTitle="Bruger-ID";?>

<? include("header.inc"); ?>
</head>

<body>

<div class="indhold">

<?php
mysql_connect("localhost", "aalborg_cy_dk", "mark1000"); mysql_select_db("aalborg_cy_dk");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";
$result=mysql_query($sql)or die(mysql_error());
$number=mysql_num_rows($result);
if($number > 0){
print "<h1> $strTitle ikke godkendt</h1>";
print "<p>Desværre, brugernavnet er optaget</p>";
}
elseif($_POST['brugernavn'] && $_POST['password']){
$sql2="INSERT INTO users (brugernavn, password)
VALUES('$_POST[brugernavn]', '$_POST[password]')"; mysql_query($sql2) or
die(mysql_error());
header ("Location: administrator.php");
}
else{
echo "<h1>Indtastningsfejl</h1>";
echo "<p>Du skal udfylde begge felterne</p>";
}
?>

</div>

<div id="menu"><? include("menu2.inc"); ?></div>

</body>
</html>

Nogen der kan se problemet :)?



t