sessions
dat andere is duidelijk
nog iets over het hoofd gezien: na de AND in je query, mag je geen kommas meer gebruiken, maar vervangen door AND of OR, ligt aan je logica (in jouw geval dus AND)
toch lukt het me nog niet om een sessie te maken van van de andere $en
van de email maakt ie wel een sessie weet jij nog een oplossing
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
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
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['email']) AND !empty($_POST['wachtwoord']))
{
include_once 'config.php';
$email = mysql_real_escape_string($_POST['email']);
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$sql = ("SELECT email, wachtwoord, bedrijfsnaam, telefoonnummer,contactpersoon FROM members WHERE email='". $email . "' AND wachtwoord='" . $wachtwoord ."'");
$result = mysql_query($sql);
$controle = mysql_num_rows($result);
if($controle == 1) {
$_SESSION ['email'] = $result['email'];
$_SESSION ['bedrijfsnaam'] = $result['bedrijfsnaam'];
$_SESSION ['telefoonnummer']= $result['telefoonnummer'];
$_SESSION ['contactpersoon']= $result['contactpersoon'];
echo 'u bent nu ingelogt';
}
else{
echo 'U email komt niet overeen met de database of er is een veld niet ingevuld';
echo mysql_error ();
}
}
}
?>
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['email']) AND !empty($_POST['wachtwoord']))
{
include_once 'config.php';
$email = mysql_real_escape_string($_POST['email']);
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$sql = ("SELECT email, wachtwoord, bedrijfsnaam, telefoonnummer,contactpersoon FROM members WHERE email='". $email . "' AND wachtwoord='" . $wachtwoord ."'");
$result = mysql_query($sql);
$controle = mysql_num_rows($result);
if($controle == 1) {
$_SESSION ['email'] = $result['email'];
$_SESSION ['bedrijfsnaam'] = $result['bedrijfsnaam'];
$_SESSION ['telefoonnummer']= $result['telefoonnummer'];
$_SESSION ['contactpersoon']= $result['contactpersoon'];
echo 'u bent nu ingelogt';
}
else{
echo 'U email komt niet overeen met de database of er is een veld niet ingevuld';
echo mysql_error ();
}
}
}
?>
Jeroen vd op 15/05/2012 17:19:40:
gegevens uit de database zul je eerst moeten fetchen, dit doe je met (bij voorkeur) mysql_fetch_assoc(). alles komt dan in een array te staan, en kun je dan opvragen door de arraynaam['kolomnaam'] aan te halen. zie mijn code
Gewijzigd op 15/05/2012 19:30:53 door - SanThe -
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
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
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['email']) AND !empty($_POST['wachtwoord']))
{
include_once 'config.php';
$email = mysql_real_escape_string($_POST['email']);
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$sql = ("SELECT email, wachtwoord, bedrijfsnaam, telefoonnummer,contactpersoon FROM members WHERE email='". $email . "' AND wachtwoord='" . $wachtwoord ."'");
$result = mysql_query($sql);
$controle = mysql_num_rows($result);
if($controle == 1) {
$result =mysql_fetch_assoc ($result);
$_SESSION ['email'] == $result['email'];
$_SESSION ['bedrijfsnaam'] == $result['bedrijfsnaam'];
$_SESSION ['telefoonnummer']== $result['telefoonnummer'];
$_SESSION ['contactpersoon']== $result['contactpersoon'];
echo 'u bent nu ingelogt';
}
else{
echo 'U email komt niet overeen met de database of er is een veld niet ingevuld';
echo mysql_error ();
}
}
}
?>
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['email']) AND !empty($_POST['wachtwoord']))
{
include_once 'config.php';
$email = mysql_real_escape_string($_POST['email']);
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$sql = ("SELECT email, wachtwoord, bedrijfsnaam, telefoonnummer,contactpersoon FROM members WHERE email='". $email . "' AND wachtwoord='" . $wachtwoord ."'");
$result = mysql_query($sql);
$controle = mysql_num_rows($result);
if($controle == 1) {
$result =mysql_fetch_assoc ($result);
$_SESSION ['email'] == $result['email'];
$_SESSION ['bedrijfsnaam'] == $result['bedrijfsnaam'];
$_SESSION ['telefoonnummer']== $result['telefoonnummer'];
$_SESSION ['contactpersoon']== $result['contactpersoon'];
echo 'u bent nu ingelogt';
}
else{
echo 'U email komt niet overeen met de database of er is een veld niet ingevuld';
echo mysql_error ();
}
}
}
?>
Het zou zo moeten kloppen:
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
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
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['email']) AND !empty($_POST['wachtwoord']))
{
include_once 'config.php';
$sql = ("SELECT email, wachtwoord, bedrijfsnaam, telefoonnummer,contactpersoon FROM members WHERE email='".mysql_real_escape_string($_POST['email']). "' AND wachtwoord='" .mysql_real_escape_string($_POST['wachtwoord'])."'");
$result = mysql_query($sql);
$controle = mysql_num_rows($result);
if($controle == 1) {
$row = mysql_fetch_assoc($result);
$_SESSION ['email'] = $row['email'];
$_SESSION ['bedrijfsnaam'] = $row['bedrijfsnaam'];
$_SESSION ['telefoonnummer']= $row['telefoonnummer'];
$_SESSION ['contactpersoon']= $row['contactpersoon'];
echo 'u bent nu ingelogt';
}
else {
echo 'U email komt niet overeen met de database of er is een veld niet ingevuld';
//echo mysql_error ();
}
}
}
?>
if( $_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['email']) AND !empty($_POST['wachtwoord']))
{
include_once 'config.php';
$sql = ("SELECT email, wachtwoord, bedrijfsnaam, telefoonnummer,contactpersoon FROM members WHERE email='".mysql_real_escape_string($_POST['email']). "' AND wachtwoord='" .mysql_real_escape_string($_POST['wachtwoord'])."'");
$result = mysql_query($sql);
$controle = mysql_num_rows($result);
if($controle == 1) {
$row = mysql_fetch_assoc($result);
$_SESSION ['email'] = $row['email'];
$_SESSION ['bedrijfsnaam'] = $row['bedrijfsnaam'];
$_SESSION ['telefoonnummer']= $row['telefoonnummer'];
$_SESSION ['contactpersoon']= $row['contactpersoon'];
echo 'u bent nu ingelogt';
}
else {
echo 'U email komt niet overeen met de database of er is een veld niet ingevuld';
//echo mysql_error ();
}
}
}
?>
bedankt
En ga nu eens aan de gang met foutafhandeling.
//als je alle controles tot zover hebt gehad
if(empty($errors)){
//geen errors dus insert
($sproduct = mysql_real_escape_string( $_POST['product']));
($sprijs = mysql_real_escape_string( $_POST['prijs']));
($somschrijving = mysql_real_escape_string( $_POST['omschrijving']));
($semail=($_SESSIONl['email']));
($sbedrijfsnaam =($_SESSION['bedrijfsnaam']));
($itelefoonnummer =($_SESSION['telefoonnummer']));
($scontactpersoon =($_SESSION['contactpersoon']));
mysql_query("INSERT INTO aanbod (product, prijs, omschrijving, bedrijfsnaam, contactpersoon, telefoonnummer, email) VALUES ('".$sproduct."', '".$sprijs."', '".$somschrijving."', '".$sbedrijfsnaam. "', '".$scontactpersoon."', '".$itelefoonnummer."', '".$semail."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else{
foreach($errors AS $err){
//errors tonen
echo $err.'<br/>';
}
}
?>
Toevoeging op 15/05/2012 20:34:41:
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
if(empty($errors)){
//geen errors dus insert
($sproduct = mysql_real_escape_string( $_POST['product']));
($sprijs = mysql_real_escape_string( $_POST['prijs']));
($somschrijving = mysql_real_escape_string( $_POST['omschrijving']));
($semail=($_SESSIONl['email']));
($sbedrijfsnaam =($_SESSION['bedrijfsnaam']));
($itelefoonnummer =($_SESSION['telefoonnummer']));
($scontactpersoon =($_SESSION['contactpersoon']));
mysql_query("INSERT INTO aanbod (product, prijs, omschrijving, bedrijfsnaam, contactpersoon, telefoonnummer, email) VALUES ('".$sproduct."', '".$sprijs."', '".$somschrijving."', '".$sbedrijfsnaam. "', '".$scontactpersoon."', '".$itelefoonnummer."', '".$semail."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else{
foreach($errors AS $err){
//errors tonen
echo $err.'<br/>';
}
}
?>
if(empty($errors)){
//geen errors dus insert
($sproduct = mysql_real_escape_string( $_POST['product']));
($sprijs = mysql_real_escape_string( $_POST['prijs']));
($somschrijving = mysql_real_escape_string( $_POST['omschrijving']));
($semail=($_SESSIONl['email']));
($sbedrijfsnaam =($_SESSION['bedrijfsnaam']));
($itelefoonnummer =($_SESSION['telefoonnummer']));
($scontactpersoon =($_SESSION['contactpersoon']));
mysql_query("INSERT INTO aanbod (product, prijs, omschrijving, bedrijfsnaam, contactpersoon, telefoonnummer, email) VALUES ('".$sproduct."', '".$sprijs."', '".$somschrijving."', '".$sbedrijfsnaam. "', '".$scontactpersoon."', '".$itelefoonnummer."', '".$semail."')") or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
}
else{
foreach($errors AS $err){
//errors tonen
echo $err.'<br/>';
}
}
?>
Waarom beveilig je de $_SESSION-vars niet?
Sowieso: waarom de regels 5 t/m 11? Waarom die variabelen kopiëren? Je kunt dat in de query prima verwerken.
Schrijf een query uit over meerdere regels --> maakt het overzichtelijker.
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 4
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
if(empty($errors)){
//geen errors dus insert
$sproduct = ( $_POST['product']);
$sprijs = ( $_POST['prijs']);
$somschrijving = ( $_POST['omschrijving']);
$semail = ($_SESSIONl['email']);
$sbedrijfsnaam = ($_SESSION['bedrijfsnaam']);
$itelefoonnummer = ($_SESSION['telefoonnummer']);
$scontactpersoon = ($_SESSION['contactpersoon']);
mysql_query("INSERT INTO aanbod (product, prijs, omschrijving, email, bedrijfsnaam, telefoonnummer, contactpersoon )
VALUES
('".mysql_real_escape_string($sproduct)."')
('".mysql_real_escape_string($sprijs)."')
('".mysql_real_escape_string($somschrijving)."')
('".mysql_real_escape_string($semail)."')
('".mysql_real_escape_string($sbedrijfsnaam)."')
('".mysql_real_escape_string($itelefoonnummer)."')
('".mysql_real_escape_string($scontactpersoon)."')")
or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
?>
if(empty($errors)){
//geen errors dus insert
$sproduct = ( $_POST['product']);
$sprijs = ( $_POST['prijs']);
$somschrijving = ( $_POST['omschrijving']);
$semail = ($_SESSIONl['email']);
$sbedrijfsnaam = ($_SESSION['bedrijfsnaam']);
$itelefoonnummer = ($_SESSION['telefoonnummer']);
$scontactpersoon = ($_SESSION['contactpersoon']);
mysql_query("INSERT INTO aanbod (product, prijs, omschrijving, email, bedrijfsnaam, telefoonnummer, contactpersoon )
VALUES
('".mysql_real_escape_string($sproduct)."')
('".mysql_real_escape_string($sprijs)."')
('".mysql_real_escape_string($somschrijving)."')
('".mysql_real_escape_string($semail)."')
('".mysql_real_escape_string($sbedrijfsnaam)."')
('".mysql_real_escape_string($itelefoonnummer)."')
('".mysql_real_escape_string($scontactpersoon)."')")
or die (mysql_error());
echo 'Je gegevens zijn succesvol in de database geplaatst';
?>
Los daarvan: waarom zet je die $_POST tussen ()
Je kunt ipv
eenvoudiger
gebruiken.
Scheelt variabelen, je ziet waar je variabelen vandaan komen.
Zorg wel voor controle op de input (is prijs bv wel een getal?).
Volgens mij mist er nog een komma achter regel 14-19 in je query.
Gewijzigd op 15/05/2012 21:44:44 door Obelix Idefix
oke dus ik kan ze ook allemaal zo doen ?
of zit er nog een fout in met puntjes of haakjes
en zo kan ik dus ook de SESSIE$ toevoegen ?
alvast bedankt voor je andwoord
Die zal er zijn, want je hebt eerst de . en dan ) staan.
Je $_POST waarde zal geen variabele zijn; $ kan dus weg (en waarom er een s voor staat weet ik ook niet).
En ja, zo kun je ook de sessie toepassen.
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 3
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(empty($errors)){
mysql_query ("INSERT INTO aanbod (product, prijs, omschrijving, email, bedrijfsnaam, telefoonnummer, contactpersoon )
VALUES
'".mysql_real_escape_string($_POST['product'])."'
'".mysql_real_escape_string($_POST['prijs'])."'
'".mysql_real_escape_string($_POST['omschrijving'])."'
'".mysql_real_escape_string($_SESSION['email'])."'
'".mysql_real_escape_string($_SESSION['bedrijfsnaam'])."'
'".mysql_real_escape_string($_SESSION['telefoonnummer'])."'
'".mysql_real_escape_string($_SESSION['contactpersoon'])."'")
or die (mysql_error());
?>
if(empty($errors)){
mysql_query ("INSERT INTO aanbod (product, prijs, omschrijving, email, bedrijfsnaam, telefoonnummer, contactpersoon )
VALUES
'".mysql_real_escape_string($_POST['product'])."'
'".mysql_real_escape_string($_POST['prijs'])."'
'".mysql_real_escape_string($_POST['omschrijving'])."'
'".mysql_real_escape_string($_SESSION['email'])."'
'".mysql_real_escape_string($_SESSION['bedrijfsnaam'])."'
'".mysql_real_escape_string($_SESSION['telefoonnummer'])."'
'".mysql_real_escape_string($_SESSION['contactpersoon'])."'")
or die (mysql_error());
?>
Obelix en Idefix op 15/05/2012 21:43:01:
Volgens mij mist er nog een komma achter regel 14-19 in je query.
Dat is nu regel 6 t/m 11.
Gewijzigd op 15/05/2012 22:13:12 door - SanThe -
bedankt