Gå til innhold

[LØST]problem med php og mysql


Anbefalte innlegg

Koden fungerer greit på min server, så koden er nok riktig. Jeg får "Database: Can't connect to MySQL server on '127.0.0.1'", som forventet. Så hvis det ikke fungerer på maskin nr 2, så må det være noe galt der. Som jeg da spurte om ovenfor, hva er forskjellen på maskinene du har prøvd det på ? Er det en webserver på begge ? Er Mysql installert på begge ? Er php satt opp riktig ? osv

 

Tror jeg ville ha ryddet opp litt i koden, den er ikke veldig lett lest, men det er vel en smak sak ;) Kan poste ett alternativ litt senere.

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+142
xampp på begge...

8926399[/snapback]

Men er mysql databasen(e) satt opp likt?

 

Snålt problem i denne tråden :hmm:

Endret av Slettet+142
Lenke til kommentar
Gjest Slettet+142

Sry, han har visst edited posten sin etter jeg leste den.

 

Edit: Visst faen. Sry jeg er veeldig trøtt idag :(

Endret av Slettet+142
Lenke til kommentar

Jeg får scriptet til å fungere helt fint på min server, har bare gjordt noen kosmetiske endringer i koden

 

config.php

PHP
<?php

 

#################

# #

# #

# Enjoy! #

# #

# #

#################

function connect (&$c,&$e,&$d)

{

$c['mysql_host'] = 'localhost'//MySQL Host

$c['mysql_user'] = '*****'//MySQL Username

$c['mysql_pass'] = '******'//MySQL Password

$c['mysql_dbname'] = '******'//Database Name

 

if (!$d = @mysql_connect($c['mysql_host'], $c['mysql_user'], $c['mysql_pass']))

$e[] = 'Database tilkobling: '.mysql_error();

 

if (!@mysql_select_db($c['mysql_dbname'], $d)) 

$e[] = 'Database valg: '.mysql_error();

}

?>

 

PHP
<?php

include("config.php");

 

error_reporting(E_ALL E_NOTICE);

 

session_start();

 

$msg = Array();

$error = Array();

 

 

function addUser(&$config,&$msg,&$error)

{

if (empty($_POST)) return false;

 

//kobler til databasen

connect($config,$error,$db);

 

if (empty($_POST['login'])) 

$error[] = 'Error, You forgot to enter a account name!';

 

if (empty($_POST['password'][0]) || empty($_POST['password'][1])) 

$error[] = 'Error, You forgot to enter a password!';

 

if ($_POST['password'][0] !== $_POST['password'][1]) 

$error[] = 'Password does not match!';

 

if (empty($_POST['email'])) 

$error[] = 'Please fill in a valid email adress!';

 

if (!empty($error)) 

return false;

 

$query "SELECT `acct` FROM `accounts` WHERE `login` = '".mysql_real_escape_string($_POST['login'])."'";

$res mysql_query($query$db);

 

if (!$res) return $error[] = 'Database: '.mysql_error();

if (mysql_num_rows($res) > 0) return $error[] = 'Username already in use.';

 

//Modified by Jerq

$query "INSERT INTO `accounts` (`login`,`password`,`lastip`, `flags`) VALUES ('".mysql_real_escape_string($_POST['login'])."', '".mysql_real_escape_string($_POST['password'][0])."', '".$_SERVER['REMOTE_ADDR']."','".mysql_real_escape_string($_POST['tbc'][0])."')";

//Modified by Jerq

$res mysql_query($query$db);

if (!$res) return $error[] = 'Database: '.mysql_error();

 

$msg[] = 'The Account <span style="color:#00FF00"><strong>'.htmlentities($_POST['login']).'</strong></span> has been created!';

 

mysql_close($db);

return true;

}

{

addUser($config,$msg,$error);

}

 

?>

Rest av scriptet er uendret.

 

Men det er ikke koden det er noe galt med. Men hvordan ting er satt opp.

Lenke til kommentar

Vet ikke om det er av betydning, men på min server så får jeg feilmelding hvis $c['mysql_host'] = '127.0.0.1'; , men fungerer greit hvis $c['mysql_host'] = 'localhost';

Mulig det er noe med oppsettet mitt som bør endres, men kan være verdt ett forsøk å bruke localhost i stede for 127.0.0.1, eller ip adressen til den maskinen det fungerer på fra den maskinen som det ikke fungerer på.

Lenke til kommentar
Gjest Slettet+142

Det kan muligvis være pga. at i mysql konfigurasjonen, at det kanskje står "bind-address localhost" eller noe slikt.

Lenke til kommentar
Gjest Slettet+142

Hvis det er du som hoster serveren/mysql, finner du det der du installerte xampp/mysql.

 

C:\xampp\mysql\my.cnf eller noe sånt :)

Lenke til kommentar
Gjest Slettet+142
xampp på begge...

8926399[/snapback]

Kjører du på windows eller Linux, hvis Linux i så fall hvilken distro ?

8926681[/snapback]

;)

Lenke til kommentar

Klikk for å se/fjerne innholdet nedenfor
xampp på begge...

8926399[/snapback]

Kjører du på windows eller Linux, hvis Linux i så fall hvilken distro ?

8926681[/snapback]

;)

8926688[/snapback]

 

XAMPP finnes både til Linux, Windows, OS X og Solaris. Derfor spurte jeg.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...