Gå til innhold

[LØST]problem med php og mysql


Anbefalte innlegg

Videoannonse
Annonse
config.php?

8928060[/snapback]

 

Her går det i flere emner samtidig, så man må holde tunga i rett munn ;) Har ingenting med phpmyadmin å gjøre.

 

config.php er der du legger inn host, brukernavn, passord og databasenavn for php scriptet ditt. Alt dette må jo stemme med det som ligger i mysql databasen.

Lenke til kommentar
Gjest Slettet+142

Jeg gir opp. Det virker nesten som om at det ikke finnes en løsning her :no:

 

Bare å håpe på at noen andre hoder kan lese dette emnet.

Lenke til kommentar

Å starte config.php har ingen mening, den gir ikke noe output, så at skjermen blir hvit da stemmer :)

Config.php blir bare brukt for å koble til mysql basen, slik at flere av funksjonene i hoved scriptet fungerer :) Er kun http://bmfs.servegame.com/bmfs/register.php som skal startes opp.

Edit: Men jeg ser det er noe merkelig som skjer på den andre linken, ser ut som hele scriptet dør, for det kommer ikke noe output. Vis kildekode er blank.

Prøv å legg til dette før du kaller adduser funksjonen

PHP

echo "<pre>";

print_r($_POST);

echo "</pre>";

 

 

Slik skal det se ut (med unntak av at jeg ikke har css koden og bildene):

Øverste del blir info fylt inn, og så trykker jeg på create. Da endrer bildet seg til det vist på nedre halvdel, med en bekreftelse på at kontoen er lagret. Hvis ikke så kommer det en eller flere feilmelding(er) i stedet for.

Endret av crowly
Lenke til kommentar

ja, men på min side, etter at du trykker create der, så kommer den blanke sidn opp, funker på ALLE andre sin webside... jævli irriterende, ingen greier og finne ut av dette ser dt ut som, det kommer ikke noe den og den acccen er blirr laga, kommer bare blank screen i browsern

Lenke til kommentar

Men jeg ser det er noe merkelig som skjer på den andre linken, ser ut som hele scriptet dør, for det kommer ikke noe output. Vis kildekode er blank.

Prøv å legg til dette før du kaller adduser funksjonen

PHP

echo "<pre>";

print_r($_POST);

echo "</pre>";

Lenke til kommentar

Jeg har endret litt på det så du må erstatte både config.php og registrer.php

 

registrer.php

Klikk for å se/fjerne innholdet nedenfor
<?php
include("config.php");

error_reporting(E_ALL ^ E_NOTICE);

session_start();

$msg = Array();
$error = Array();


function addUser(&$config,&$msg,&$error)
{
 //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 (select): '.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 (insert): '.mysql_error();
 
 $msg[] = 'The Account <span style="color:#00FF00"><strong>'.htmlentities($_POST['login']).'</strong></span> has been created!';
 
 mysql_close($db);
 return true;
}
echo "<pre>";
print_r($_POST);
echo "</pre>";
if (!empty($_POST))
 addUser($config,$msg,$error);


?>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Account Registration Page</title>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Cache-Control" content="no-cache"/>
<style type="text/css" media="screen">@import url(server_stats.css);</style>
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
</head>
<body>
<center>
<div class="logo"></div>
<div style="width:300px">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr class="head"><th colspan="2">Account Creation</th></tr>
<tr>
<th>Username: </th><td align="center"><input class="button" type="text" name="login" size="30" maxlength="16"/></td>
</tr>
<tr>
<th>Password: </th><td align="center"><input class="button" type="password" name="password[]" size="30" maxlength="16"/></td>
</tr>
<tr>
<th>Retype Password: </th><td align="center"><input class="button" type="password" name="password[]" size="30" maxlength="16"/></td>
</tr>
<tr>
<th>E-mail: </th><td align="center"><input class="button" type="text" name="email" size="30" maxlength="30"/></td>
</tr>
<!--Added by Jerq-->
<th>Account Type:</th><td align="center">
<select name="tbc" type="select">
<option value="0">Normal</option>
<option selected value="8">Burning Crusade</option>
</select></td>
<!--Added By Jerq-->
</table>
<input type="button" class="button" value="Back" onClick="history.go(-1)" />
<input type="submit" value="Create" class="button"/>
</form>

<?php
if (!empty($error)){
echo '<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td class="error" align="center">';
foreach($error as $text)
echo $text.'</br>';
echo '</td></tr></table>';
};
if (!empty($msg)){
echo '<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td align="center">';
foreach($msg as $text)
echo $text.'</br>';
echo '</td></tr></table>';
exit();
};
?>

</div>
<div class="footer">
<font color="red" size="2">Account Creation is down at the moment.PM to MAD in forums to create an account.</font>
</div>
</center>
</body>
</html>

 

config.php

