Versio

Unexpected T_IF probleem

Overzicht Reageren

Pagina: 1 2 volgende »

Mar groen

mar groen

03/06/2010 13:42:06
Quote Anchor link
mijn inlog php/mysql script heeft problemen

hij wilt echt niet werken en krijg steeds errors

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
unexpected T_IF, expecting ',' or ';'


de code is:
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
<?PHP
include "config.php";
session_start();

$user = strip_tags($_POST['username']);
$password = md5(strip_tags($_POST['password']));

if(empty($username) || empty($password)) die('Vul alle waarden in op <a href="login.php">het formulier</a>.');

$db = mysql_connect($host,$username,$pass) or die(mysql_error());
mysql_select_db($database, $db);
echo "connection succes!"
if (mysql_num_rows(mysql_query("SELECT username, pass FROM login WHERE username = '$user' and pass = '$pass'")) == 1){
   $_SESSION['login'] = 'yes';
   header('location: index.php');
};


else
{

?>

    <!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
    <head>
    <title>Loginsysteem in php</title>
    </head>
    <body>
    Sorry, maar deze combinatie van gebruikersnaam en wachtwoord is niet toegestaan.
    </body>
    </html>
<?PHP
};
?>


weet iemand het antwoord? wat is er mis??

Modedit door Chris:
Onduidelijke titel aangepast ("een probleem" zegt niets), code in [.code] tags geplaatst.
Gewijzigd op 03/06/2010 14:13:06 door Chris
 
PHP hulp

PHP hulp

25/05/2012 16:53:07
Gesponsorde koppelingen:
 
Alfred -

Alfred -

03/06/2010 13:46:12
Quote Anchor link
Achter een } hoort géén ;
 
- Mark -

- Mark -

03/06/2010 13:46:18
Quote Anchor link
er horen geen ; achter } te staan. Zie regel 16 van het eerste blok en 3 van het tweede blok.
 
Jelle -

Jelle -

03/06/2010 13:47:30
Quote Anchor link
En er hoort wel een ; achter echo "connection succes!" regel 12
 
Chris
Beheerder

Chris

03/06/2010 14:15:39
Quote Anchor link
Mar, je topicstart aangepast omdat de titel onduidelijk was. Tevens de code in code-tags geplaatst zodat deze leesbaarder is. Onderstaand zou moeten werken:

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
<?php
include "config.php";
session_start();

$user = strip_tags($_POST['username']);
$password = md5(strip_tags($_POST['password']));

if(empty($username) || empty($password)) die('Vul alle waarden in op <a href="login.php">het formulier</a>.');

$db = mysql_connect($host,$username,$pass) or die(mysql_error());
mysql_select_db($database, $db);
echo "connection succes!";
if (mysql_num_rows(mysql_query("SELECT username, pass FROM login WHERE username = '$user' and pass = '$pass'")) == 1){
   $_SESSION['login'] = 'yes';
   header('location: index.php');
}

else
{

?>

    <!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
    <head>
    <title>Loginsysteem in php</title>
    </head>
    <body>
    Sorry, maar deze combinatie van gebruikersnaam en wachtwoord is niet toegestaan.
    </body>
    </html>
<?php
}
?>


Let er overigens op dat mysql is verouderd, en dat de opmaak niet netjes is ;-)
 
Karl Karl

Karl Karl

03/06/2010 14:18:59
Quote Anchor link
Chris Horeweg op 03/06/2010 14:15:39:
Let er overigens op dat mysql is verouderd, en dat de opmaak niet netjes is ;-)


Dat is het dus niet. Niet zoals http_post_vars. Mysql blijft gewoon eerst nog wel een tijdje in php zitten.
 
Mar groen

mar groen

03/06/2010 15:01:05
Quote Anchor link
ik heb het veranderd nu krijg ik dit

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at checking.php:1) in checking.php on line 3
connection succes!
Warning: Cannot modify header information - headers already sent by checking.php on line 15


tevens zou ik zeggen waar dit voor is:

voor een game payment system zodat men pro versies voor hun game kan maken via een paypal gateway vanaf mijn site
Gewijzigd op 03/06/2010 15:03:48 door mar groen
 
Karl Karl

Karl Karl

03/06/2010 15:06:03
Quote Anchor link
Die waarschuwing zegt toch al genoeg?
Vertaal hem eens.
Kijk eens op de lijnen die genoemd zijn.
Zie ook headers en session_start.
 
Mar groen

mar groen

03/06/2010 15:17:52
Quote Anchor link
dan nog kom ik er niet uit de session is nodig om te zien of iemand ingelogt is.

maar hoe fix ik dit

ik heb nergens anders header code gebruikt
en er is maar 1 session start. die zet login naar true als het gelukt is. en anders zegt jij dat login mislukt is.

dus wat is er mis
Gewijzigd op 03/06/2010 15:24:19 door mar groen
 
Synaps Framework

Synaps Framework

03/06/2010 15:24:37
Quote Anchor link
Door op de linkjes van Dhr. Karl te klikken. Dan zul je lezen waarom je die errors krijgt.
 
Mar groen

mar groen

03/06/2010 16:42:08
Quote Anchor link
ik heb alles gelezen.

ik kom er echt niet uit
de een zegt verwijder je temp. maar ik heb geen files in mijn temp.

