2014-03-30 2 views
0

답변을 제공해 주셔서 감사합니다! 나는 많은 피드백을 받았으며 대답을 가지고 고쳐 썼다. 감사!MySQL 함수가 작동하지 않습니다.

나는 내 웹 사이트에 대한 사용자 로그인 시스템을 만들기 위해 노력하고 있습니다. 업데이트를 원한다면 정확한 파일을 로컬 서버 (Apache/2.2.22 (Ubuntu))로 옮기고 갑자기 작동하지 않습니다. 데이터베이스가 외부이므로 호스트 이름을 변경할 필요가 없습니다. 어떤 아이디어? 오류가 없으면 MySQL 비트를 구문 분석하지 않습니다.

연결 파일 :

<?php 
    $host = "xxxxxxx.xxxxxxxxx.xx.xx"; 
    $user = "sh0u_xxxxxx"; 
    $pass = "xxxxx"; 
    $db = "sh0u_1xxxxx_store"; 
    mysql_connect($host,$user,$pass) or die("Unable To Connect To Database"); 
    mysql_select_db($db) 
?> 

로그인 파일 :

<?php 
    session_start(); 
    session_destroy(); 
    include('connect.php'); 
    $email = $_POST['email']; 
    $pass = md5($_POST['password']); 
    $query = mysql_query("SELECT * FROM users WHERE email='".$email."' AND password='".$pass."'"); 
    $numrows = mysql_num_rows($query); 
    if($numrows === 1) { 
     session_start(); 
     $_SESSION['sid'] = "".$email.":".$pass.""; 
     header('Location:../index.php'); 
    }else { 
     include('../login.php'); 
     echo "<script>alert('Incorrect Username and/or Password');</script>"; 
    } 
?> 
+1

데이터베이스 서버에 http 연결을해야한다고 생각하지 않습니다. – andrewsi

+0

어떤 PHP를 실행합니까? – putvande

+0

그것 없이도 작동하지 않습니다. – user3478443

답변

0

대부분의 호스팅 제공 업체들이 자신의 계획을 포함하는 데이터베이스에 대한 외부 액세스를 허용하지 않습니다. 뿐만 아니라 그들 대부분은 localhost를 데이터베이스 서버로 사용하여 소켓 연결을 강제합니다 (따라서 DB에 대한 네트워크 연결을 완전히 비활성화 할 수도 있습니다).

스크립트 및 사이트를 로컬에서 테스트하려면 데이터베이스 덤프를 다운로드하고 직접 로컬 버전을 만들어야합니다. 댓글에서 언급 한 바와 같이 코드

다른 문제는 당신은 다음과 같습니다

  • 당신은 당신은
  • 살균하지 않는 대신 기존의 (그리고 사용되지 않음) MySQL의 확장의의 MySQL Improved Extension를 사용한다 쿼리에 사용하는 데이터 (준비된 문 사용)
  • MD5는 암호로 안전하지 않으므로 대신
  • 을 사용해야합니다.

+0

글쎄, 도움이 될지 모르겠 군. Ubuntu CPU에 MySql을 어떻게 설치합니까? – user3478443

+0

'sudo apt-get mysql-server' 설치 – Toote

관련 문제