2012-04-26 2 views
0

나는 PHP &에 매우 익숙하다. 취미로 친구들을 위해 웹 사이트를 디자인하기 만하면 어떤 도움도 크게 받으실 수 있습니다. 내 페이지에 간단한 문의 양식이있을 때 정보를 제출할 때 오류 메시지가 계속 나타납니다.PHP와 MySQL 초급 문제

<?php 
$con = mysql_connect("localhost","user","password"); 
if (!$con)) { 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("database_name", $con); 

$sql="INSERT INTO contact (first_name, last_name, email, phone, message) 
VALUES 
('$_POST[first_name]','$_POST[last_name]','$_POST[email]','$_POST[phone]','$_POST[message])"; 

if (!mysql_query($sql,$con)) { 
die('Error: ' . mysql_error()); 
} 
echo "1 record added"; 

mysql_close($con); 
?> 

내가 내 이름 & 암호가 필요한 듯했지만 나는 거기에 "localhost"를 계속 다음은 PHP입니다. 이 올바른지? 나는 webhostingpad를 통해 호스팅하고 있습니다. 위의 데이터베이스 이름도 삽입합니다.

<!--Start of order form--> 

<form id="contactform" method="POST" action="http://www.talephotography.com/insert.php"> 
<p><label>First Name:<br /> 
<input type="text" name="first_name" class="textfield" value="" /> 
</label></p> 

<p><label>Last Name:<br /> 
<input type="text" name="last_name" class="textfield" value="" /> 
</label></p> 

<p><label>Email: <br /> 
<input type="text" name="email" class="textfield" value="" /> 
</label></p> 

<p><label>Phone: <br /> 
<input type="text" name="phone" class="textfield" value="" /> 
</label></p> 

<p><label>Message: <br /> 
<textarea name="message" class="textarea" cols="45" rows="5"></textarea> 
</label></p> 

<p><input type="submit" name="submit" class="button" value="Submit" /></p> 
</form> 
<!--End of order form--> 

난 아무데도 필요한 정교한 수 있습니다 : 여기 내 HTML입니다.


일부 코드가 변경되었지만 이메일 주소 만 데이터베이스에 게시합니다.

mysql_select_db("databasename", $con); 

$first = mysql_real_escape_string($_POST['first']); 
$last = mysql_real_escape_string($_POST['last']); 
$email = strip_tags(mysql_real_escape_string($_POST['email'])); 
$number = preg_replace('/[^0-9]/', '', $_POST['number']); 
$number = (int) $number; 


$sql="INSERT INTO contact (first, last, email, phone); 
VALUES 
('$first','$last','$email','$number')"; 

내 코드는 있지만 데이터베이스를 확인할 때 나열되는 유일한 정보는 전자 메일 주소입니다.

+1

오류 메시지 란 무엇입니까? – Tchoupi

+0

호스팅을 받았을 때 정보가 포함 된 이메일을받지 못 했습니까? – JonathanRomer

+0

보통 코드를 복사하여 붙여 넣어 실제로 오류를 알려주는 경우 도움이됩니다. 코드 블록을 읽지 않고도 답변을 찾을 수있을 때 도움이되는 일이 줄어 듭니다. – mjsa

답변

3

localhost 데이터베이스 서버가 웹 서버와 동일한 컴퓨터에 있으면 정확합니다. 데이터베이스를 설정할 때 연결해야 할 곳을 말해 줘야합니다.

그건 그렇고, ---------- 입력에 감춰주세요 !!!!

는 진심으로, 그 변수를 가지고 mysql_real_escape_string 깨끗이 씻어 다음 쿼리에에게 그들을 연결하여. 나중에 고마워 할거야.

+4

또는 [PDO] (http://php.net/manual/en/book.pdo.php)를 사용하십시오. –

+0

Id 또한 "DONT USE ---- ing ext/mysql"에 추가하십시오! Mysqli 또는 PDO를 사용하십시오 :-) – prodigitalson

+0

@prodigitalson MySQL 사용법을 알고있는 한 MySQL (또는 다른 시스템)에 아무런 문제가 없습니다. –

0

당신은 당신의 if 문에 추가 ) 있습니다

if (!$con)) { 

예를 들어

if (!$con) { 
0
if (!$con)) it is wrong one extra ')' present here, remove ')' and then execute 

해야

 if (!$con){ 

     //do something 

      } 
0
잘못

그 쿼리, 당신이 a; 그것은 귀하의 질문의 중간에 있습니다.

$sql="INSERT INTO contact (first, last, email, phone); 
    VALUES 
('$first','$last','$email','$number')"; 

첫 줄 끝 부분에 주목하십시오. 이 변경 :

$sql="INSERT INTO contact VALUES 
('$first','$last','$email','$number')"; 
0

문제는 세 번째 라인

$con = mysql_connect("localhost","user","password"); 
if (!$con)) { 
die('Could not connect: ' . mysql_error()); 
} 

세 번째 줄에 추가 닫는 대괄호 )이 함께합니다. 그것을 제거하고 나서 보일 라!

희망이 도움이됩니다.