Avatar billede ChristianRLarsen Nybegynder
28. august 2010 - 16:13 Der er 5 kommentarer og
1 løsning

PHP connect fejl

Hej eksperter

Jeg er igang med at opsætte et login, men jeg for denne fejl afvide.

Parse error: syntax error, unexpected T_STRING in /customers/.../.../httpd.www/forum/login/register-exec.php on line 15

Linje 15 i register-exec.php er dette:

    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {

Nogen der hurtigt kan fortælle problemmet, og hvad der skal rettes?

MVH Christian
Avatar billede repox Seniormester
28. august 2010 - 16:20 #1
Der mangler sikkert et semikolon på kodelinien før linie 15.
Avatar billede ChristianRLarsen Nybegynder
28. august 2010 - 16:33 #2
Sådan ser resten af filens kode ud (:

<?php
    //Start session
    session_start();
   
    //Include database connection details
    require_once('config.php');
   
    //Array to store validation errors
    $errmsg_arr = array();
   
    //Validation error flag
    $errflag = false;
   
    //Connect to mysql server
    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }
   
    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    }
   
    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }
   
    //Sanitize the POST values
    $fname = clean($_POST['fname']);
    $lname = clean($_POST['lname']);
    $login = clean($_POST['login']);
    $password = clean($_POST['password']);
    $cpassword = clean($_POST['cpassword']);
   
    //Input Validations
    if($fname == '') {
        $errmsg_arr[] = 'First name missing';
        $errflag = true;
    }
    if($lname == '') {
        $errmsg_arr[] = 'Last name missing';
        $errflag = true;
    }
    if($login == '') {
        $errmsg_arr[] = 'Login ID missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }
    if($cpassword == '') {
        $errmsg_arr[] = 'Confirm password missing';
        $errflag = true;
    }
    if( strcmp($password, $cpassword) != 0 ) {
        $errmsg_arr[] = 'Passwords do not match';
        $errflag = true;
    }
   
    //Check for duplicate login ID
    if($login != '') {
        $qry = "SELECT * FROM members WHERE login='$login'";
        $result = mysql_query($qry);
        if($result) {
            if(mysql_num_rows($result) > 0) {
                $errmsg_arr[] = 'Login ID already in use';
                $errflag = true;
            }
            @mysql_free_result($result);
        }
        else {
            die("Query failed");
        }
    }
   
    //If there are input validations, redirect back to the registration form
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: register-form.php");
        exit();
    }

    //Create INSERT query
    $qry = "INSERT INTO members(firstname, lastname, login, passwd) VALUES('$fname','$lname','$login','".md5($_POST['password'])."')";
    $result = @mysql_query($qry);
   
    //Check whether the query was successful or not
    if($result) {
        header("location: register-success.php");
        exit();
    }else {
        die("Query failed");
    }
?>
Avatar billede ChristianRLarsen Nybegynder
28. august 2010 - 17:44 #3
Fik selv ordnet det, havde skrevet forkert i min fil med database informationerne.Ellers tak for hjælpen(:

Svar
Avatar billede repox Seniormester
28. august 2010 - 18:48 #4
Ja? Havde jeg ikke ret i at du manglede et semikolon? Eller vil du bare ikke dele med os andre hvad du fandt ud af fejlen var?
Avatar billede Slettet bruger
28. august 2010 - 22:51 #5
$link = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);

?
Avatar billede repox Seniormester
28. august 2010 - 23:03 #6
#5
Umiddelbart vil PHP opfatte dem som konstanter og idet de ikke eksisterer, vil deres navn være tekstværdien af dem.

Men jeg tror OP vælger at holde problemet for sig selv...
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