By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,044 Members | 1,287 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,044 IT Pros & Developers. It's quick & easy.

if AND

P: n/a
Hey guys,

I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?

here's the code I use:

<?php
include("connect.php");
session_start();

if (!empty($_POST)){
$query = "SELECT * FROM KLANT
WHERE Email='".$_POST["Email"]."'
AND Wachtwoord='".$_POST["Wachtwoord"]." ' ";
$result=mysql_query($query) or die("FOUT : " . MySQL_error());

if ((Status=="actief") AND (MySQL_num_rows($result) >0)){
$username=$_POST["Email"];
$wachtwoord=$_POST["Wachtwoord"];
session_register("username");
session_register("wachtwoord");
mysql_fetch_row($result);
header("Location: winkel.php");
exit();
}
elseif ((Status=="inactief") AND (MySQL_num_rows($result) >0)){
$tekst="Uw account staat momenteel op niet-actief<br>
Neem a.u.b. contact op met de winkel";
die($tekst);
}else{
$tekst="U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven. Maak een keuze: <br>
<a href=\ 'inloggen.php\'>Opnieuw inloggen</a><br>
<a href=\ 'aanmelden.php\'>Hier registreren</a><br>";
die($tekst);
}}
?>

May 20 '07 #1
Share this Question
Share on Google+
8 Replies


P: n/a
Johannes wrote:
Hey guys,

I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?

here's the code I use:

<?php
include("connect.php");
session_start();

if (!empty($_POST)){
$query = "SELECT * FROM KLANT
WHERE Email='".$_POST["Email"]."'
AND Wachtwoord='".$_POST["Wachtwoord"]." ' ";
$result=mysql_query($query) or die("FOUT : " . MySQL_error());

if ((Status=="actief") AND (MySQL_num_rows($result) >0)){
$username=$_POST["Email"];
$wachtwoord=$_POST["Wachtwoord"];
session_register("username");
session_register("wachtwoord");
mysql_fetch_row($result);
header("Location: winkel.php");
exit();
}
elseif ((Status=="inactief") AND (MySQL_num_rows($result) >0)){
$tekst="Uw account staat momenteel op niet-actief<br>
Neem a.u.b. contact op met de winkel";
die($tekst);
}else{
$tekst="U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven. Maak een keuze: <br>
<a href=\ 'inloggen.php\'>Opnieuw inloggen</a><br>
<a href=\ 'aanmelden.php\'>Hier registreren</a><br>";
die($tekst);
}}
?>
Where are you getting Status? Are you depending on register_globals to
be set on? If so, this is a "very bad thing".

Also, session_register is similar in that it requires register_globals
to be on.

Rather, you should be using the $_SESSION array.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
May 20 '07 #2

P: n/a
On 20 mei, 16:35, Jerry Stuckle <jstuck...@attglobal.netwrote:
Johannes wrote:
Hey guys,
I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?
here's the code I use:
<?php
include("connect.php");
session_start();
if (!empty($_POST)){
$query = "SELECT * FROM KLANT
WHERE Email='".$_POST["Email"]."'
AND Wachtwoord='".$_POST["Wachtwoord"]." ' ";
$result=mysql_query($query) or die("FOUT : " . MySQL_error());
if ((Status=="actief") AND (MySQL_num_rows($result) >0)){
$username=$_POST["Email"];
$wachtwoord=$_POST["Wachtwoord"];
session_register("username");
session_register("wachtwoord");
mysql_fetch_row($result);
header("Location: winkel.php");
exit();
}
elseif ((Status=="inactief") AND (MySQL_num_rows($result) >0)){
$tekst="Uw account staat momenteel op niet-actief<br>
Neem a.u.b. contact op met de winkel";
die($tekst);
}else{
$tekst="U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven. Maak een keuze: <br>
<a href=\ 'inloggen.php\'>Opnieuw inloggen</a><br>
<a href=\ 'aanmelden.php\'>Hier registreren</a><br>";
die($tekst);
}}
?>

Where are you getting Status? Are you depending on register_globals to
be set on? If so, this is a "very bad thing".

Also, session_register is similar in that it requires register_globals
to be on.

Rather, you should be using the $_SESSION array.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================- Tekst uit oorspronkelijk bericht niet weergeven -

- Tekst uit oorspronkelijk bericht weergeven -
Status is a textfield in a table in a database. The connection to this
database is made in connect.php. I changed the register_globals to
$_SESSION, but it didn't fix the AND problem i`m afraid..

May 20 '07 #3

P: n/a
At Sun, 20 May 2007 07:47:36 -0700, Johannes let his monkeys type:
On 20 mei, 16:35, Jerry Stuckle <jstuck...@attglobal.netwrote:
>Johannes wrote:
Hey guys,
I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?
here's the code I use:
<?php
include("connect.php");
session_start();
if (!empty($_POST)){
$query = "SELECT * FROM KLANT
WHERE Email='".$_POST["Email"]."'
AND Wachtwoord='".$_POST["Wachtwoord"]." ' ";
$result=mysql_query($query) or die("FOUT : " . MySQL_error());
if ((Status=="actief") AND (MySQL_num_rows($result) >0)){
$username=$_POST["Email"];
$wachtwoord=$_POST["Wachtwoord"];
session_register("username");
session_register("wachtwoord");
mysql_fetch_row($result);
header("Location: winkel.php");
exit();
}
elseif ((Status=="inactief") AND (MySQL_num_rows($result) >0)){
$tekst="Uw account staat momenteel op niet-actief<br>
Neem a.u.b. contact op met de winkel";
die($tekst);
}else{
$tekst="U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven. Maak een keuze: <br>
<a href=\ 'inloggen.php\'>Opnieuw inloggen</a><br>
<a href=\ 'aanmelden.php\'>Hier registreren</a><br>";
die($tekst);
}}
?>

