Just nu i M3-nätverket
Jump to content

Får Parse Error... Nån som vet varför?


©¤¶¥¢ª†

Recommended Posts

©¤¶¥¢ª†

Hej alla... Jag håller på att göra ett script till en sida i PHP, där jag använder mig utav en mySQL databas. Problemet är det att jag får parse error, helt utan anledning vad jag kan se?

 

Någon som kan lösa detta?

 

Här är hela koden:

 

Jag får parse error på rad "103":

RAD 103:

$addit = mysql_db_query("bunkern", "INSERT reserver (namn, nickname, epost, klan, extra01, betalat) VALUES ('$namnet', '$nickname', '$epost', '$klan', '$extra01', '$betalat')");

 

 

 

 

 

 

<!--

 

SCRIPT FÖR BUNKERN LAN - VER. 1

 

Skapat av Niklas Forsberg.

Funktioner för att lägga till,

ta bort och ändra anmälda.

 

-->

 

 

 

<? include("data/variables.php"); ?>

 

 

 

 

 

<!-- HÄR BÖRJAR HTML KODEN FÖR SIDAN -->

 

<HTML>

 

<HEAD>

<TITLE>Bunkern LAN 2002 (filnamn: <?=$addfile?>)</TITLE>

<LINK REL="stylesheet" HREF="data/style.css" TYPE="text/css">

</HEAD>

 

 

<BODY>

 

<?

 

// SCRIPT FÖR ATT LÄGGA TILL PERSONER

// Skapat av Niklas Forsberg, i syfte för implementering

// på Bunkern LAN 2002's webbplats.

 

 

 

// ANSLUT TILL DATABAS

 

$DBhost = "localhost";

$DBuser = "dinresa";

$DBpass = "";

$DBName = "bunkern";

$open = @mysql_connect($DBhost,$DBuser,$DBpass)or die("Database Error");

@mysql_select_db("$DBName")or die("Database Error");

 

 

 

// QUERY FÖR ATT LÄGGA TILL

 

$db_exists = "SELECT * FROM users WHERE epost='$epost'";

$result = mysql_query($db_exists);

$epostexists = mysql_numrows($result);

 

$db_exists02 = "SELECT * FROM users WHERE nickname='$nickname'";

$result = mysql_query($db_exists02);

$nickexists = mysql_numrows($result);

 

 

if($namnet=='') {

echo("Du måste fylla i ditt namn!<br><br><a href=\"index.php?sida=start\">Gå tillbaka</a>");

}

elseif($nickname=='') {

echo("Du måste ange ditt nickname!<br><br><a href=\"index.php?sida=start\">Gå tillbaka</a>");

}

elseif($epost=='') {

echo("Du måste ange en e-post adress!<br><br><a href=\"index.php?sida=start\">Gå tillbaka</a>");

}

 

elseif ($nickexists != "0") {

echo("Nicknamet du angav finns redan registrerat!<br><br><a href=\"index.php?sida=start\">Gå tillbaka</a>");

}

elseif ($epostexists != "0") {

echo("Den angivna e-post adressen finns redan registrerad!<br><br><a href=\"index.php?sida=start\">Gå tillbaka</a>");

}

 

 

 

else

{

 

// Om klanfältet är tomt, skapa value Ingen

 

if (!$klan) {

$klan="Ingen";

}

 

 

 

//add details to database

 

$sql = "SELECT * FROM users;

$result = mysql_query($sql);

$nums = mysql_numrows($result);

 

if($nums=150) {

$addit = mysql_db_query("bunkern", "INSERT reserver (namn, nickname, epost, klan, extra01, betalat) VALUES ('$namnet', '$nickname', '$epost', '$klan', '$extra01', '$betalat')");

$msg="The Primary List Is Full You Have Been Added To The Secondary List";

 

}

else {

$addit = mysql_db_query("bunkern", "INSERT users (namn, nickname, epost, klan, extra01, betalat) VALUES ('$namnet', '$nickname', '$epost', '$klan', '$extra01', '$betalat')");

}

echo "

 

<FONT FACE=verdana>

 

<FONT SIZE=2 color=#000000>

 

Du har blivit tillagd med följande uppgifter: <BR>

<BR>

 

$msg <BR><BR>

Namn: $namnet <BR>

Nickname: $nickname <BR>

Klan: $klan <BR>

E-Post: <A HREF=$epost>$epost</A> <BR>

<BR>

<U>Extra tjänster:</U> <BR>

Coca-Cola: $extra01 flak <BR>

<BR>

<BR>

<A HREF=index.php?sida=start>Lägg till fler...</A> <BR>

 

";

 

 

 

 

}

 

 

