Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 640
Hello... skal lage en registrerings side, men når jeg prøver og lage en random acc eller noe, og trykker create kommer bare en helt blank side opp, jeg bruker PHP til dette, filen heter register.php
Her er koden, se om dere finner noe galt, og forklar hva jeg kan gjøre

Kode

<?php

#################
#               #
#               #
#     Enjoy!    #
#               #
#               #
#################

include("config.php");

error_reporting(E_ALL ^ E_NOTICE);

session_start();

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

function addUser(){
    if (empty($_POST)) return false;
    global $config, $msg, $error;
    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;
    $db = @mysql_connect($config['mysql_host'], $config['mysql_user'], $config['mysql_pass']);
    if (!$db) return $error[] = 'Database: '.mysql_error();
    if (!@mysql_select_db($config['mysql_dbname'], $db)) return $error[] = 'Database: '.mysql_error();
    $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();
}

?>


<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">The 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">design by mmorpg4free.com, styling by PayBas @ emupedia.com.
        background and logo modified by ElderGod.All rights go to the rightful creators.</font>
    </div>
    </center>
</body>
</html>
vis dere vil se siden selv, gå på HER
Sist endret av Blacks; 16. juni 2007 kl. 00:59.
Usj, det var utrolig mye råtten php her..
Du kan jo begynne med å ta bort @ foran mysql_* funksjonene og se om det er noen feilmeldinger du går glipp av..
Man putter forresten ikke ; etter } som det er gjort nesten nederst i koden.

Og det her:

Kode

{ 
addUser(); 
}
Hva i all verden gjør klammene der?
Og inni funksjonen returneres $error, selv om ingenting som blir returnert fra addUser blir brukt til noe fornuftig, og $error er en "global" i utgangspunktet.

Skriv det om igjen.