Klikk for å se/fjerne innholdet nedenfor
<?php
function connect (&$c,&$e,&$d)
{
 $c['mysql_host'] = 'localhost'; //MySQL Host  
 $c['mysql_user'] = 'brukernavn'; //MySQL Username
 $c['mysql_pass'] = 'passord'; //MySQL Password
 $c['mysql_dbname'] = 'databasenavn'; //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();
}
?>

Endret av crowly
Lenke til kommentar

Test dette, skal komme en del tekst hvis det fungerer.

Klikk for å se/fjerne innholdet nedenfor
<?php
include("config.php");

error_reporting(E_ALL ^ E_NOTICE);

session_start();

$msg = Array();
$error = Array();


if (!empty($_POST) AND isset($_POST['login']))
{
 //kobler til databasen
 echo "Kobler til basen<br />";
 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!';
 
 echo "Validering ferdig<br />";  
 $query = "SELECT `acct` FROM `accounts` WHERE `login` = '".mysql_real_escape_string($_POST['login'])."'";
 $res = mysql_query($query, $db);

 if (!$res) $error[] = 'Database (select): '.mysql_error();
 if (mysql_num_rows($res) > 0) $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) $error[] = 'Database (insert): '.mysql_error();
 echo "Sql ferdig<br />";  
 
 $msg[] = 'The Account <span style="color:#00FF00"><strong>'.htmlentities($_POST['login']).'</strong></span> has been created!';
 
 unset($_POST);
 mysql_close($db);
 echo "Databasetilkobling stengt<br />";
}
?>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Account Registration Page</title>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Cache-Control" content="no-cache"/>
<style type="text/css" media="screen">@import url(server_stats.css);</style>
<!--[if lt IE 7.]>
<script defer type="text/javascript" src="pngfix.js"></script>
<![endif]-->
</head>
<body>
<center>
<div class="logo"></div>
<div style="width:300px">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr class="head"><th colspan="2">Account Creation</th></tr>
<tr>
<th>Username: </th><td align="center"><input class="button" type="text" name="login" size="30" maxlength="16"/></td>
</tr>
<tr>
<th>Password: </th><td align="center"><input class="button" type="password" name="password[]" size="30" maxlength="16"/></td>
</tr>
<tr>
<th>Retype Password: </th><td align="center"><input class="button" type="password" name="password[]" size="30" maxlength="16"/></td>
</tr>
<tr>
<th>E-mail: </th><td align="center"><input class="button" type="text" name="email" size="30" maxlength="30"/></td>
</tr>
<!--Added by Jerq-->
<th>Account Type:</th><td align="center">
<select name="tbc" type="select">
<option value="0">Normal</option>
<option selected value="8">Burning Crusade</option>
</select></td>
<!--Added By Jerq-->
</table>
<input type="button" class="button" value="Back" onClick="history.go(-1)" />
<input type="submit" value="Create" class="button"/>
</form>

<?php
if (!empty($error)){
echo '<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td class="error" align="center">';
foreach($error as $text)
echo $text.'</br>';
echo '</td></tr></table>';
};
if (!empty($msg)){
echo '<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td align="center">';
foreach($msg as $text)
echo $text.'</br>';
echo '</td></tr></table>';
exit();
};
?>

</div>
<div class="footer">
<font color="red" size="2">Account Creation is down at the moment.PM to MAD in forums to create an account.</font>
</div>
</center>
</body>
</html>

Lenke til kommentar

Er rimelig sikker på at det er noe galt med php -> mysql oppsetter, slik at php ikke klarer å snakke med mysql basen. phpmyadmin gir denne feilmeldingen: Cannot load mysql extension. Please check your PHP configuration. - Documentation

 

Hvis noen har noen tips så er det bare å fyre løs, for jeg begrynner å bli rimelig blank :(

 

Edit: Mulig det kan være at libmysql.dll ikke ligger i PATH, i så fall så bør dette testes:

Klikk for å se/fjerne innholdet nedenfor
62.14. How do I add my PHP directory to the PATH on Windows?

 

On Windows NT, 2000, XP and 2003:

 

Go to Control Panel and open the System icon (Start -> Settings -> Control Panel -> System, or just Start -> Control Panel -> System for Windows XP/2003)

 

Go to the Advanced tab

 

Click on the 'Environment Variables' button

 

Look into the 'System Variables' pane

 

Find the Path entry (you may need to scroll to find it)

 

Double click on the Path entry

 

Enter your PHP directory at the end, including ';' before (e.g. ;C:\php)

 

Press OK and restart your computer

 

Ser også at phpinfo() rapporterer: Loaded Configuration File C:\Programfiler\PHP\php.ini , men jeg lurer på om ikke dette burde vært /xampp/php/php.ini, kanskje feil ini fil og php oppsett blir brukt ?

Endret av crowly
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...