Wegschrijven naar DB gaat niet, Stapgewijs hulp ? van blz 1 -> 12

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 ... 7 8 9 10 11 12 volgende »

Jan Koehoorn

Jan Koehoorn

21/12/2007 16:34:00
Quote Anchor link
@ Wouter: let op de foutafhandeling en de security he ;-)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if(isset($_GET['id']) && !empty($_GET['id']))
{

    if (ctype_digit ($_GET['id'])) {
    $sql = "
        DELETE FROM afspraken
        WHERE id = "
. GET['id'] . "
        LIMIT 1"
;
        if (mysql_query($sql)) {
            if (mysql_affected_rows () == 1) {
                echo 'Record verwijderd';
            }
        }
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
PHP hulp

PHP hulp

24/11/2024 02:32:03
 
Wouter K

Wouter K

21/12/2007 16:34:00
Quote Anchor link
ahja kijk ik ben altijd in goede bui dus ik merk dat niet op :)

Ok ik heb dus voor de lol dit gedaan

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $_GET['id'];
?>


Héhé page not found :) omdat ik niet weet vanwaar hij het ID moet halen daarmee, dus hij zal het ID ergens moeten halen vanwaar , hoe , en hoe zal hij werken , !

mvg


Edit : Jan : Zoals ik hierboven vermeld , hij weet niet vanwaar het ID te halen
Gewijzigd op 01/01/1970 01:00:00 door Wouter K
 
Jan Koehoorn

Jan Koehoorn

21/12/2007 16:36:00
Quote Anchor link
Zie mijn vorige post. Er moet wel een id in de adresbalk staan, dus iets als:

pagina.php?id=1

Edit:
Je merkt Wouter, dat er hier sprake is van een drieploegendienst ;-)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Frank -

Frank -

21/12/2007 16:37:00
Quote Anchor link
$query = "INSERT into afspraak(dag,uur) VALUES('Maandag', 5)";

Waarom sla je 'Maandag' op en geen datum of dagnummer? uur 5 zegt mij evenmin iets, is dat 05:00:00 of 17:00:00 ? En bij een repeterende afspraak (dus iedere maandag) zet je gewoon tot het oneindige de afspraken in de database, dan kun je later eenvoudig 1 enkele afspraak aanpassen of verwijderen. Dat geeft je veel meer flexibiliteit.
 
Wouter K

Wouter K

21/12/2007 16:37:00
Quote Anchor link
http://wouter.php-design.be/Grootsysteem/delete.php?id=24

Page Not Found (PNF).

Omdat het moeilijk voor elke ID een nieuwe pagina gaat maken , dus zoals dat dus dan..
 
Jan Koehoorn

Jan Koehoorn

21/12/2007 16:38:00
Quote Anchor link
De pagina delete.php bestaat blijkbaar niet.
 
Joren de Wit

Joren de Wit

21/12/2007 16:39:00
Quote Anchor link
Wouter, bestaat delete.php überhaupt wel. Blijkbaar niet...

@Frank: van die rotzooi is hij gelukkig al afgestapt. De afspraak wordt nu netjes als DATETIME opgeslagen...
 
Frank -

Frank -

21/12/2007 16:42:00
Quote Anchor link
@Blanche: Ik zat me ook al te bedenken dat hier vast wel iets over was gezegd. Maar ja, 8 pagina's doorlezen was me net ietjes teveel.

Hopelijk heeft iemand anders dan nog iets aan mijn overbodige opmerking...
 
Cake Masher

Cake Masher

21/12/2007 16:43:00
Quote Anchor link
wouter schreef op 21.12.2007 16:18:
Ik heb de sql voor het deleten al ik vraag me alleen af hoe ik het id ophaal , maar geduld ik ga even kijken naar i-cey.net staat hij wel beshreven d8 ik.

Edit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$sql
= $sql = 'DELETE id FROM afspraken ';
if(isset($_GET['id']) && !empty($_GET['id']))
{

   mysql_query($sql);
}


?>


zo dan ,?


Denk dat je zo iets bedoelt dan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

if (isset ($_GET['id']) && !empty ($_GET['id']) && is_numeric ($_GET['id']))
{

   $sql = 'DELETE FROM afspraken WHERE id = '" . $_GET['id'] . "'';
   mysql_query($sql) or die ("Foutje in de query...<br><br>" . $sql . "<br><br>Line: " . __line__ . ".<br>File: " . __file__ . ".");
}


?>


en dan kan je nog een check erover heen gooien om te kijken of die ID wel bestaat zoals:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

if (isset ($_GET['id']) && !empty ($_GET['id']) && is_numeric ($_GET['id']))
{

   $check = mysql_query ("SELECT id FROM afspraken WHERE id = '" . $_GET['id'] . "'") or die ("Foutje in de query...<br><br>" . $sql . "<br><br>Line: " . __line__ . ".<br>File: " . __file__ . ".");

      if (mysql_num_rows ($check) == 1)
      {

         $sql = 'DELETE FROM afspraken WHERE id = '" . $_GET['id'] . "'';
         mysql_query($sql) or die ("Foutje in de query...<br><br>" . $sql . "<br><br>Line: " . __line__ . ".<br>File: " . __file__ . ".");
      }

      else
      {
         echo "ID " . $_GET['id'] . " bestaat niet.";
      }
}


