Avatar billede bono Nybegynder
25. august 2008 - 10:51 Der er 25 kommentarer og
1 løsning

Login side i MySQL giver HTTP 500-serverfejl

Jeg er ved at sætte et loginsystem op, som jeg fandt fra et how-to-guide på nettet. Problemet ligger i når jeg skal teste systemet. Når jeg vil oprette en ny bruger og trykker opret får jeg en: Der opstod en intern HTTP 500-serverfejl. Jeg er ikke så garvet i php og MySQL at jeg kan finde fejlen. Håber nogen af jer kan.

Her er mit php (har med vilje udeladt DB-info og mail user info):

<?php /* Created on: 24-08-2008 */ ?>
<html>
<body>
<?php

//Database Information

$dbhost = "localhost";
$dbname = "*****";
$dbuser = "*****";
$dbpass = "*****";

//Connect to database

mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());

$name = $_POST['name'];
$email = $_POST['email'];   
$username = $_POST['username'];
$password = md5($_POST['password']);
$emailedpass = $_POST['password'];

// lets check to see if the username already exists

$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'");

$username_exist = mysql_num_rows($checkuser);

if($username_exist > 0){
    echo "I'm sorry but the username you specified has already been taken.  Please pick another one.";
    unset($username);
    include 'register.html';
    exit();
}

// lf no errors present with the username
// use a query to insert the data into the database.

$query = "INSERT INTO users (name, email, username, password)
VALUES('$name', '$email', '$username', '$password')";
mysql_query($query) or die(mysql_error());
mysql_close();

echo "You have successfully Registered";
   
// mail user their information

$yoursite = ‘yoursite’;
$webmaster = ‘John Doe’;
$youremail = ‘webmaster@yoursite.com’;
   
$subject = "You have successfully registered at $yoursite...";
$message = "Dear $name, you are now registered at our web site. 
    To login, simply go to our web page and enter in the following details in the login form:
    Username: $username
    Password: $emailedpass
   
    Please print this information out and store it for future reference.
   
    Thanks,
    $webmaster";
   
mail($email, $subject, $message, "From: $yoursite <$youremail>\nX-Mailer:PHP/" . phpversion());
   
echo "Your information has been mailed to your email address.";

?>
</body>
</html>

Og mit MySQL ser således ud:

CREATE TABLE users (
  userid int(25) NOT NULL auto_increment,
  name varchar(25) NOT NULL default '',
  email varchar(255) NOT NULL default '',
  username varchar(25) NOT NULL default '',
  password varchar(255) NOT NULL default '',
  PRIMARY KEY  (userid),
  UNIQUE KEY username (username)
) TYPE=MyISAM COMMENT='Members';

Hilsen
Brian
Avatar billede mcgoat Nybegynder
25. august 2008 - 10:53 #1
kigger lige med
Avatar billede w13 Novice
25. august 2008 - 10:53 #2
Har du slået "Vis meddelelser om uskadelige HTTP-fejl" fra? (Under Avanceret i Internetindstillinger!)

Når du gør det, kan du nok få lov at se fejlmeddelelsen.
Avatar billede bono Nybegynder
25. august 2008 - 11:21 #3
Jeg får følgende ud af IE:

Webstedet kan ikke vise siden.
HTTP 500 
  Mest sandsynlige årsager:
Webstedet er under vedligeholdelse.
Webstedet har en programmeringsfejl.

  Prøv at:
    Opdater siden.

    Gå tilbage til den forrige side.

    Flere oplysninger

Denne fejl (HTTP 500 intern serverfejl) betyder, at et serverproblem på det websted, som du besøger, forhindrede visning af websiden.

Hvis du vil have flere oplysninger om HTTP-fejl, skal du se i Hjælp.
Avatar billede bono Nybegynder
25. august 2008 - 11:22 #4
foresten her er linket til siden, hvorfra jeg har koden: http://www.swish-db.com/tutorials/view.php/tid/601
Avatar billede w13 Novice
25. august 2008 - 11:24 #5
Men har du slået "Vis meddelelser om uskadelige HTTP-fejl" fra? Dvs. fjernet krydset i boksen?
Avatar billede bono Nybegynder
25. august 2008 - 11:31 #6
ja og så kan jeg slet ikke se noget
Avatar billede fennec Nybegynder
25. august 2008 - 11:33 #7
Bare lige for at være sikker...

I IE:
Funktioner >> internetinstillinger >> advanceret >> FJERN afkrydsningen i "Vis meddelser om uskadelig HTTP-fejl".

