user id hulp
ik heb een website met een like button,dus als ingelogde leden erop klikken dan vinden ze dat leuk en wordt dat in mijn database geregistreerd.nu is het probleem dat ik op het moment een code heb die alleen voor mijzelf bestemd is.en dat is niet de bedoeling.
hieronder laat ik de code zien.waar nummer 1 staat moet dus iets komen zodat niet alleen ik erop kan klikken wat nu net het groote probleem is.er moet op de plaats van de nummer 1 iets komen te staan zodat ieder ingelogd lid kan klikken erop.want in mijn data base geeft hij constant mijn user_id aan.wie kan mij helpen ik zit met mijn handen in het haar.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
$_SESSION['user_id'] = '1';
include 'db/connect.php';
include 'func/articles.php';
include 'func/like.php';
?>
session_start();
$_SESSION['user_id'] = '1';
include 'db/connect.php';
include 'func/articles.php';
include 'func/like.php';
?>
groeten van angelo knarren
je moet daar een variable achter zetten die verwijst naar de id in je database dus iets in de trend van $user_id of wat je ook gebruikt
heb session start weg gelaten.zoals in het eerste berricht vermeld.
gaf alleen maar meer errors aan.zoals hij nu is werkt het alleen onder mijn user_id user_id '1' en daar moet ik wat anders op vinden.zodat andere gebruikers ook gebruik kunnen maken van de like button.mvg
Code (php)
Gewijzigd op 06/03/2012 01:46:41 door projectx verheijden
Wat je nu laat zien is alleen ma 3 include file's en een session code waar je de user_id hardcore aangeeft. Dit gaf Reshadd ook al aan net.
Toevoeging op 06/03/2012 02:07:43:
dit is wat ik heb.
de like.php code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
function article_exists($article_id) {
$article_id = (int)$article_id;
return (mysql_result(mysql_query("SELECT COUNT(`article_id`) FROM `articles` WHERE `article_id` = $article_id"), 0) == 0) ? false : true;
}
function previously_liked($article_id) {
$article_id = (int)$article_id;
return (mysql_result(mysql_query("SELECT COUNT(`like_id`) FROM `likes` WHERE `user_id` = ".$_SESSION['user_id']." AND `article_id` = $article_id"), 0) == 0) ? false : true;
}
function like_count($article_id) {
$article_id = (int)$article_id;
return (int)mysql_result(mysql_query("SELECT `article_likes` FROM `articles` WHERE `article_id` = $article_id"), 0, 'article_likes');
}
function add_like($article_id) {
$article_id = (int)$article_id;
mysql_query("UPDATE `articles` SET `article_likes` = `article_likes` + 1 WHERE `article_id` = $article_id");
mysql_query("INSERT INTO `likes` (`user_id`, `article_id`) VALUES (".$_SESSION['user_id'].", $article_id)");
}
?>
function article_exists($article_id) {
$article_id = (int)$article_id;
return (mysql_result(mysql_query("SELECT COUNT(`article_id`) FROM `articles` WHERE `article_id` = $article_id"), 0) == 0) ? false : true;
}
function previously_liked($article_id) {
$article_id = (int)$article_id;
return (mysql_result(mysql_query("SELECT COUNT(`like_id`) FROM `likes` WHERE `user_id` = ".$_SESSION['user_id']." AND `article_id` = $article_id"), 0) == 0) ? false : true;
}
function like_count($article_id) {
$article_id = (int)$article_id;
return (int)mysql_result(mysql_query("SELECT `article_likes` FROM `articles` WHERE `article_id` = $article_id"), 0, 'article_likes');
}
function add_like($article_id) {
$article_id = (int)$article_id;
mysql_query("UPDATE `articles` SET `article_likes` = `article_likes` + 1 WHERE `article_id` = $article_id");
mysql_query("INSERT INTO `likes` (`user_id`, `article_id`) VALUES (".$_SESSION['user_id'].", $article_id)");
}
?>
dit is de articles.php code.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function get_articles() {
$articles = array();
$query = mysql_query("SELECT `article_id`, `article_title`, `article_likes` FROM `articles`");
while (($row = mysql_fetch_assoc($query)) !== false) {
$articles[] = array(
'article_id' => $row['article_id'],
'article_title'=> $row['article_title'],
'article_likes'=> $row['article_likes']
);
}
return $articles;
}
?>
function get_articles() {
$articles = array();
$query = mysql_query("SELECT `article_id`, `article_title`, `article_likes` FROM `articles`");
while (($row = mysql_fetch_assoc($query)) !== false) {
$articles[] = array(
'article_id' => $row['article_id'],
'article_title'=> $row['article_title'],
'article_likes'=> $row['article_likes']
);
}
return $articles;
}
?>
de index-klik.php code
<!doctype html>
<head>
<title>articles</title>
<link rel="stylesheet" href="cssmap/style.css" />
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$articles = get_articles();
if (count($articles) == 0) {
echo 'sorry no articles there';
} else {
echo '<ul>';
foreach ($articles as $article) {
echo '<li><p>', $article['article_title'], '</p><p><a class="like" href="#" onclick="like_add(', $article['article_id'], ');">like</a> <span id="article_', $article['article_id'], '_likes">', $article['article_likes'], '</span> like this </p></li>';
}
echo '</ul>';
}
?>
$articles = get_articles();
if (count($articles) == 0) {
echo 'sorry no articles there';
} else {
echo '<ul>';
foreach ($articles as $article) {
echo '<li><p>', $article['article_title'], '</p><p><a class="like" href="#" onclick="like_add(', $article['article_id'], ');">like</a> <span id="article_', $article['article_id'], '_likes">', $article['article_likes'], '</span> like this </p></li>';
}
echo '</ul>';
}
?>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/like.js"></script>
</body>
</html>
en de like.js code
function like_add(article_id) {
$.post('ajax/like_add.php', {article_id:article_id}, function(data) {
if (data == 'success') {
like_get(article_id);
} else {
alert(data);
}
});
}
function like_get(article_id) {
$.post('ajax/like_get.php', {article_id:article_id}, function(data) {
$('#article_'+article_id+'_likes').text(data);
});
}
like_add.php code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
include '../core/initmap.php';
if (isset($_POST['article_id'], $_SESSION['user_id']) && article_exists($_POST['article_id'])) {
$article_id = $_POST['article_id'];
if (previously_liked($article_id) === true) {
echo 'je hebt al meegedaan met deze enquete.';
} else {
add_like($article_id);
echo 'success';
}
}
?>
include '../core/initmap.php';
if (isset($_POST['article_id'], $_SESSION['user_id']) && article_exists($_POST['article_id'])) {
$article_id = $_POST['article_id'];
if (previously_liked($article_id) === true) {
echo 'je hebt al meegedaan met deze enquete.';
} else {
add_like($article_id);
echo 'success';
}
}
?>
like_get.php code
Code (php)
mocht er meer nodig zijn hoor ik het heel graag.mvg
Toevoeging op 06/03/2012 02:12:16:
ik heb ook nog de user.func.php code voor u.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
function logged_in() {
return isset($_SESSION['user_id']);
}
function login_check($email, $password) {
$email = mysql_real_escape_string($email);
$login_query = mysql_query("SELECT COUNT(`user_id`) as `count`, `user_id` FROM `users` WHERE `email`='$email' AND `password`='".md5($password)."'");
return (mysql_result($login_query, 0) == 1) ? mysql_result($login_query, 0, 'user_id') : false;
}
function user_data() {
$args = func_get_args();
$fields = '`'.implode('`, `', $args).'`';
$query = mysql_query("SELECT $fields FROM `users` WHERE `user_id`=".$_SESSION['user_id']);
$query_result = mysql_fetch_assoc($query);
foreach ($args as $field) {
$args[$field] = $query_result[$field];
}
return $args;
}
function user_register($email, $name, $password) {
$email = mysql_real_escape_string($email);
$name = mysql_real_escape_string($name);
mysql_query("INSERT INTO `users` VALUES ('', '$email', '$name', '".md5($password)."')");
return mysql_insert_id();
}
function user_exists($email) {
$email = mysql_real_escape_string($email);
$query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `email`='$email'");
return (mysql_result($query, 0) == 1) ? true : false;
}
?>
function logged_in() {
return isset($_SESSION['user_id']);
}
function login_check($email, $password) {
$email = mysql_real_escape_string($email);
$login_query = mysql_query("SELECT COUNT(`user_id`) as `count`, `user_id` FROM `users` WHERE `email`='$email' AND `password`='".md5($password)."'");
return (mysql_result($login_query, 0) == 1) ? mysql_result($login_query, 0, 'user_id') : false;
}
function user_data() {
$args = func_get_args();
$fields = '`'.implode('`, `', $args).'`';
$query = mysql_query("SELECT $fields FROM `users` WHERE `user_id`=".$_SESSION['user_id']);
$query_result = mysql_fetch_assoc($query);
foreach ($args as $field) {
$args[$field] = $query_result[$field];
}
return $args;
}
function user_register($email, $name, $password) {
$email = mysql_real_escape_string($email);
$name = mysql_real_escape_string($name);
mysql_query("INSERT INTO `users` VALUES ('', '$email', '$name', '".md5($password)."')");
return mysql_insert_id();
}
function user_exists($email) {
$email = mysql_real_escape_string($email);
$query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `email`='$email'");
return (mysql_result($query, 0) == 1) ? true : false;
}
?>
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
session_start();
$_SESSION['user_id'] = $_SESSION['user_id'];
include 'db/connect.php';
include 'func/articles.php';
include 'func/like.php';
?>
session_start();
$_SESSION['user_id'] = $_SESSION['user_id'];
include 'db/connect.php';
include 'func/articles.php';
include 'func/like.php';
?>
Want je wilt de user_id mee geven lijkt mij.
Maar dit is eigenlijk ook weer overbodig variabellen copyeren.
Gewijzigd op 06/03/2012 02:22:35 door Frank WD
Parse error: syntax error, unexpected T_STRING in /home/id2918/domains/mijndagcash.nl/public_html/core/initmap.php on line 3
Toevoeging op 06/03/2012 02:40:17:
bij include 'func/articles.php
en include 'func/like.php
is de code zo.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
session_start();
$_SESSION['user_id'] = $_SESSION ['user_id'];
include 'db/connections.php';
include 'functions/articles.php';
include 'functions/like.php';
?>
session_start();
$_SESSION['user_id'] = $_SESSION ['user_id'];
include 'db/connections.php';
include 'functions/articles.php';
include 'functions/like.php';
?>
zie net pas de fout hierboven.maar werkt nog steeds niet.
Toevoeging op 06/03/2012 02:51:50:
hij registreerd nu wel de ingelogde leden.maar krijg een warning melding.ik schrijf hem even over en plaats hem.alvast bedankt voor de hulp dat de geregistreerde leden kunnen voten via de like button.mvg
Toevoeging op 06/03/2012 02:58:03:
deze melding krijg ik op het moment.het registreren van de user_id werkt.zit nu nog met deze melding.
<br />
<b>warning</br>: session_start()[<a href='function.session-start'>function.session-start</a>]:cannot send session
cache limiter - headers already sent (output started at /home/id2918/domains/mijndagcash.nl/public_html
/ajax/like_add.php:1) in <b>/home/id2918/domains/mijndagcash.nl/publick_html.core/initmap.php</b> on line <b>2</b><br
/>
mvg hr knarren
Toevoeging op 06/03/2012 03:50:49:
hallo ik zag net in mijn bestanden een map die genaamd is init.php
daar staat ook een session_start in.kan het mischien zijn dat ie deze ook gebruikt.en zal ik de code die in initmap.php moeten invoegen bij init.php
of maakt dat niks uit waar de session_start staat.als het maar in verschillende mappen staat.??
mvg
Gewijzigd op 06/03/2012 03:18:33 door projectx verheijden
session_start() zet je meestal, denk ik, in jouw geval in het config bestand
hij doet het perfect de leden worden na klikken geregistreerd.
hij geeft me alleen nog een warning aan.ben nu aan het zoeken wat dat kan zijn.
mischien weet iemand het......
dit geeft hij aan.
<br />
<b>warning</br>: session_start()[<a href='function.session-start'>function.session-start</a>]:cannot send session
cache limiter - headers already sent (output started at /home/id2918/domains/mijndagcash.nl/public_html
/ajax/like_add.php:1) in <b>/home/id2918/domains/mijndagcash.nl/publick_html.init.php</b> on line <b>2</b><br
/>
je hebt al eens geklikt op de like button.
hij meld dus ook dat ik all eens geklikt heb.alleen die warning erboven kom ik niet uit.het staat ook netjes in de database geregistreerd.
de init.php map op het moment
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
ob_start();
session_start();
$_SESSION['user_id'] = $_SESSION['user_id'];
mysql_connect('localhost', 'root', '');
mysql_select_db('visualupload');
include 'func/user.func.php';
include 'core/articles.php';
include 'core/like.php';
?>
ob_start();
session_start();
$_SESSION['user_id'] = $_SESSION['user_id'];
mysql_connect('localhost', 'root', '');
mysql_select_db('visualupload');
include 'func/user.func.php';
include 'core/articles.php';
include 'core/like.php';
?>
dit is de like_add.php pagina
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
include '../init.php';
if (isset($_POST['article_id'], $_SESSION['user_id']) && article_exists($_POST['article_id'])) {
$article_id = $_POST['article_id'];
if (previously_liked($article_id) === true) {
echo 'je hebt al meegedaan met deze enquete.';
} else {
add_like($article_id);
echo 'success';
}
}
?>
include '../init.php';
if (isset($_POST['article_id'], $_SESSION['user_id']) && article_exists($_POST['article_id'])) {
$article_id = $_POST['article_id'];
if (previously_liked($article_id) === true) {
echo 'je hebt al meegedaan met deze enquete.';
} else {
add_like($article_id);
echo 'success';
}
}
?>
in mijn logout file staat ook een session_start.kan het anders hiermee temaken hebben omdat hij ook in de warning 2 keer de session_start aangeeft als mogelijke fout.of heb ik dat verkeerd???
mvg
Gewijzigd op 06/03/2012 08:37:28 door projectx verheijden
De foutmelding geeft aan wat er fout gaat en waar het fout gaat.
ob_start(); --> niet gebruiken. Als je op de juiste manier script heb je dat doorgaans niet nodig.
Zet error-reporting aan, bovenaan in je script.