Toon posts:

PHP Parse fout met inloggen

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
ik wil een inlog systeem maken maar ik krijg de hele tijd een parse fout te zien weet iemand waar dit aan kan liggen?

Hij geeft een fout in Line 3
code:
PHP:
1
<?mysql_connect"$ip= ***.***.**.**; $user= popyjopy; $passwd= *******; $db= popyjopy; mysql_select_db"SELECT * FROM `yabbse_members` LIMIT 0, 100";if (!isset($mode)){  $mode = "login";}$output = "";if($mode == "logout"){  session_destroy();  $output .= "Je bent met succes uitgelogt.<BR>n Je wordt nu doorverwezen naar de hoofdpaginan";  $output .= "<META HTTP-EQUIV="refresh\" content=\"1;URL=?\">";}elseif(!isset($submit)){  $output .= "<table>\n";  $output .= "<form method=\"post\" action=\"?view=login\">\n";  $output .= "  <tr><td>Gebruikersnaam:</td><td><input type=\"text\" name=\"username\"></td></tr>\n";  $output .= "  <tr><td>Wachtwoord:</td><td><input type=\"password\" name=\"password\"></td></tr>\n";  $output .= "  <tr><td colspan=\"2\"><center><input type=\"submit\" name=\"submit\" value=\"Login\"></center></td></tr>\n";  $output .= "</form></table>\n";}else{  $md5pass = md5($password);  $query = "SELECT * FROM users WHERE username='" . $username . "' AND password='" . $md5pass . "'";  $result = mysql_query($query) or die(mysql_error());  $numrows = mysql_num_rows($result);  if($numrows == "1"){    $output .= "Je bent met ingelogt.<BR>\n Je wordt nu doorverwezen naar de hoofdpagina\n";    $output .= "<META HTTP-EQUIV=\"refresh\" content=\"1;URL=?\">";    $row = mysql_fetch_array($result);    $s_user_id = $row["id"];    session_register("s_user_id");        $s_user_username = $row["username"];    session_register("s_user_username");        $s_user_email = $row["email"];    session_register("s_user_email");        $s_user_avatar = $row["avatar"];    session_register("s_user_avatar");  }else{    $output .= "Je gaf een <b>verkeerde gebruikersnaam of bijbehoorend wachtwoord</b> op!<BR>\n";    $output .= "<META HTTP-EQUIV=\"refresh\" content=\"1;URL=?\">";  }}echo $output;?>

Kan iemand hier fouten uit halen?

  • blackd
  • Registratie: Februari 2001
  • Niet online
- Kan je even je code tussen [.php] en [./php] (zonder puntjes) zetten?
- Kan je aangeven welke regel de fout zit?

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


Verwijderd

Topicstarter
okej heb hem aangepast.

  • blackd
  • Registratie: Februari 2001
  • Niet online
PHP:
1
<?mysql_connect"$ip= ***.***.**.**; $user= popyjopy; $passwd= *******; $db= popyjopy; mysql_select_db"SELECT * FROM `yabbse_members` LIMIT 0, 100";?>

Die twee functies zijn verkeerd gebruikt, er moeten haakjes omheen, ook zijn de argumenten verkeerd gebruikt
www.php.net/mysql_connect
resource mysql_connect ( [string server [, string username [, string password [, bool new_link]]]])
oftewel
PHP:
1
<?$db = mysql_connect($ip,$user,$passwd);?>

www.php.net/mysql_select_db
bool mysql_select_db ( string database_name [, resource link_identifier])
oftewel
PHP:
1
<?mysql_select_db ($database,$db);?>

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


Verwijderd

Op donderdag 25 april 2002 00:26 schreef blackd het volgende:
PHP:
1
<?mysql_connect"$ip= ***.***.**.**; $user= popyjopy; $passwd= *******; $db= popyjopy; mysql_select_db"SELECT * FROM `yabbse_members` LIMIT 0, 100";?>

Die twee functies zijn verkeerd gebruikt, er moeten haakjes omheen, ook zijn de argumenten verkeerd gebruikt
Daarnaast open je na connect een " die nergens meer dicht gezet wordt... pas op de regel daarna terwijl je al een nieuwe functie aangeroepn hebt.

Verwijderd