// AVSLUTA SESSION

 

mysql_close($open);

 

 

?>

 

 

 

</BODY>

 

 

</HTML>

 

<!-- HÄR SLUTAR HTML KODEN FÖR SIDAN -->

 

 

 

 

 

 

 

 

 

<!--

 

SCRIPT FÖR BUNKERN LAN - VER. 1

 

Kontakta skaparen av scriptet på e-post:

niklas.forsberg@megamp3search.com

 

Mvh.

Niklas Forsberg

 

-->

 

 

 

 

Hoppas verkligen någon utav er kan lösa detta...

Link to comment
Share on other sites

Titta några rader upp.

 

$sql = "SELECT * FROM users;

 

bör ju vara:

 

$sql = "SELECT * FROM users";

 

Sedan känner jag mig lite tveksam om citationstecken runt $DBName i den här satsen:

@mysql_select_db("$DBName")or die("Database Error");

 

 

 

 

 

Link to comment
Share on other sites

©¤¶¥¢ª†

Jag får inget parse error efter att jag gjorde som den första personen sa till mig att göra... lägga till ett " tecken...

 

men problemet är det att när jag bara har:

 

if($nums = 150) {

 

så läggs dom till direkt till andra databasen... men om jag däremot använder mig utav

 

if($nums == 150) {

 

då läggs dom till i första databasen hela tiden...

 

vad är felet?

 

är det någon som kan någon annan metod än denna för att få fram samma funktionalitet?

 

 

Snälla, behöver verkligen få igång på det här idag...

 

 

Mvh.

Niklas

 

Går även bra att snacka med mig:

 

På ICQ: 71133653

På MSN: foppa_15@hotmail.com

 

 

Tack på förhand!

 

 

 

 

Link to comment
Share on other sites

Har kanske missat något i koden men borde det inte vara:

 

if($nums > 150) {

 

---------------------------

 

if($nums = 150) { // Alltid sant och posten kommer att läggas i reserver

 

if($nums == 150) { // Sant om $nums är lika med 150 (exakt) och posten kommer då att läggas i reserver men om $nums är större eller mindre i kommer posten att läggas i users.

 

 

Link to comment
Share on other sites

Jo, troligen. Kollade inte sammanhanget utan såg bara syntaxfelet (vilket det ju iofs inte är, men utgången blir ju en annan :)

 

I vilket fall bör det göras en SELECT COUNT(*) istället för SELECT *. Finns ingen anledning att dra ut hela tabellen för att se hur många poster den har...

 

 

 

 

 

 

Link to comment
Share on other sites

©¤¶¥¢ª†

Hej alla...

 

Jag lyckades lösa scriptet med lite debugging...

 

Först lade jag till ett citat tecken (") så att det blev såhär:

 

$sql = "SELECT * FROM users";

(vilket B Wisser tipsade mig om)

 

 

Sedan ändrade jag även:

 

if($nums = 3) { till if($nums == 3) {

 

(vilket Paddskalle tipsade om)

 

 

Jag testade även att lägga till detta i mySQL queryn: INSERT INTO istället för bara INSERT.

 

 

Och nu vill jag bara förmedla alla om att det fungerar finfint =)

 

Ska tacka alla som har ställt upp med seriösa svar (vilket alla var väl?)...

 

Vi kan nu bekräfta den här tråden som avslutad...

 

 

Mvh.

Niklas

 

 

(PS! Det kommer en ny tråd med ett annat litet problem ;-) )

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...