Så kører du koden igen, også skulle du gerne få PHP fejlbeskrivelsen.
Avatar billede fennec Nybegynder
25. august 2008 - 11:34 #8
Ellers prøv at køre koden i FireFox.
Avatar billede bono Nybegynder
25. august 2008 - 11:38 #9
Har fjernet afkrydsningen -> tomt vindue + ingen fejlmeddelelse.
Har kørt den i firefox og det giver samme resultat.
Avatar billede w13 Novice
25. august 2008 - 11:47 #10
Hvordan ser kildekoden ud for den tomme side?
Avatar billede w13 Novice
25. august 2008 - 11:47 #11
Kan vi evt. se linket?
Avatar billede bono Nybegynder
25. august 2008 - 11:52 #12
Linket til siden hvor forespørgslen sendes fra: ribeklatreklub.dk/register.html som bruger siden register.php (ribeklatreklub.dk/register.php)
Avatar billede bono Nybegynder
25. august 2008 - 11:59 #13
Dette er koden til register.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registrer</title>
</head>
<form name="login" method="post" action="register.php">
<table border="0" width="225" align="center">
    <tr>
        <td width="219" bgcolor="#999999">
            <p align="center"><font color="white"><span style="font-size:12pt;"><b>Registrering</b></span></font></p>
        </td>
    </tr>
    <tr>
        <td width="219">
            <table border="0" width="282" align="center">
                    <tr>
                        <td width="116"><span style="font-size:10pt;">Navn:</span></td>
                        <td width="156"><input type="text" name="name" maxlength="100"></td>
                    </tr>
                    <tr>
                        <td width="116"><span style="font-size:10pt;">Email:</span></td>
                        <td width="156"><input type="text" name="email" maxlength="100"></td>
                    </tr>
                <tr>
                    <td width="116"><span style="font-size:10pt;">Brugernavn:</span></td>
                    <td width="156"><input type="text" name="username"></td>
                </tr>
                <tr>
                    <td width="116"><span style="font-size:10pt;">Password:</span></td>
                    <td width="156"><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td width="116">&nbsp;</td>
                        <td width="156">
                            <p align="right"><input type="submit" name="Opret" value="Opret"></p>
                        </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td width="219" bgcolor="#999999">&nbsp;</td>
    </tr>
</table>
</form>
<body>
</body>
</html>
Avatar billede bono Nybegynder
25. august 2008 - 12:03 #14
ups forkert kode. Dette er den rigtige:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Register</title>
</head>

<body>
<form name="login" method="post" action="register.php">
<table border="0" width="225" align="center">
    <tr>
        <td width="219" bgcolor="#999999">
            <p align="center"><font color="white"><span style="font-size:12pt;"><b>Registrering</b></span></font></p>
        </td>
    </tr>
    <tr>
        <td width="219">
            <table border="0" width="282" align="center">
                    <tr>
                        <td width="116"><span style="font-size:10pt;">Navn:</span></td>
                        <td width="156"><input type="text" name="name" maxlength="100"></td>
                    </tr>
                    <tr>
                        <td width="116"><span style="font-size:10pt;">Email:</span></td>
                        <td width="156"><input type="text" name="email" maxlength="100"></td>
                    </tr>
                <tr>
                    <td width="116"><span style="font-size:10pt;">Brugernavn:</span></td>
                    <td width="156"><input type="text" name="username"></td>
                </tr>
                <tr>
                    <td width="116"><span style="font-size:10pt;">Password:</span></td>
                    <td width="156"><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td width="116">&nbsp;</td>
                        <td width="156">
                            <p align="right"><input type="submit" name="Opret" value="Opret"></p>
                        </td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>
        <td width="219" bgcolor="#999999">&nbsp;</td>
    </tr>
</table>
</form>
</body>
</html>
Avatar billede w13 Novice
25. august 2008 - 12:29 #15
Det ser umiddelbart ud til, at du ikke har slået PHP-fejlmeddelelser til på din server.
Avatar billede w13 Novice
25. august 2008 - 12:29 #16
Før du gør det, bliver det nok lidt svært at komme videre.
Avatar billede bono Nybegynder
25. august 2008 - 12:42 #17
okay og gør jeg hvor? Har jo ikke egen server. Siden ligger jo på et webhotel.
Avatar billede bono Nybegynder
25. august 2008 - 12:47 #18
fandt det selv
Avatar billede bono Nybegynder
25. august 2008 - 12:48 #19
Så skete der noget:

Parse error: syntax error, unexpected T_STRING in /customers/ribeklatreklub.dk/ribeklatreklub.dk/httpd.www/register.php on line 50
Avatar billede w13 Novice
25. august 2008 - 13:19 #20
Og hvilken linje er nr. 50 hos dig?
Avatar billede bono Nybegynder
25. august 2008 - 13:26 #21
$webmaster = ‘Brian Jensen’;
Avatar billede w13 Novice
25. august 2008 - 13:30 #22
Jeg tror måske, det skyldes dine apostroffer, der er forkerte.

Dette:

$yoursite = ‘yoursite’;
$webmaster = ‘John Doe’;
$youremail = ‘webmaster@yoursite.com’;


skal nok være:

$yoursite = 'yoursite';
$webmaster = 'John Doe';
$youremail = 'webmaster@yoursite.com';

Bemærk at disse apostroffer ikke er "skæve".
Avatar billede w13 Novice
25. august 2008 - 13:31 #23
Hvis du bare har kopieret koden, har det bare været den originale sides kode, som har været vist forkert.
Avatar billede bono Nybegynder
25. august 2008 - 13:44 #24
Det var sgu det, rettede lige apostrofferne til de "rigtige". Tænk at jeg havde overset den. Sådan er det jo man kan ikke se skoven for bare træer *G*.

Send det som svar så kan du få dine point
Avatar billede w13 Novice
25. august 2008 - 13:46 #25
;)
Avatar billede w13 Novice
25. august 2008 - 14:25 #26
Tak for point!
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
Computerworld tilbyder specialiserede kurser i database-management

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



IT-JOB