Where are you getting Status? Are you depending on register_globals to
be set on? If so, this is a "very bad thing".

Also, session_register is similar in that it requires register_globals
to be on.

Rather, you should be using the $_SESSION array.
>>
- Tekst uit oorspronkelijk bericht weergeven -

Status is a textfield in a table in a database. The connection to this
database is made in connect.php. I changed the register_globals to
$_SESSION, but it didn't fix the AND problem i`m afraid..
So, where do you fetch the status from the db? Also in connect.php? If so:
Do both scripts begin with session_start()? Where is $_SESSION['status']
assigned to $status?

If not, (where) is it ($status) set in the script you posted?

Sh.

May 20 '07 #4

P: n/a
Johannes wrote:
On 20 mei, 16:35, Jerry Stuckle <jstuck...@attglobal.netwrote:
>Johannes wrote:
>>Hey guys,
I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?
here's the code I use:
<?php
include("connect.php");
session_start();
if (!empty($_POST)){
$query = "SELECT * FROM KLANT
WHERE Email='".$_POST["Email"]."'
AND Wachtwoord='".$_POST["Wachtwoord"]." ' ";
$result=mysql_query($query) or die("FOUT : " . MySQL_error());
if ((Status=="actief") AND (MySQL_num_rows($result) >0)){
$username=$_POST["Email"];
$wachtwoord=$_POST["Wachtwoord"];
session_register("username");
session_register("wachtwoord");
mysql_fetch_row($result);
header("Location: winkel.php");
exit();
}
elseif ((Status=="inactief") AND (MySQL_num_rows($result) >0)){
$tekst="Uw account staat momenteel op niet-actief<br>
Neem a.u.b. contact op met de winkel";
die($tekst);
}else{
$tekst="U hebt geen geldige combinatie van e-mailadres en
wachtwoord opgegeven. Maak een keuze: <br>
<a href=\ 'inloggen.php\'>Opnieuw inloggen</a><br>
<a href=\ 'aanmelden.php\'>Hier registreren</a><br>";
die($tekst);
}}
?>
Where are you getting Status? Are you depending on register_globals to
be set on? If so, this is a "very bad thing".

Also, session_register is similar in that it requires register_globals
to be on.

Rather, you should be using the $_SESSION array.

- Tekst uit oorspronkelijk bericht weergeven -

Status is a textfield in a table in a database. The connection to this
database is made in connect.php. I changed the register_globals to
$_SESSION, but it didn't fix the AND problem i`m afraid..
Also - I missed the first time. "Status" is not a valid PHP variable
name.

Add the following two lines to your page to help wit your errors:

error_reporting(E_ALL);
ini_set("display_errors", "1");
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
May 20 '07 #5

P: n/a
Johannes kirjoitti:
Hey guys,

I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?

here's the code I use:
if ((Status=="actief") AND (MySQL_num_rows($result) >0)){
....
elseif ((Status=="inactief") AND (MySQL_num_rows($result) >0)){
You sure that it's Status, not $Status? Or do you really have this
somewhere in code: define('Status', 'actief'); ??

--
Ra*********@gmail.com

"Wikipedia on vähän niinq internetin raamattu, kukaan ei pohjimmiltaan
usko siihen ja kukaan ei tiedä mikä pitää paikkansa." -- z00ze
May 20 '07 #6

P: n/a
Uit het bericht van Johannes:
Hey guys,

I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?
Bedoel je wel AND, en niet && ?

Er -- for the english among us: do you mean to use the AND operator,
instead of the (to me more usual) && ?

If you put the num_rows test outside, i.e. in a separate if(), you can
see whether your query returns a row. Something I'd do anyway. Both
actions may be executed only if the login was valid.

--
Bas Cost Budde
Holland
May 21 '07 #7

P: n/a
Uit het bericht van Johannes:
Hey guys,

I'm building a login script using an active or inactive state, but
when i check for this state it just simply skips to the incorrect
login. It looks like the If ... AND ... part isn't working. Can
anybody give me a hand with this problem?

here's the code I use:

<?php
include("connect.php");
session_start();

if (!empty($_POST)){
(hit Send too early, sorry about that)

you might want to narrow this test a little further. The first branch of
POST you're using is $_POST["Email"]; if you change this test to
if (isset($_POST["Email"])), does that help?

--
that same footer. Where did we set that again?
May 21 '07 #8

P: n/a
I don't know why u r getting the status before he enters the details.
I suggest u to get the status in that query only and fetch db row and
check the status here you can get it.

May 22 '07 #9

This discussion thread is closed

Replies have been disabled for this discussion.