inhoud weergeven per gebruiker

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jules Kreutzer

Jules Kreutzer

22/07/2011 23:27:48
Quote Anchor link
Hallo,

Ik heb nu verschillende pagina's wat een gebruik die ingelogd kan bekijken gemaakt. Ik heb hierbij ook een pagina waarbij een gebruiker kan zien welke producten hij besteld heeft. In mijn beheerders gedeelte heb ik een script waarmee ik producten kan toevoegen in een database.

Nu wil ik dat degene die ingelogd is de producten te zien krijgt die hij heeft aangekocht.

Want als ik nu de producten voor jantje in de database zet, kan pietje deze ook zien.

Hoe kan ik dit het beste oplossen?

alvast bedankt!
 
PHP hulp

PHP hulp

22/12/2024 13:15:23
 
Bart V B

Bart V B

22/07/2011 23:44:41
Quote Anchor link
Zonder relevante code is het een beetje gissen.
Je kan een session het id van de gebruiker meegeven.
Dan zou het op zoiets uitkomen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

$Ssql
= "SELECT productname,
                productphoto
                FROM
                products
                WHERE
                user_id = '"
.mysql_real_escape_string($_SESSION['user_id'])."'";
?>
 
Jules Kreutzer

Jules Kreutzer

22/07/2011 23:48:14
Quote Anchor link
Op de pagina waar de producten moeten worden weergegeven, staat de volgende code om de toegang voor gebruikers die niet zijn ingelogd te blokkeren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
if (!isset($_SESSION)) {
  session_start();
}

$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
  // For security, start by assuming the visitor is NOT authorized.
  $isValid = False;

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
  // Therefore, we know that a user is NOT logged in if that Session variable is blank.

  if (!empty($UserName)) {
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
    // Parse the strings into arrays.

    $arrUsers = Explode(",", $strUsers);
    $arrGroups = Explode(",", $strGroups);
    if (in_array($UserName, $arrUsers)) {
      $isValid = true;
    }

    // Or, you may restrict access to only certain users based on their username.
    if (in_array($UserGroup, $arrGroups)) {
      $isValid = true;
    }

    if (($strUsers == "") && true) {
      $isValid = true;
    }
  }

  return $isValid;
}


$MM_restrictGoTo = "../login.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {  
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0)
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo);
  exit;
}

?>

<?php
if (!function_exists("GetSQLValueString")) {
function
GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{

  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }


  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case
"text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case
"long":
    case
"int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case
"double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case
"date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case
"defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }

  return $theValue;
}
}


$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}

$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

mysql_select_db($database_db_connect, $db_connect);
$query_Recordset1 = "SELECT * FROM producten";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $db_connect) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
}
else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}

$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
?>


Met het script voor het invoegen heb ik geen probleem aangezien ik hier via dreamweaver kan selecteren hoe ik de informatie in een database wil stoppen.

Informatie wordt d.m.v de volgende code weergegeven in een tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<table width="200" border="1">
          <tr>
            <td><?php echo $row_Recordset1['id']; ?></td>
            <td><?php echo $row_Recordset1['ProductNaam']; ?></td>
            <td><?php echo $row_Recordset1['DatumAankoop']; ?></td>
          </tr>
Gewijzigd op 22/07/2011 23:49:23 door Jules Kreutzer
 
Bart V B

Bart V B

22/07/2011 23:55:19
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query_Recordset1 = "SELECT * FROM producten";


Daar zal je op de een of andere manier een WHERE moeten toevoegen.
Dat zal ergens vandaan moeten komen uit een tabel users/bestellingen o.i.d. evt. met een JOIN.
Hier kan ik met deze code niet veel van maken.
 
Jules Kreutzer

Jules Kreutzer

22/07/2011 23:57:44
Quote Anchor link
ow ok, heb je misschien ergens een tutorials daarover want snap niet goed wat je bedoeld
 
Bart V B

Bart V B

23/07/2011 00:11:17
Quote Anchor link
ok..
Ik doe nog een poging :P

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query_Recordset1 = "SELECT * FROM producten";


Daar word bij jou de query opgebouwd.
Je wil per gebruiker laten zien welke producten ze hebben gekocht.
Dus op de een of andere manier moet er dus in plaats van "alles selecteren van producten" een WHERE clause toegevoegd worden.

Dus je hebt waarschijnlijk ook ergens een tabel met 'gekochte producten'
Die moet je aan elkaar koppelen.

Het makkelijkst is als er in de gekochte producten dus ergens iets van een user id staat. Dan kan je een die 2 koppelen aan het tabel products.
Dus dan krijg je zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$query_Recordset1 = "SELECT producten.productname,
                            orders.user_id
                            FROM
                            producten
                            LEFT JOIN
                            ON
                            producten.id = order.productid
                            WHERE
                            orders.userid = '".$_SESSION['user_id']."'";


Die $_SESSION['user_id'] is even verzonnen want ik weet natuurlijk niet welke sessions dat je aanmaakt. Maar zoiets zou je het moeten voorstellen.

EDIT typo gemaakt.
Gewijzigd op 23/07/2011 00:18:46 door Bart V B
 
Jules Kreutzer

Jules Kreutzer

23/07/2011 00:27:52
Quote Anchor link
ok zal morgen eens proberen en dan laat ik wel wat weten!
alvast bedankt
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.