de ander zegt check het.. ja zeg als jullie het weten leg het dan alstublieft uit.

ik snap er geen bal van nu.
 
Chris
Beheerder

Chris

03/06/2010 16:43:39
Quote Anchor link
Kijk voor witregels. Session_start zal geheel bovenaan moeten staan, nog voor enige andere "output". Kijk dus of er voor de <?php witregels staan, en of er in config.php iets wordt geplaatst. Geef anders een link zodat we het kunnen bekijken in de browser.
 
Karl Karl

Karl Karl

03/06/2010 16:49:15
Quote Anchor link
Zoals de waarschuwing aangeeft heb je al content verstuurd vóór je een header probeert te versturen. Session_start is ook afhankelijk van headers.
Je werkt via het http protocol, er wordt dan verwacht dat je juist headers voor je content verstuurd. De headers zijn zegmaar de adresgegevens op een envelop met een brief erin. De brief is dan de content.
Let dus op dat er géén spatie, enter, tekst, html of whatever voor een session_start of header zit (dat is content).
Eventueel kan je ook je code vanuit de ene editor, in bijvoorbeeld kladblok plakken en dan opslaan. Let er dan dus weer op dat er niks voor <?php zit en ook binnen php geen content verstuurd (met echo o.i.d.). Een editor zoals dreamweaver plaatst namelijk vóór <?php een BOM karakter, en dat is dus ook content.
Gewijzigd op 03/06/2010 16:49:54 door Karl Karl
 
Mar groen

mar groen

03/06/2010 16:50:23
Quote Anchor link
www.gmforce.co.cc

ik geloof dat het nu werkt.
dank u voor uw uitleg
Gewijzigd op 03/06/2010 16:54:02 door mar groen
 
Karl Karl

Karl Karl

03/06/2010 16:54:10
Quote Anchor link
Gebruik en , niet <code> en </code>.
Lees ook even mijn vorige bericht.
En let ook op sql injecties. Gebruik mysql_real_escape_string.

Druk effe op quote knopje als je wilt zien wat ik bedoel. Phphulp's ubbparser vind ignore niet ignore.
Gewijzigd op 03/06/2010 16:56:47 door Karl Karl
 
Mar groen

mar groen

03/06/2010 16:59:39
Quote Anchor link
ojee nu werkt de login niet goed.

hij controleerd alleen de username.. niet de pass

dit is de code

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
<?php if (mysql_num_rows(mysql_query("SELECT username, pass FROM login WHERE username = '$user' and pass = '$pass'")) == 1){

   $_SESSION['login'] = 'yes';
   echo 'logged in succes! </br>';
   echo 'klik  <a href="index.php">HIER</a> om verder te gaan';

}

else
{

?>

    <!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
    <head>
    <title>login failed</title>
    </head>
    <body>
    your login has been failed go back and try again <b><a href="login.php">go back</a>.</b>
    </body>
    </html>
<?php
}
?>


hij checkt alleen username niet de pass.? waar zit de fout?

Modedit Chris:
Code in [.code] tags plaatsen, niet in [.quote] tags ;-)
Gewijzigd op 03/06/2010 20:05:06 door Chris
 
- SanThe -

- SanThe -

03/06/2010 17:03:11
Quote Anchor link
Denk aan sql-injection.
Zie mysql_real_escape_string().
 
Mar groen

mar groen

03/06/2010 18:32:38
Quote Anchor link
ik snap em een beetje maar weet niet hoe ik dit moet toepassen op mijn script?
 
K i p

K i p

03/06/2010 20:01:50
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if (mysql_num_rows(mysql_query("SELECT username, pass FROM login WHERE username = '" . mysql_real_escape_string ( $user ) . "' and pass = '$pass'")) == 1){[/code]
 
Mar groen

mar groen

04/06/2010 12:29:30
Quote Anchor link
het fixt nog steeds die fout niet

hij checkt de pass niet.. alleen de username.

hij stop de sessie NOOIT .. dus als ik wil uitloggen met dit script weigert hij dienst en ik blijf ingelogd..

Quote:
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
<?php
if($_SESSION['login'] == 'yes')
{

    
    #delete the value of $_SESSION['login']
    unset($_SESSION['login']);
    
}


else
{

    echo '<p class="error">Je kan niet uitgelogd worden als je ingelogd bent.</p>';
    
}

?>


dus dan is mn script dus KAPOT... he ,.. ***

weet iemand hoe ik het ook de pass laat controleren en hoe de sessie geindigt word of uitgelogt word. alvast bedankt

jullie kunnen het ook zelf proberen

www.gmforce.co.cc/login.php die verwijst na login naar Checking php die de gegevens checkt

en index.php checkt of the sessie zegt of je ingelogt ben. dus ben je ingelogt zegt hij succesvol ingelogt en ben je niet ingelogt verwijst hij naar login.

www.gmforce.co.cc/logout.php hoort je uit te loggen maar dat gebeurt dus niet..
Gewijzigd op 04/06/2010 13:42:29 door mar groen
 
Karl Karl

Karl Karl

04/06/2010 14:09:14
Quote Anchor link
Kijk eens naar var_dump (en lees eerst wat php.net (die link dus) te zeggen heeft, voordat je het gaat gebruiken en voordat je gaat vragen wat je er mee moet).
 

Pagina: 1 2 volgende »



Overzicht Reageren