Avatar billede Slettet bruger
03. august 2004 - 08:28 Der er 7 kommentarer og
1 løsning

Fejl i "if" og "else" i mit script

Jeg får denne fejlmeddelse i mit script efter at have tilføjet "if" og "else": Parse error: parse error, unexpected $

En der kan hjælpe mig med fejlen ?

Mit script:

{
global $config, $cfg, $lang;

mysql_query("DELETE FROM {$config["prefix"]}_events2 WHERE cod='$cod' AND userid=" . $_SESSION["wt"]["uid"] ."");

if($userid != '$row["userid"])
{
echo "Den valgte booking blev slettet!<br><br>";
}
else
{
echo "Du kan ikke slette en booking der tilhører en anden!<br><br>";
}
}
echo "\n";

$res = mysql_query("SELECT * from {$config["prefix"]}_events2 ORDER BY cod DESC LIMIT 0, 100");

while($row = mysql_fetch_array($res));
Avatar billede dejbjerg Nybegynder
03. august 2004 - 09:14 #1
if($userid != '$row["userid"])

->

if ($userid != $row['userid'])
Avatar billede Slettet bruger
03. august 2004 - 09:58 #2
Jo, nu giver det ikke fejlmeddelser, men jeg får samme besked: "Du kan ikke slette en booking der tilhører en anden" uanset hvilket brugernavn jeg er logget ind som.
Hvordan klarer jeg den ?
Avatar billede xyborx Nybegynder
03. august 2004 - 10:04 #3
heh, sjovt. Det spørgsmål har du også stillet på udvikleren.dk ;)

Hvor kommer $userid og $row fra på det sted? Så vidt jeg kan se sætter du først $row meget senere.
Avatar billede Slettet bruger
03. august 2004 - 10:18 #4
Ja, det må du nok spørge om. Hvad skal jeg bruge istedet eller hvad gør jeg lige ved det
Avatar billede xyborx Nybegynder
03. august 2004 - 10:27 #5
Det kommer an på hvad der ellers sker i scriptet.. Jeg ser kun et par mysql sætninger som ikke siger mig så meget (fordi jeg ikke kender databaselayoutet eller tankerne bag det), og et stykke php hvoraf noget ikke giver ret meget mening. Fx slutter du af med at hente noget information fra mysql og hælde det ind i en while løkke der ikke laver noget andet end at bruge tid.. :)?
Avatar billede Slettet bruger
03. august 2004 - 10:59 #6
OK, Jeg har et portalsystem med en database med bl.a tabellerne users og event2.
I users er et af felterne "uid".
I events2  er et af felterne "cod" og et er "userid"
Jeg skal sammenligne "uid" med userid og skrive
echo "Den valgte booking blev slettet!<br><br>";
}
else
{
echo "Du kan ikke slette en booking der tilhører en anden !

Jeg håber det giver mere mening nu
Og, ja det er da tidsspilde med den whileløkke, men jeg lærer det vel en dag :)
Avatar billede Slettet bruger
04. august 2004 - 10:08 #7
Kan det lade sig gøre på en anden måde. F.eks DELETE query tæller antallet af rækker der er slettet- og så checke om det er 0.
Men hvordan sætter jeg det op ?
Avatar billede Slettet bruger
05. august 2004 - 21:59 #8
Jeg fandt en anden metode

mysql_query("DELETE FROM {$config["prefix"]}_events2 WHERE cod='$cod' AND userid=" . $_SESSION["wt"]["uid"] ."")or die(mysql_error());

printf("Records deleted: %d\n", mysql_affected_rows());

$records_deleted= mysql_affected_rows();
if( $records_deleted>0 ) echo "Det er OK!";
else echo "det er ikke OK!";
}


echo "\n";
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester