Bekijken & Deleten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dalando De Zuil

Dalando De Zuil

16/07/2010 17:50:27
Quote Anchor link
Ik ben helemaal vastgelopen: ik heb een nieuwsysteempje, dat werkt prima... Maar:

Ik zoek een manier om alle nieuwsberichten' hun titel en daarna het id weer te geven. En dan dat ik het ook kan verwijderen.... Bijv dit:

Nieuwsverwijderen.php:

<naam van het bericht> (ID: <het id van het bericht>)

<en hier zo doorgaan en alle titels + id's van alle berichten weergeven

Nieuwsverwijderen.php?del=<id>

Weet je zeker dat je <titel die bij het id hoort> Wilt verwijderen?



Zo wil ik het er dus laten uitzien. Maar ik loop al vast bij de eerste actie: de titel + id weergeven.

Kunnen jullie mij uitleggen hoe ik dat moet doen etc?

BVD, Dalando.
 
PHP hulp

PHP hulp

25/12/2024 14:51:50
 
Joren de Wit

Joren de Wit

16/07/2010 17:57:00
Quote Anchor link
Het lijkt me vrij vanzelfsprekend, maar goed:

- Titel en id van berichten selecteren uit de database
- Tijdens het echoën zorgen dat de titel bijvoorbeeld een link is die verwijst naar nieuwsverwijderen.php?del=...
- Weet je het zeker melding zou je kunnen maken mbv Javascript of een extra stap op nieuwsverwijderen.php
 
Noppes Homeland

Noppes Homeland

16/07/2010 17:57:32
Quote Anchor link
Als jij nu eens wat relevante code weet te posten, dan kan daar op voortborduurd worden en kan jij achteraf zien welke denkfout je hebt gemaakt.
 
Dalando De Zuil

Dalando De Zuil

16/07/2010 17:59:49
Quote Anchor link
Blanche PHP op 16/07/2010 17:57:00:
- Weet je het zeker melding zou je kunnen maken mbv Javascript of een extra stap op nieuwsverwijderen.php


Nee, ik had in gedachten dat dat gewoon via php gaat..
 
Joren de Wit

Joren de Wit

16/07/2010 18:07:47
Quote Anchor link
Ja, vandaar ook mijn opmerking: 'of een extra stap op nieuwsverwijderen.php'...
 
Dalando De Zuil

Dalando De Zuil

16/07/2010 18:10:40
Quote Anchor link
Wat ik tot nu toe heb:

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
19
20
21
22
<?php
$id
= $_GET['del'];

$naamid = // het naam dat bij het id hierboven hoort...

if($_POST['wachtwoord'] != $password) {
            echo '<span style="color:red"><b>Sleutel van de bezemkast past niet...</b></span>';
// Echo als het wachtwoord (ter controle van de admin) niet klopt)
        } else {
            mysql_query("") or die (mysql_error());
      // hierboven de query voor het verwijderen van de regel waar het id bij hoort
      // die ik dus ook niet weet

            echo '<span style="color:green"><b>Opgepoest met de bezem!</b></span>';
}

?>


Hieronder het form als er iets bij 'del' is opgegeven...

Weet je zeker dat je <?php echo $naamid ?> wilt verwijderen?
<form action="nieuwsverwijderen.php" method="post">
<input type="password" name="password"><input type="submit" value="ja">
</form>
Gewijzigd op 16/07/2010 18:13:00 door Dalando De Zuil
 
Joren de Wit

Joren de Wit

16/07/2010 18:17:00
Quote Anchor link
Controleer altijd of $_GET variabelen wel de inhoud hebben die jij verwacht dat ze hebben. In dit geval verwacht je een integer dus gebruik ctype_digit() om dat te verifieren.

Verder zou je nog een extra GET variabele (bijvoorbeeld 'action') kunnen gebruiken. Als die de waarde 'check' heeft betekent dat er nog een bevestiging gegeven moet worden voor het verwijderen. Bij 'confirm' kan het bericht daadwerkelijk verwijderd worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if($_GET['action'] == 'check') {
  // Laat gebruiker bevestigen
}
elseif($_GET['action'] == 'confirm') {
  // Verwijder bericht
}
?>


Uiteraard zou je ook alleen de 'confirm' waarde kunnen gebruiken, maar dit is ook maar een voorbeeld.
 
Noppes Homeland

Noppes Homeland

16/07/2010 18:26:54
Quote Anchor link
Je moet wel bij het begin beginnen en dat is de lijst waaruit je de nieuwsberichten selecteert.

En het lijkt mij handiger om eerst te beginnen met een login systeempje, zodat je niet bij elke actie je wachtwoord benodigt hebt.
 
Dalando De Zuil

Dalando De Zuil

16/07/2010 18:34:24
Quote Anchor link
Nu heb ik dit, maar zit ik weer vast.

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
$id
= $_GET['id'];

$naamid = // het naam dat bij het id hierboven hoort...

if($_GET['del'] == "vraag")
        {

    echo 'Weet je zeker dat je ' $naamid ' wilt verwijderen?
             <form action="nieuwsverwijderen.php?id='
$id '&a=jconfrm" method="post">
             <input type="password" name="password"><input type="submit" value="ja">
           </form>'

    }

   elseif($_GET['del'] == "jconfrm")

        {


           if($_POST['wachtwoord'] != $password) {
               echo '<span style="color:red"><b>Sleutel van de bezemkast past niet...</b></span>';
   // Echo als het wachtwoord (ter controle van de admin) niet klopt)
           } else {
            mysql_query("") or die (mysql_error());
         // hierboven de query voor het verwijderen van de regel waar het id bij hoort
         // die ik dus ook niet weet

               echo '<span style="color:green"><b>Opgepoest met de bezem!</b></span>';
}


 else{
// weet ik niks
}
              
?>


Hieronder het form als er iets bij 'del' is opgegeven...

Weet je zeker dat je <?php echo $naamid ?> wilt verwijderen?
<form action="nieuwsverwijderen.php" method="post">
<input type="password" name="password"><input type="submit" value="ja">
</form>
 
Noppes Homeland

Noppes Homeland

16/07/2010 18:46:08
Quote Anchor link
heb je ooit gehoord van controle en validatie?

$_SERVRE['REQUEST_METHOD']
http://www.php.net/isset
http://wiki.phpfreakz.nl/Het_Wiel_Uitgevonden:Formulieren


or die() doe je maar 1x in je leven, met andere woorden dat is foutieve foutafhandeling. Bij foutafhandeling gaat het erom dat je een zodanig alternatief geeft dat de rest van de code die volgt gewoon uitgevoerd kan worden, onder de voorwaarden van het alternatief.

en waarom overbodige variabelen aanmaken?

en waarom al die inline style, dat kan je toch gewoon opnemen in de css file
 
Dalando De Zuil

Dalando De Zuil

18/07/2010 11:38:44
Quote Anchor link
Ik heb me er bij neergelegd.
 



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.