Avatar billede mikze Nybegynder
20. december 2003 - 20:10 Der er 4 kommentarer og
1 løsning

Hvad er fejlen ?

Hvad er fejlen i denne kode:

<?

include 'db.php';

// Define post fields into simple variables
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_address = $_POST['email_address'];
$username = $_POST['username'];
$info = $_POST['info'];

/* Let's strip some slashes in case the user entered
any escaped characters. */

$first_name = stripslashes($first_name);
$last_name = stripslashes($last_name);
$email_address = stripslashes($email_address);
$username = stripslashes($username);
$info = stripslashes($info);


/* Do some error checking on the form posted fields */

if((!$first_name) || (!$last_name) || (!$email_address) || (!$username)){
    echo 'You did not submit the following required information! <br />';
    if(!$first_name){
        echo "Du skal skrive dit fornavn.<br />";
    }
    if(!$last_name){
        echo "Du skal skrive dit efternavn.<br />";
    }
    if(!$email_address){
        echo "Du skal skrive din email.<br />";
    }
    if(!$username){
        echo "Du skal skrive et brugernavn.<br />";
    }
    include 'join_form.html'; // Show the form again!

    exit();
}
   
/* Let's do some checking and ensure that the user's email address or username
does not exist in the database */

$sql_email_check = mysql_query("SELECT email_address FROM users WHERE email_address='$email_address'");
$sql_username_check = mysql_query("SELECT username FROM users WHERE username='$username'");

$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);

if(($email_check > 0) || ($username_check > 0)){
    echo "Please fix the following errors: <br />";
    if($email_check > 0){
        echo "<strong>Den indtastede email-adresse er allerede i brug. Brug venligst en anden.<br />";
        unset($email_address);
    }
    if($username_check > 0){
        echo "Det indtastede brugernavn er allerede i brug. Vælg venligst et andet.<br />";
        unset($username);
    }
    include 'join_form.html'; // Show the form again!
    exit();  // exit the script so that we do not create this account!
}

/* Everything has passed both error checks that we have done.
It's time to create the account! */

/* Random Password generator.
http://www.phpfreaks.com/quickcode/Random_Password_Generator/56.php

We'll generate a random password for the
user and encrypt it, email it and then enter it into the db.
*/

function makeRandomPassword() {
  $salt = "abchefghjkmnpqrstuvwxyz0123456789";
  srand((double)microtime()*1000000);
      $i = 0;
      while ($i <= 7) {
            $num = rand() % 33;
            $tmp = substr($salt, $num, 1);
            $pass = $pass . $tmp;
            $i++;
      }
      return $pass;
}

$random_password = makeRandomPassword();

$db_password = md5($random_password);

// Enter info into the Database.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO users (first_name, last_name,
        email_address, username, password, info, signup_date)
        VALUES('$first_name', '$last_name', '$email_address',
        '$username', '$db_password', '$info2', now())")
        or die (mysql_error());

if(!$sql){
    echo 'Der skete en fejl ved oprettelsen. Kontakt venligst webmasteren.';
} else {
    $userid = mysql_insert_id();
    // Let's mail the user!
    $subject = "Din bruger på www.MikZe.Dk!";
    $message = "Heysa $first_name $last_name,
    Tak fordi du har oprettet dig som bruger min side, http://Www.MikZe.Dk!
   
    Du er to trin fra at logge ind og få adgang til bruger området.
   
    For at aktivere dit konto,
    klik her: http://www.MikZe.com/sider/community/activate.php?id=$userid&code=$db_password
   
    Når du har aktiveret din konto kan du logge ind
    Med disse oplysninger:
    Username: $username
    Password: $random_password
   
    Tak!
    Webmaster.
   
    Denne er sendt automatisk af sitet så du kan ikke svare på den !";
   
    mail($email_address, $subject, $message,
        "From: MikZe.Dk<MiK@MikZe.dk>\n
        X-Mailer: PHP/" . phpversion());
    echo 'Dine bruger oplysninger er nu blevet sendt til din e-mail !';
}

?>



Det er register.php og her er siden hvor man logger ind som hedder join_form.html:


<form action="register.php" method="post">
<input name="first_name" type="text" id="first_name" value="<? echo $first_name; ?>"></td>
<input name="last_name" type="text" id="last_name" value="<? echo $last_name; ?>"></td>
<input name="email_address" type="text" id="email_address" value="<? echo $email_address; ?>"></td>
<input name="username" type="text" id="username" value="<? echo $username; ?>"></td>
<textarea name="info" id="info"><? echo $info; ?></textarea></td>
<input type="submit" name="Submit" value="Join Now!"></td>

</form>


Hvad er fejlen ? Der står dette:



$host = 'CENSUR'; $username = 'CENSUR'; $password = 'CENSUR'; $database = 'CENSUR'; $connection = mysql_pconnect($host, $username, $password); $mysql_select_db($database, $connection);
Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/web/web13697/sider/community/register.php on line 46

Warning: mysql_query(): A link to the server could not be established in /home/web/web13697/sider/community/register.php on line 46

Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/web/web13697/sider/community/register.php on line 47

Warning: mysql_query(): A link to the server could not be established in /home/web/web13697/sider/community/register.php on line 47

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/web/web13697/sider/community/register.php on line 49

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/web/web13697/sider/community/register.php on line 50

Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/web/web13697/sider/community/register.php on line 98

Warning: mysql_query(): A link to the server could not be established in /home/web/web13697/sider/community/register.php on line 98
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Avatar billede googolplex Novice
20. december 2003 - 21:16 #1
Det er din forbindelse til databasen den er gal med, åbner du overhovedet til databasen nogle steder med mysql_connect() !?
Avatar billede martinbk Nybegynder
20. december 2003 - 22:00 #2
problemet ligger i installationen af din MySQL server, serveren referer til et midlertidigt socket (/tmp/mysql.sock) som tilsyenladende ikke eksisterer på din server, hvis det er et webhotel bør du kontakte din udbyder, er det din egen server ville jeg nok anbefale dig at installerer seneste stable release fra www.mysql.com og følgde installationsvejledningen i deres dokumentation
Avatar billede iss Novice
20. december 2003 - 22:37 #3
Avatar billede mikze Nybegynder
20. december 2003 - 22:59 #4
Jeg har fået det til at virke..
s2a brugeren zyxeo hjalp mig.

svaret er:

I filen DB.PHP havde jeg allerede connectet korrekt men jeg havde ikke sat <? og ?> i filen :D
Avatar billede googolplex Novice
20. december 2003 - 23:04 #5
Øh, hvor fik du det svar henne ?
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