/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Can't connect to local MySQL server throug~
Fra : Alexander P.


Dato : 18-12-05 14:59

Er pt. ikke særlig sikker i PHP - SQL, så kan ikke se følgende
fejl

Warning: mysql_real_escape_string(): Can't connect to local MySQL
server through socket '/var/lib/mysql/mysql.sock' (2) in
/free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 30

Warning: mysql_real_escape_string(): A link to the server could
not be established in
/free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 30

Warning: mysql_real_escape_string(): Can't connect to local MySQL
server through socket '/var/lib/mysql/mysql.sock' (2) in
/free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 31

Warning: mysql_real_escape_string(): A link to the server could
not be established in
/free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 31

denne fejl får jeg hvis jeg indtaster de korrekte oplysninger i
mine input felter, mens hvis jeg skriver noget forkert - så
kommer fejlen ikke

min kode er følgende:

[functions.php]

<?PHP
// SQL functions

function open_choose_db() {
$server = "xxxxxxxxx";
$user = "xxxxxxxxx";
$password = "xxxxxxxxxx";
$db = "xxxxx";

if (!mysql_connect("$server","$user","$password")) {
udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL.");
}

if(!mysql_select_db("$db")) {
udskriv_fejl("Kunne ikke vælge databasen: $db");
}
}

function ask($query) {
$result = mysql_query($query);

if(!$result) {
udskriv_fejl("Kunne ikke udføre: <em>$query</em>");
}

while($raekke = mysql_fetch_array($result)) {
$resultat_array[] = $raekke;
}

return $resultat_array;
}

function close_mysql() {
if(!mysql_close()) {
udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL!");
}
}

function echo_error($fejl) {
echo "<p>$fejl";

if ($mysql_fejl = mysql_error()) {
echo "<br>Fejlen er: <em>$mysql_fejl</em>";
}

exit;
}

?>

og, her kommer [ login-anmod.php ]

<?php
session_start();
require("functions.php");

if(is_array($HTTP_POST_VARS)) {
$post_brugernavn =
htmlentities(stripslashes(trim($HTTP_POST_VARS['brugernavn'])));
$post_password =
htmlentities(stripslashes(trim($HTTP_POST_VARS['password'])));
} elseif (is_array($_POST)) {
$post_brugernavn =
htmlentities(stripslashes(trim($_POST['brugernavn'])));
$post_password =
htmlentities(stripslashes(trim($_POST['password'])));
}

if ((!$post_brugernavn) || (!$post_password)) { // if the
variables $post_brugernavn or $post_password wasn't set - send
the user back to login.php
//header("Location: login.php");
//exit;
echo "fejl1";
} else {

// SQL gets the strings from the db
$sql = "select id, brugernavn, password from brugere where
brugernavn = '$post_brugernavn'";
open_choose_db();
$result = ask($sql);
close_mysql();

if(count($result) < 1) { // If there where noting in the db
there matched $post_brugernavn
echo "fejl3";
} else {

// Mysql_real_escape_string the strings from the db
$post_brugernavn =
mysql_real_escape_string($post_brugernavn);
$post_password = mysql_real_escape_string($post_password);

if (($post_brugernavn == $brugernavn) && ($post_password ==
$password)) {

// If the user was succesfully logged in, create the
sessions
$_SESSION['accepteret'] = 1;
$_SESSION['brugernavn'] = $brugernavn;
$_SESSION['id'] = $id;

// Get the IP
$ip = getenv('REMOTE_ADDR');
$_SESSION['ip'] = $ip;

echo "KORREKT";

} else {
// If we couldn't find the match on $post_brugernavn &
$post_password
//header("Location: login.php");
//exit;
echo "fejl2";
}
}
}
?>

På forhånd tak

-/Ap

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Martin Ploug (19-12-2005)
Kommentar
Fra : Martin Ploug


Dato : 19-12-05 01:10

> Warning: mysql_real_escape_string(): Can't connect to local MySQL
> server through socket '/var/lib/mysql/mysql.sock' (2) in
> /free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 30
>
> Warning: mysql_real_escape_string(): A link to the server could
> not be established in
> /free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 30
>
> Warning: mysql_real_escape_string(): Can't connect to local MySQL
> server through socket '/var/lib/mysql/mysql.sock' (2) in
> /free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 31
>
> Warning: mysql_real_escape_string(): A link to the server could
> not be established in
> /free1go/h/a/www.halsa.1go.dk/ny/admin/login-anmod.php on line 31
>
> denne fejl får jeg hvis jeg indtaster de korrekte oplysninger i
> mine input felter, mens hvis jeg skriver noget forkert - så
> kommer fejlen ikke

Hej

Jeg plejer at bruge:

<?php

$DBNAME = '******';
$Host = '******';
$User = '*******';
$Password = '******';

$connect = mysql_connect ($Host. ':' .$DBNAME, $User, $Password);

/* Vigtigt: Her vælges databasen */

mysql_select_db("*******", $connect);


if (!$connect){
Print ("Ingen forbindelse til databasen. <br />");
exit;
}

?>

Ved ikke, om det hjælper noget.

Hilsen Martin



----------------------------------------
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 124 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent gratis SPAMfighter her: www.spamfighter.dk



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste