아래와 같이 내 SQL 테이블에 저장하는 사용자 입력에 노력하고있어 my database http://goawaymom.com/test.png시작 변수
내가 그들의 '이메일', 'FIRSTNAME'에 대한 사용자를 조회 , '성'및 'about'을 입력하십시오. here. 그러나 사용자 입력이 데이터베이스에 저장되지 않습니다. 나는 이것이 session_start 변수에 문제가 있다고 확신하지는 않는다. 세션이 등록 된 사용자에게만 고유 한 저장을 시작하거나 저장하지 않는다고 생각합니다. 내가 PHP를 처음 접했을 때 나는이 코드 tutorial을 기반으로했다.
editprofile.php은
<?php
session_start();
include('core/init_inc.php');
if(isset($_POST['email'], $_POST['about'], $_POST['firstname'], $_POST['lastname'])){
$errors = array();
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false){
$errors[] = 'The email address you entered is not valid';
}
if (empty($errors)){
set_profile_info($_POST['email'],$_POST['about']);
}
$user_info = array(
'email' => htmlentities($_POST['email']),
'about' => htmlentities($_POST['about']),
'firstname' => htmlentities($_POST['firstname']),
'lastname' => htmlentities($_POST['lastname'])
);
} else {
$user_info = fetch_user_info($SESSION['uid']);
}
?>
어떤 도움을 주시면 감사하겠습니다. 다시 한 번 내 질문은 왜 내 php 데이터베이스에 저장하는 내 editprofile.php 양식의 데이터가 아니며 어떻게 수정해야합니까? 사전에 감사 드리며, 더 많은 코드가 필요하다면 나는 그것을 기꺼이 제공 할 것입니다. 이 양식은 웹 사이트에 등록 할 때 here에 액세스 할 수 있습니다.
function fetch_users() {
$result = mysql_query('SELECT `user_id` AS `id`, `username` FROM `users`');
$users = array();
while (($row = mysql_fetch_assoc($result)) !== false){
$users[ ] = $row;
}
return $users;
}
//fetches profile information for the given user
function fetch_user_info($uid){
$uid = (int)$uid;
$sql = "SELECT
`username`,
`user_firstname` AS `firstname`,
`user_lastname` AS `lastname`,
`user_about` AS `about`,
`user_email` AS `email`
FROM `users`
WHERE `user_id` = {$uid}";
$result = mysql_query($sql);
return mysql_fetch_assoc($result);
}
//updates the current user profile info
function set_profile_info($email, $about){
$email = mysql_real_escape_string(htmlentities($email));
$about = mysql_real_escape_string(nl2br(htmlentities($about)));
$sql = "UPDATE `users` SET
`user_email` = `{$email}`,
`user_about` = `{about}`
WHERE `user_id` = {$_SESSION[`uid`]}";
mysql_query($sql);
}
?>
내가 대신를 htmlentities의 mysql_real_escape_string를 사용한다고 생각합니다. – JochemQuery
코드에 데이터베이스에 내용을 쓰는 데 필요한 것이 없습니다. 당신은'set_profile_info'에서 그것을합니까? 어떤 경우에는 질문에 해당 코드를 추가 할 수 있습니다. – andrewsi
실제로 사용자 정보를 저장하려고 시도하는 코드는 어디에 있습니까? 그리고'fetct_user_info()'는 어떻게 생겼는가? –