Uit database verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Ham

Dennis Ham

20/11/2008 01:00:00
Quote Anchor link
Ik heb een eenvoudige scriptje die een vermelding uit een database sou moeten halen maar dat gebeurd niet. Ik heb al van alles geprobeerd en weet het even niet meer!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
include("admincheck.php");
$eaccesDB=mysql_connect("","","");
mysql_select_db("",$eaccesDB);
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
$fbid
=$_GET["fbid"];
$fid=$_GET["fid"];
$lid=$_GET["lid"];
$SQL="delete * from inkoopfactuurdetails where iinkfid=".$fbid;
mysql_query(($SQL),$eaccesDB);
header("Location: "."detailsinkoopfactuur.php?lid=".$lid."&fid=".$fid);
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
mysql_close($eaccesDB);
$eaccesDB=null;
?>
 
PHP hulp

PHP hulp

22/11/2024 12:05:37
 
PHP erik

PHP erik

20/11/2008 01:03:00
Quote Anchor link
Het is "DELETE FROM", niet "DELETE * FROM". Verder is je script vrij onveilig maar daar moet je maar naar vragen als je meer info wil ;)
 
Dennis Ham

Dennis Ham

20/11/2008 01:10:00
Quote Anchor link
Bedankt het werkt, soms kan je zo iets kleins helemaal miskijken, zelfs met twee scripte vergelijken waar de een het van doet.

Hoezo onveilig?? Wat kan ik er aan verbeteren dan?

Mischien kan je me helpen met een andere probleem zie http://www.phphulp.nl/forum/showtopic.php?cat=1&id=58127
 
Jelle Posthuma

Jelle Posthuma

20/11/2008 10:22:00
Quote Anchor link
Met onveilig, doelt ie waarschijnlijk op het SQL injection risk percentage.
Jou script wordt niks gedaan aan foutafhandeling of controle van de waarden die erin gaan.

Verdiep je namelijk eens in:

mysql_real_escape_string()
mysql_error()

Je voordat je de mysql_query() oproept controleren of de waarden wel daadwerkelijk zijn ingevuld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if( !empty( $waarde_1 ) && !empty( $waarde_2 ) ){
  // Nu mag de query gedaan worden.
}else{
  // Één of meer velden zijn leeg -> Error
}
?>


En verder:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
header("Location: "."detailsinkoopfactuur.php?lid=".$lid."&fid=".$fid);

// Waarom die "." na Location?

header( "Location: detailsinkoopfactuur.php?lid=" . $lid . "&fid=" . $fid );
?>
 
RvW Of toch niet

RvW Of toch niet

20/11/2008 10:40:00
Quote Anchor link
ik sluit me aan bij de opmerking van jelle.
alles alleen dat je ook zinloos vars aan kopiëren bent.
 
Dennis Ham

Dennis Ham

21/11/2008 02:20:00
Quote Anchor link
@ Jelle, hoe kan je die SQL injection risk verminderen of voorkomen?

Ik heb al geexperimenteerd met mysql_error(), maar wat kan je allemaal tussen de haakjes zetten?

Ik denk dat ik het allemaal eerst goed werkend moet krijgen voordat ik tot extra beveiliging over ga, ik ben nog een beginner en ben bang dat het alleen om meer problemen vraagt. Maar als ik zo ver ben kom ik hier zeker op terug ;))
 
Barman V

Barman V

21/11/2008 06:15:00
Quote Anchor link
mysql_error() gebruik je alleen om een nette foutmelding terug te krijgen, dus niet om een veiligere query uit te voeren.

php.net heeft zelf al een best practice query voorbeeld, zie:
http://nl.php.net/mysql_real_escape_string
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.