Avatar billede sukos Juniormester
25. februar 2005 - 14:44 Der er 4 kommentarer og
2 løsninger

Hvilke fejl er der i dette script?

Er der nogen fejl i dette????


<?php
// DATABASE ________________________________________________________


$servername = $_SERVER["HTTP_HOST"];

// flg. switch er lavet for nemmere at kunne teste lokalt, uden at skulle ændre brugernavn, password m.m. ved connect til mysql

switch($servername) {

case "public_domain.dk":

$host = "public_host";
$database = "public_db";
$user = "public_user";
$pass = "public_pass";
$usertable = "bruger_table"; // tabelnavn i mysql med brugere,
break;

default:

$host = "localhost";
$database = "local_db";
$user = "local_user";
$pass = "local_pass";
}

$usertable = "bruger_table"; // tabelnavn i mysql med brugere

function connect() {
global $host, $user, $pass, $database;

$db = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database, $db) or die (mysql_error());

}

// http://www.eksperten.dk/artikler/190
function add_slash($var){
return get_magic_quotes_gpc()?$var:addslashes($var);
}

// http://www.eksperten.dk/artikler/190
function strip_slash($var){
  return get_magic_quotes_runtime()?stripslashes($var):$var;
}



connect();
?>
<html><head><title>Test connect</title></head>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" onsubmit="md5hash(userpass,md5_pass);">
<script type="text/javascript" src="vbulletin_md5.js"></script>

<b>Login</b><br />
<table><tr>
    <td>Brugernavn:<br />
<input type="text" name="user" class="input" value="test"><br />
Password:<br />
<input type="password" name="userpass" class="input" value="test"><br />
<input type="submit" value="Log on" class="submit">
<input type="hidden" name="md5_pass"></td>
</tr></table>
</form>

<?php

// Vælger alle brugernavne
$getusers = mysql_query("SELECT `navn` FROM `". $usertable ."`") or die (mysql_error());

    if(mysql_num_rows($getusers) !=0) {
        while($n = mysql_fetch_object($getusers)) {
        echo $n->navn ."<br />\n";
        }
    }else{
    echo"Ingen navne i DB";
    }

mysql_free_result($getusers);




// Hvis der logges ind
if(isset($_POST["user"])) {
echo"<p>";

$getuser = mysql_query("SELECT `navn` FROM `". $usertable ."` WHERE `navn` = '". add_slash($_POST["user"]) ."' AND `pass`= '". $_POST["md5_pass"] ."' AND `aktiv` = 1") or die (mysql_error());
    if(mysql_num_rows($getuser) == 1) {

$vars = mysql_fetch_object($getuser);
echo"Ok navn: ". strip_slash($vars->navn) ."<br />";
echo"Ok pass: ". $_POST["md5_pass"];

    }else{

echo"Fejl i login!";

}

mysql_free_result($getuser);

}


mysql_close();

?>
</body></html>

Fejlen jeg får (hos web10.dk)

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in /usr/home/web/web46675/test_connect.php on line 39
Lost connection to MySQL server during query
Avatar billede jpvj Nybegynder
25. februar 2005 - 14:57 #1
Uden at være PHP ekspert, skal du så ikke flytte til den næste record heromkring:

if(mysql_num_rows($getusers) !=0) {
        while($n = mysql_fetch_object($getusers)) {
        echo $n->navn ."<br />\n";
        }
    }else{
    echo"Ingen navne i DB";
    }
Avatar billede sukos Juniormester
25. februar 2005 - 15:00 #2
Den forstår jeg ikke lige?

Anyway, har lavet et mere simpelt script:

<?php

$host = "public_host";
$database = "public_db";
$user = "public_user";
$pass = "public_pass";

$db = mysql_connect($host, $user, $pass) or die ("Fejl i connect: ". mysql_error());
mysql_select_db($database, $db) or die ("Fejl i select DB: ". mysql_error());

// Vælger alle brugernavne
$getusers = mysql_query("SELECT `navn` FROM `bruger_table`") or die ("Fejl i query: ". mysql_error());

    if(mysql_num_rows($getusers) !=0) {
        while($n = mysql_fetch_object($getusers)) {
        echo $n->navn ."<br />\n";
        }
    }else{
    echo"Ingen navne i DB";
    }

mysql_free_result($getusers);

mysql_close();

?>

Og får denen fejl:

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in /usr/home/web/web46675/nytest.php on line 17
Fejl i connect: Lost connection to MySQL server during query

Og jeg har fået at vide der ikke skulle være noget forkert med host/user/pass/db
Avatar billede jpvj Nybegynder
25. februar 2005 - 15:01 #3
Sorry - har lige kigget i PHP dokumentationen, og det ser faktisk helt OK ud...
Avatar billede jpvj Nybegynder
25. februar 2005 - 15:10 #4
Avatar billede sukos Juniormester
28. februar 2005 - 20:22 #5
Det er desværre ikke min egen server!

Et simpelt script:

<?php
$host = "host";
$database = "DB";
$user = "bruger";
$pass = "pass";
$usertable = "bruger_table"; // tabelnavn i mysql med brugere,


function connect() {
global $host, $user, $pass, $database;

$db = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database, $db) or die (mysql_error());

}

connect();

?>

http://www.steffend.dk/web10.php

Og ja, jeg dropper simpelthen web10.dk!
Det gider jeg sgu ikke bruge kræfter på! (skodhost!!!!!!!!)
Avatar billede sukos Juniormester
28. februar 2005 - 20:23 #6
Du får lige lidt point for "energien"
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