Topicstarter
Kheb hem nu tussen haakjes gezet dus zo:
PHP:
1
<?<?mysql_connect("$ip= ***.***.**.**; $user= popyjopy; $passwd= *******; $db= popyjopy;)mysql_select_db("SELECT * FROM `yabbse_members` LIMIT 0, 100";)?>?>

wat bedoel je precies met die argumenten? is hetgeen wat tussen de haakjes staat dus niet goed?
die $db= popyjopy; die hoeft er ook neit in of dat wel? (als ik die er niet in zet blijft hij de fout geven dat hij Line 3 fout heeft :(

Verwijderd

Topicstarter
Dat " dat heb ik ook aan de andere kant van de regel gezet dus voor het ;) dan geeft hij aan dat Line 3 niet goed is :?

Ik snap nog niet zo veel van php srry

  • blackd
  • Registratie: Februari 2001
  • Niet online
Op donderdag 25 april 2002 00:36 schreef hpunte het volgende:
Zulke dingen horen er niet in thuis:
$passwd= *******;

Die moet je eerst declaren, en daarna gebruiken.
Dus eerst
$database = "databasenaam";
$username = "username";
$password = "password";
$server = "server ip";
dan
mysql_connect($server,$username,$password);

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


Verwijderd

Topicstarter
jah dat begrijp ik al die ***** heb geen zin om het paswoord hier te posten :)

maar die database naam enzo waar moet ik dat ergens neer zetten dan? want eerst heb je het over die:

$database = "databasenaam";
$username = "username";
$password = "password";
$server = "server ip";

endaarna over wat er achter mysql_connect moet staan.

zo ziet trouwens de fout eruit in mijn browser:

fout

Verwijderd

PHP:
1
<?<?mysql_connect("$ip= ***.***.**.**; $user= popyjopy; $passwd= *******; $db= popyjopy;)mysql_select_db("SELECT * FROM `yabbse_members` LIMIT 0, 100";)?>?>

Probeer eens na te gaan hoe de syntax is van PHP. Die <?, ?>, `, ' en de ;'s enzo. En ook waar je de variablen zet.

Ook is het zo dat je je Query niet in een mysql_select_db doet. Daar selecteer je de database mee. Als je met meerdere DB's werkt moet je wel iedere keer een select_db doen want je kan niet met meerdere DB's tegelijk werken over 1 connectie.

Bovenstaande wordt dus zoiets als:
PHP:
1
<?$host   = "***.***.**.**";$uid    = "popyjopy";$pass   = "*******";$db     = "popyjopy";$linkid = mysql_connect("$host, $uid, $pass); // connecten naar MySQL servermysql_select_db($db, $linkid); // DB selecteren$result = mysql_query("SELECT * FROM yabbse_members LIMIT 0, 100", $linkid); // Query doen?>

  • blackd
  • Registratie: Februari 2001
  • Niet online
Eerst dit:
$database = "databasenaam";
$username = "username";
$password = "password";
$server = "server ip";
Daarna verbinding maken met mysql:
mysql_connect (en goed invullen, zie eerdere postings)
dan de verbinding maken met de database
mysql_select_db (en goed invullen, zie eerdere postings)

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Op donderdag 25 april 2002 01:05 schreef MarcoTC het volgende:
PHP:
1
<?$host   = "***.***.**.**";$uid    = "popyjopy";$pass   = "*******";$db     = "popyjopy";$linkid = mysql_connect("$host, $uid, $pass); // connecten naar MySQL servermysql_select_db($db, $linkid); // DB selecteren$result = mysql_query("SELECT * FROM yabbse_members LIMIT 0, 100", $linkid); // Query doen?>
Hmm door de parse van de php code door Topix zie je de fout toch al zitten hoop ik er is namelijk een " op de 5de regel die nooit wordt afgesloten dat is volgens mij het grootste probleem omdat alles daarna gewoon in de soep loopt. Is het echt niemand opgevallen iedereen heeft het gewoon nagedaan in dit topic :'(

Dus wordt het meer iets als:
PHP:
1
<?$host   = "***.***.**.**";$uid    = "popyjopy";$pass   = "*******";$db     = "popyjopy";$linkid = mysql_connect($host, $uid, $pass); // connecten naar MySQL servermysql_select_db($db, $linkid); // DB selecteren$result = mysql_query("SELECT * FROM yabbse_members LIMIT 0, 100", $linkid); // Query doen?>

Kijk vooral naar het kleurverschil :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 20:58

Janoz

Moderator Devschuur®

!litemod

Parse errors zijn meestal erg simpel op te lossen.. Zeker als je een syntaxhighlighted editor gebruikt. Maak desnoods ff een scriptje met daarin showsource(bestand) om de kleuring te zien.

Debuggen van source doe je maar zelf...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.