사용자의 로그인 이름,받는 사람 이름 및 메시지 내용을 가져 와서 SQL 데이터베이스에 쓰는 간단한 PHP 시스템을 만들려고했습니다. 나는 메시지를 보내고 페이지를 새로 고친 후에도 오류가 전혀없는 지점에 있습니다. 그러나 새로운 항목이 내 SQL 데이터베이스에 표시되지 않습니다 (phpMyAdmin을 통해 확인). 그런데이 코드는 모두 같은 페이지에 있습니다.SQL 데이터베이스에 변수를 쓸 수 없습니다.
가 수집하는 HTML 양식을 시작은 데이터 :
다음<form name="login" action="" method="POST">
<p>Recipient: <input type="text" name="recipient"/></p>
<p>Message: <input type="text" name="contents"/></p>
<input type="Submit" Name="submit" value="Send"/>
</form>
I 설치 SQL 데이터베이스에 연결 :
<?php
$link = mysqli_connect('host','username','password','database');
$sqlaction = 'INSERT INTO $userinbox (Sender, Message) VALUES ($email, $username)';
?>
그런 다음 데이터베이스에 정보를 입력하는 기능 :
<?php
session_start();
function message($link, $sqlaction)
{
$sender = $_SESSION['name'];
$recipient = strtolower($_POST['recipient']);
$contents = $_POST['contents'];
switch ($recipient) {
case 'person1':
$userinbox = 'person1';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person2':
$userinbox = 'person2';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person3':
$userinbox = 'person3';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person4':
$userinbox = 'person4';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
default:
echo 'Current valid users are list of users';
}
}
마지막으로 데이터베이스 연결을 전달하는 함수를 호출합니다. varia bles :
하지만 말한 것처럼 아무 것도 데이터베이스에 표시되지 않습니다. 나는 이것을 디버깅하는 데 4 일을 보냈으며 포기할 직전에있다. 어떤 도움이라도 대단히 감사하겠습니다.
팁을 말했다 @devaldcool 일 같은 것을 받게됩니다
을 reporing 사용하는 경우 : 각 사용자의받은 편지함에 대해 별도의 테이블이 필요하지 않습니다. 그냥받은 편지함이라는 테이블을 만들고 user_id, owner_id 등의 필드를 추가하십시오. 그런 다음 동일한 테이블에 저장된 모든 항목을 사용하여 spesific 사용자받은 편지함의 콘텐츠를 가져올 수 있습니다. 이유는 10.000 (100 명)의 사용자가 생기면 DB가 엉망으로 보일 것입니다. – JimL