Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Bruger må ikke kunne slette andre s bookinger

Bruger må ikke kunne slette andre s bookinger


 

Bruger må ikke kunne slette andre s bookinger

Allan Christensen  

På mit bookingsystem kan brugere vælge at slette deres booking igen.
Jeg vil gerne have, at brugeren kun kan slette egne tilføjede bookinger og ikke andres.
Hvis han prøver at slette andres bookinger skal han have en meddelelse "du kan ikke"
o.s.v.
Alle mine brugere er logget ind med brugernavn og adgangskode.
Hvordan gør jeg det ?
Jeg har tabellen "event2" med felterne: cod, active, title, userid, date, from_, till

Min kode:

<?PHP

include_once("core/main.php");
//if( !check_user_class($config["admmenu"]["events2"]["class"]) ) exit;

if( !check_module("events2") ) die( "module not enabled" );

    
include_once( 
"modules/events2/lang/msg_".check_lang($cfg["core"]["lang"]).".php" );
$index_page false;

$page_name $lang["EVENTS2_ADMIN"];

draw_header();

theme_draw_centerbox_open$lang[EVENTS2_ADMIN] );

{
global 
$config$cfg$lang;


        
mysql_query("DELETE FROM {$config["prefix"]}_events2 WHERE cod='$cod'");

        echo 
"Den valgte booking blev slettet!<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));

  
theme_draw_centerbox_close();
theme_draw_centerbox_open$lang["EVENTS_LIST_EVENTS"] );
events2_draw_list();

theme_draw_centerbox_close();
draw_footer();
?> 




Dato : 01.08.2004, 18:57

Visninger : 1481

Points : 100

 

du laver da bare en 

if($userid != '$row["userid"])
{

}
else
{

}


Dato : 02.08.2004, 09:37

Afvist svar af : Thor B.N.  

 

Det lyder godt, men kan du ikke vise mig hvor i koden jeg sætter det ind, for jeg kan ikke
få det til at virke. Der bliver ved med at komme fejlmeddelsen " Parse error: parse error,
unexpected T_VARIABLE in /var/www/www.tornbjerggard.dk/www/intranet/del_events2.php on
line 26 "


Dato : 02.08.2004, 17:20

Kommentar af : Allan Christensen  

 

Jeg har også kørt noget rundt i 
$_SESSION["wt"]["uid"]
Har haft en ide om at sammenligne $_SESSION med $config["prefix"]}_events2 $row["userid"],
men lige hvodan kan jeg ikke finde ud af


Dato : 02.08.2004, 22:31

Kommentar af : Allan Christensen  

 

Jeg har også kørt noget rundt i 
$_SESSION["wt"]["uid"]
Har haft en ide om at sammenligne $_SESSION med $config["prefix"]}_events2 $row["userid"],
men lige hvodan kan jeg ikke finde ud af


Dato : 02.08.2004, 23:32

Kommentar af : Allan Christensen  

 

Jeg har fået scriptet til at kunne slette booking der tilhører en selv, men kan ikke få
meddelelsen til at virke.
Jeg får fejlen: Parse error: parse error, unexpected $ med denne kode.
Hvad er der galt med det ?


{
 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));


Dato : 03.08.2004, 08:27

Kommentar af : Allan Christensen  

 

Hvis jeg nu skriver:

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 andens booking!<br><br>";
}   
    }
    echo "\n";

får jeg ikke fejlmeddelser, men samme besked: (Du kan ikke slette en andens booking)
uanset hvilket brugernavn jeg er logget ind som.

Hvordan klarer jeg den ?


Dato : 03.08.2004, 10:17

Kommentar af : Allan Christensen  

 

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 så det op ?


Dato : 04.08.2004, 11:27

Kommentar af : Allan Christensen  

 

Den her burde virke, men gør det ikke.
Jeg får fejlen: parse error, unexpected $
Hvad kan der være galt ?

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

               
  if (mysql_query("DELETE FROM {$config["prefix"]}_events2 WHERE cod='$cod' AND userid=" .
$_SESSION["wt"]["uid"]))
{
  $records_deleted= mysql_affected_rows();
  if( $records_deleted >0 ) echo "Your booking has been deleted!<br><br>";
  else echo "You can't delete a booking that belongs to another user!<br><br>";
}
else echo " There was an error reading the database";

echo "\n";


Dato : 05.08.2004, 00:08

Kommentar af : Allan Christensen  

 

hmm

Dato : 05.08.2004, 00:10

Kommentar af : Thor B.N.  

 


Den her virker !

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


//printf("Antal bookinger slettet: %d.\n", mysql_affected_rows());

 $records_deleted= mysql_affected_rows(); 
if( $records_deleted>0 ) echo "Din booking er slettet!"; 
else echo "Du kan ikke slette en booking der ikke tilhører dig!"; 



echo "\n"; 


Dato : 08.08.2004, 13:27

Godkendt svar af : Allan Christensen  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund