Gå til innhold

[LØST]problem med php og mysql


Anbefalte innlegg

Skrevet

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.

Videoannonse
Annonse
Gjest Slettet+142
Skrevet (endret)
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
Gjest Slettet+142
Skrevet

hmm.

Kan du vise oss config.php?

Husk da iallefall å sensurere passord.

Gjest Slettet+142
Skrevet (endret)

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
Skrevet

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.

Skrevet

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å.

Gjest Slettet+142
Skrevet

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

Skrevet

hmm, det må nesten være noe med configen på hosteren min, sidn det funker overalt ellers... hvor kan jeg sjekke mysql settings?

Gjest Slettet+142
Skrevet

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 :)

Gjest Slettet+142
Skrevet
xampp på begge...

8926399[/snapback]

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

8926681[/snapback]

;)

Skrevet

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.

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...