Tabellen Koppelen
Pagina: « vorige 1 2 3 volgende »
foutmeldingen? anders post je script, kunnen wij kijken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
//...............
$result = mysql_query($sql);
if ($result === false) {
echo 'De query:<br> ' . $sql . '<br>';
echo 'heeft de volgende fout opgeleverd:<br>' . mysql_error();
}
else {
//hier de berichten tonen
}
?>
//...............
$result = mysql_query($sql);
if ($result === false) {
echo 'De query:<br> ' . $sql . '<br>';
echo 'heeft de volgende fout opgeleverd:<br>' . mysql_error();
}
else {
//hier de berichten tonen
}
?>
als iemand inlogt:
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
45
46
47
48
49
50
51
52
53
54
55
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
<?php
session_start();
require_once("includes/connectie.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$password = md5($_POST['wachtwoord']);
if(isset($_POST['gebruikersnaam']) && isset($password) && strlen($_POST['gebruikersnaam']) > 2 && strlen($password) > 4) {
$query = "SELECT P_ID, gebruikersnaam, wachtwoord, status
FROM users
WHERE
gebruikersnaam='" . mysql_real_escape_string($_POST["gebruikersnaam"]) ."'
AND
wachtwoord='" . mysql_real_escape_string($password) ."'"; //mysql_real_escape_string dient om "SQL injection" tegen te gaan.
$result = mysql_query($query) or die("FOUT : " . mysql_error());
if($row = mysql_fetch_assoc($result)) {
// indien je hier terecht komt, is er een gebruiker gevonden. De combinatie username / password klopt
// nu nog even kijken of de user beheerder is.
if ($row['status'] == 1) {
// ja; 't is een beheerder
$_SESSION['gebruikersnaam'] = ($_POST['gebruikersnaam']);
$_SESSION['status1'] = ($_POST['status'] == 1);
header('Location: beheerderpagina.php');
}
else {
// nope; 't is geen beheerder
header('Location: index.php');
}
if ($row['status'] == 0) {
// ja t is een gebruiker
$_SESSION['gebruikersnaam'] = ($_POST['gebruikersnaam']);
$_SESSION['status2'] = ($_POST['status'] == 0);
$_SESSION['userId'] = ($_POST['P_ID']);
header('Location: gebruikerspagina.php');
}
else {
// nope; 't is geen gebruiker
header('Location: index.php');
}
}
else {
header('Refresh: 3; url=index.php');
echo "Verkeerde combinatie gebruikersnaam en wachtwoord. Je wordt teruggestuurd.";
}
}
else {
header('Refresh: 3; url=index.php');
echo "Je hebt 1 of meerdere velden niet ingevuld. Je wordt teruggestuurd.";
}
}
mysql_close();
?>
session_start();
require_once("includes/connectie.php");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$password = md5($_POST['wachtwoord']);
if(isset($_POST['gebruikersnaam']) && isset($password) && strlen($_POST['gebruikersnaam']) > 2 && strlen($password) > 4) {
$query = "SELECT P_ID, gebruikersnaam, wachtwoord, status
FROM users
WHERE
gebruikersnaam='" . mysql_real_escape_string($_POST["gebruikersnaam"]) ."'
AND
wachtwoord='" . mysql_real_escape_string($password) ."'"; //mysql_real_escape_string dient om "SQL injection" tegen te gaan.
$result = mysql_query($query) or die("FOUT : " . mysql_error());
if($row = mysql_fetch_assoc($result)) {
// indien je hier terecht komt, is er een gebruiker gevonden. De combinatie username / password klopt
// nu nog even kijken of de user beheerder is.
if ($row['status'] == 1) {
// ja; 't is een beheerder
$_SESSION['gebruikersnaam'] = ($_POST['gebruikersnaam']);
$_SESSION['status1'] = ($_POST['status'] == 1);
header('Location: beheerderpagina.php');
}
else {
// nope; 't is geen beheerder
header('Location: index.php');
}
if ($row['status'] == 0) {
// ja t is een gebruiker
$_SESSION['gebruikersnaam'] = ($_POST['gebruikersnaam']);
$_SESSION['status2'] = ($_POST['status'] == 0);
$_SESSION['userId'] = ($_POST['P_ID']);
header('Location: gebruikerspagina.php');
}
else {
// nope; 't is geen gebruiker
header('Location: index.php');
}
}
else {
header('Refresh: 3; url=index.php');
echo "Verkeerde combinatie gebruikersnaam en wachtwoord. Je wordt teruggestuurd.";
}
}
else {
header('Refresh: 3; url=index.php');
echo "Je hebt 1 of meerdere velden niet ingevuld. Je wordt teruggestuurd.";
}
}
mysql_close();
?>
Hier wil ik de berichten ophalen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
include("includes/header2.php");
require_once("includes/connectie.php");
$user = $_SESSION['userId'];
$sql =
"SELECT
*
FROM
berichten
WHERE
P_ID = $user";
$result = mysql_query($sql);
//wat moet hier komen??
include("includes/footer.php");
?>
include("includes/header2.php");
require_once("includes/connectie.php");
$user = $_SESSION['userId'];
$sql =
"SELECT
*
FROM
berichten
WHERE
P_ID = $user";
$result = mysql_query($sql);
//wat moet hier komen??
include("includes/footer.php");
?>
Toevoeging op 01/05/2012 13:35:32:
@ Ger als ik dat invoeg krijg ik deze foutmelding:
De query:
SELECT * FROM berichten WHERE P_ID =
heeft de volgende fout opgeleverd:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
Gewijzigd op 01/05/2012 13:42:15 door Erwin H
Toevoeging op 01/05/2012 13:54:08:
en waar moet ik die waarde geven?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query = "SELECT P_ID
FROM users
WHERE
gebruikersnaam='" . mysql_real_escape_string($_POST["gebruikersnaam"]) ."'
AND
wachtwoord='" . mysql_real_escape_string($password) ."'";
?>
$query = "SELECT P_ID
FROM users
WHERE
gebruikersnaam='" . mysql_real_escape_string($_POST["gebruikersnaam"]) ."'
AND
wachtwoord='" . mysql_real_escape_string($password) ."'";
?>
(Query is overgenomen uit je voorbeeld een paar posts naar boven. username en password zelf hier selecteren is onnodig, want die heb je al).
maar P_ID heb ik toch al geselecteerd in mijn voorbeeld?
(verwijderd) op 01/05/2012 13:33:17:
@ Ger als ik dat invoeg krijg ik deze foutmelding:
De query:
SELECT * FROM berichten WHERE P_ID =
heeft de volgende fout opgeleverd:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
De query:
SELECT * FROM berichten WHERE P_ID =
heeft de volgende fout opgeleverd:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
$_SESSION['userId'] heeft dus geen waarde, als je met sessies werkt moet je elk script beginnen met session_start()
Gewijzigd op 25/10/2014 14:46:19 door Bas IJzelendoorn
session_start() staat op iedere pagina bij mij zit in de include van header2 (zie script)
(verwijderd) op 01/05/2012 13:57:20:
maar P_ID heb ik toch al geselecteerd in mijn voorbeeld?
Ja, dat had je ook, daarom vind ik het ook erg opmerkelijk hoe je er verder mee omgaat.
Gewijzigd op 25/10/2014 14:47:52 door Bas IJzelendoorn
Ik snap eigenlijk niet wat je bedoelt.
Nou, je selecteert P_ID, gebruikersnaam, wachtwoord en status, maar je gebruikt alleen status. Waarom de rest dan selecteren? Behalve dan dus dat je P_ID nodig hebt om gebruikers id op te slaan in je sessie, maar naam en wachtwoord heb je nergens voor nodig.
$_SESSION['userId'] = $_POST['P_ID']
Lijkt mij dat je het gebruikersid uit het formulier haalt ipv de database
Gewijzigd op 25/10/2014 14:49:06 door Bas IJzelendoorn
ah ik snap je punt Ger dus dat moet $_GET worden?
Heb je al gekeken wat verschil is tussen $_POST en $_GET?
Wellicht idee om eerst eens te verdiepen in de syntax voor je aan het scripten gaat...
Gewijzigd op 25/10/2014 14:49:26 door Bas IJzelendoorn
Ik kan niet anders het eens zijn met de post boven mij.
hoe haal ik p-id uit de database dan wil dat gewoon ff werkend hebben dan ben ik dik tevree
Tevens haal je iets uit een database met een query.
@Simon, totale irrelevante post. Als iedereen hier ging reageren dat hij het eens was met zijn voorganger zit de DB van PHPhulp binnen een dag vol, kun je dit voortaan achterwege laten?
Gewijzigd op 25/10/2014 14:49:43 door Bas IJzelendoorn
Sorry Wouter ben nog een student ben het gewend.
Wouter J op 01/05/2012 20:33:30:
Nee. Dit is phphulp niet php-maak-voor-mij-een-script. Als je nog niet eens de moeite neem om php een beetje te leren dan moet je niet verwachten dan men hier alles maar voor gaat schieten. Die reactie van jou is gewoon dom. Als voor iedereen hun scripten wil gaan schrijven, be my guest. Maar daarvoor is deze site niet.(verwijderd), ooit gehoord van ABN? Oftewel: punten, komma's en hoofdletters gebruiken; geen dingen als 'ff' en 'tevree'; enz.
Tevens haal je iets uit een database met een query.
@Simon, totale irrelevante post. Als iedereen hier ging reageren dat hij het eens was met zijn voorganger zit de DB van PHPhulp binnen een dag vol, kun je dit voortaan achterwege laten?
Tevens haal je iets uit een database met een query.
@Simon, totale irrelevante post. Als iedereen hier ging reageren dat hij het eens was met zijn voorganger zit de DB van PHPhulp binnen een dag vol, kun je dit voortaan achterwege laten?
Gewijzigd op 25/10/2014 14:50:04 door Bas IJzelendoorn