?>


Edit:

wtf? ik post een bericht, en er zijn meteen al 10 mensen voor me xD
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
 
Wouter K

Wouter K

21/12/2007 16:43:00
Quote Anchor link
Ok nu krijg ik dus het ID nummertje 24 omdat het ook afspraak 24 is..
Nu zal ik dus iets moeten doen met die $get in men query dus volgens mij

$sql = 'DELETE '.$_GET['id'].' FROM afspraken ';

Of iets dergelijk maar dan juist ?!

mvg
 
Crispijn -

Crispijn -

21/12/2007 16:44:00
Quote Anchor link
Even tussendoor: Blanche! Repsect voor je geduld ;)
 
Joren de Wit

Joren de Wit

21/12/2007 16:45:00
Quote Anchor link
@Rick: wat betreft die check, je kunt ook gewoon enkel de DELETE query uitvoeren en met mysql_affected_rows() controleren of er een rij verwijderd is. Zo niet, dan zal het id niet bestaan...
 
Wouter K

Wouter K

21/12/2007 16:45:00
Quote Anchor link
Repsect zal hij graag hebben ;p RESPECT nigér ,,

Ok even tussendoor ik pak de script tyvm
 
Cake Masher

Cake Masher

21/12/2007 16:45:00
Quote Anchor link
@wouter:

dit:

$sql = 'DELETE FROM afspraken WHERE id = '" . $_GET['id'] . "'";
 
Jan Koehoorn

Jan Koehoorn

21/12/2007 16:46:00
Quote Anchor link
@ Rick: dat is niet veilig. Je zet nooit rechtstreeks gebruikersinvoer in een query. Zie mijn voorbeeld hierboven.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Joren de Wit

Joren de Wit

21/12/2007 16:47:00
Quote Anchor link
Wouter, kijk even naar de code van Jan boven aan deze pagina. Hij geeft je eigenlijk al het complete script dat je nodig hebt voor delete.php. Een beetje ondankbaar om dat te negeren lijkt me...
 
Frank -

Frank -

21/12/2007 16:47:00
Quote Anchor link
@Rick: Wanneer een id niet bestaat, wordt er niks verwijderd. Jouw SELECT-query is volkomen overbodig en eveneens onbetrouwbaar. Je hebt geen flauw idee wat er namelijk gelijktijdig met (of eigenlijk: net ná) de SELECT-query plaatsvindt. Misschien gooit iemand anders wel hetzelfde id weg en zal jouw DELETE-query alsnog niks verwijderen.

Controleer dus altijd of de DELETE ook daadwerkelijk iets heeft verwijderd. MySQL-affected_rows() kan je daarbij helpen, een SELECT kan achteraf dubbelchecken of een id echt is verdwenen. Eerst een SELECT uitvoeren is zinloos.
 
Jan Koehoorn

Jan Koehoorn

21/12/2007 16:49:00
Quote Anchor link
Offtopic:

Overigens gefeliciteerd met je > 5000 posts Blanche
 
Wouter K

Wouter K

21/12/2007 16:50:00
Quote Anchor link
Ik heb het bezien , Heb dan ook nu dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

if (isset ($_GET['id']) && !empty ($_GET['id']) && is_numeric ($_GET['id']))
{

   $check = mysql_query ("SELECT id FROM afspraken WHERE id = '" . $_GET['id'] . "'") or die ("Foutje in de query...<br><br>" . $sql . "<br><br>Line: " . __line__ . ".<br>File: " . __file__ . ".");

      if (mysql_num_rows ($check) == 1)
      {

         $sql = 'DELETE FROM afspraken WHERE id = "'.$_GET['id']." ';
         mysql_query($sql) or die ("
Foutje in de query...<br><br>" . $sql . "<br><br>Line: " . __line__ . ".<br>File: " . __file__ . ".");
      }
      else
      {
         echo "
ID " . $_GET['id'] . " bestaat niet.";
      }
}


?>


Er zit enkel nog een klein foutje in,.
Parse error: syntax error, unexpected T_STRING in /home/phpdesi/domains/php-design.be/public_html/wouter/Grootsysteem/delete.php on line 9


Maar omdat Jan zegt controleer dat, ik ga er wel vanuit dat het werkt maar dat zinnetje zegt mij eigenlijk het werkt niet kijk goed op !
 
Frank -

Frank -

21/12/2007 16:52:00
Quote Anchor link
Wouter, de SELECT-query kan richting schroothoop, zie bovenstaande posts. De SELECT slaat namelijk helemaal nergens op, is volkomen kansloos. Weggooien die zooi!

En even de quotes in de DELETE goedzetten.
Edit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (isset ($_GET['id']) && !empty ($_GET['id']) && is_numeric ($_GET['id'])){
    $sql = "DELETE FROM afspraken WHERE id = '".$_GET['id']."'";
    mysql_query($sql) or die ("Foutje in de query...<br><br>" . $sql . "<br><br>Line: " . __line__ . ".<br>File: " . __file__ . ".");
}

else
{
    echo "ID " . $_GET['id'] . " bestaat niet.";
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 

Pagina: « vorige 1 2 3 ... 7 8 9 10 11 12 volgende »



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.