Mysql wijzigen of verwijderen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Matthijs P

Matthijs P

05/06/2014 17:10:14
Quote Anchor link
Hallo,

Ik heb hier al een tijdje geleden een topic over aangemaakt maar laat ik nu wat duidelijker maken:

Ik heb een pagina gemaakt dat alle records uit een table uit mn datbase weergeeft, Nu wil ik 2 knoppen daaronder met: verwijderen en wijzigen.

Ik heb het dat als je op een knop drukt dat je naar een link met de id die in de database staat. (bijv: /edit.php?edit=4 die 4 is de id)

ik wil dat ik naar een pagina ga waar ik de data kan wijzigen (die data waar die knoppen onder stonden) en dat ik wil ik ook met het verwijderen dat die data kan verwijderen.

Het zal fijn zijn als het wordt aangeleverd in een hele script, ik zit nu te prutsen met allemaal losse scriptjes en aangezien ik een noob ben in php zou dat handig zijn dat ik het kan kopieeren en dan naar mijn doeleinde kan aanpassen.


ALVAST BEDANKT VOOR DE MOEITE!

Groetjes,

Matthijs
 
PHP hulp

PHP hulp

09/05/2024 19:52:45
 
- Ariën  -
Beheerder

- Ariën -

05/06/2014 17:17:13
Quote Anchor link
Ik kan wel een hoop kant en klare code geven, maar daar leer je niks van... toch ;-)

Maar goed, ik kan je wel een stukje op weg helpen:
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
<?php
if($_SERVER['REQUEST_METHOD']=="GET") {
    if($_GET['actie']=="edit") {
        if(isset($_GET['id'])) {
            // wijzig de boel.
        }
    }
elseif($_GET['actie']=="delete") {
        if(isset($_GET['id'])) {
            // verwijder de boel.
        }
    }
else {
        echo "Onbekende actie! Wat wil je nou precies doen?";
    }
}
else {
    // hier je formulier met twee submit-knoppen, genaamd 'edit' en 'delete'
}
?>


Ik durf te wedden dat je hiermee een flink stuk verder moeten gaan komen, en anders kunnen we in dit topic je verder helpen.
Gewijzigd op 05/06/2014 17:39:48 door - Ariën -
 
Obelix Idefix

Obelix Idefix

05/06/2014 17:22:53
Quote Anchor link
Matthijs P op 05/06/2014 17:10:14:
Ik heb een pagina gemaakt dat alle records uit een table uit mn datbase weergeeft, Nu wil ik 2 knoppen daaronder met: verwijderen en wijzigen.

Daaronder als 'onder alle records' gaat niet werken; dan zou je niet weten welk record het betreft.
Zou dus op elke regel / elk record buttons toevoegen: verwijderen en aanpassen. Hier koppel je het idee aan.

Matthijs P op 05/06/2014 17:10:14:
Het zal fijn zijn als het wordt aangeleverd in een hele script,

Plaats dan een vacature. Hulp willen we best geven, maar enige eigeninbreng wordt wel verwacht.

Matthijs P op 05/06/2014 17:10:14:
ik zit nu te prutsen met allemaal losse scriptjes en aangezien ik een noob ben in php zou dat handig zijn dat ik het kan kopieeren en dan naar mijn doeleinde kan aanpassen.

Wat heb je dan al? Waar loop je op vast?
Noob zijn we allemaal geweest; door scripts van anderen te bekijken, tuts te volgen en vragen te stellen hebben we allemaal geleerd.

Edit: Aar heeft al een mooie voorzet gegeven voor het script dat controleert of er op een link is geklikt/welke link is geklikt.
Gewijzigd op 05/06/2014 17:24:14 door Obelix Idefix
 
Matthijs P

Matthijs P

05/06/2014 17:25:15
Quote Anchor link
Bedankt voor je snelle reactie!

Lang leve mijn vaagheid, ik heb de pagina al waar die 2 linkjes staan laat maar zeggen.

dit heb ik al:
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
<html>
    <head>
    <title>Alles</title>
    <link rel="stylesheet" type="text/css" href="styledashboard.css">
    </head>
</html>

<?php
    include_once('connect_db.php');
    $res = mysql_query("SELECT id,toestel,type,aantal,kleur FROM overzicht");

    while( $row = mysql_fetch_array($res) )
      echo '<b> </b>'." <b>Toestel: </b> $row[toestel]<br/> <b>Type hoesje: </b>$row[type]<br/> <b>Kleur:</b> $row[kleur]<br/> <b>Aantal</b> $row[aantal] <br/>
                <a href='edit.php?edit=$row[id]'>Bewerken</a> <a href='verwijderen.php?verwijderen=$row[id]'>Verwijderen</a> <br/><br/>"
;
?>


Ik zou graag een pagina hebben waar ik de data kan wijzigen en een pagina waar ik de data kan verwijderen

Groetjes,

Matthijs

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Gewijzigd op 05/06/2014 17:27:06 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

05/06/2014 17:26:28
Quote Anchor link
Gebruik mijn voorbeeld script in edit.php, en pas POST aan naar GET.
Gewijzigd op 05/06/2014 17:26:50 door - Ariën -
 
Obelix Idefix

Obelix Idefix

05/06/2014 17:35:43
Quote Anchor link
Bedenk bij het script van Aar dat je niet meerdere bestanden (edit.php en verwijder.php) nodig hebt, maar dat het in 1 bestand kan.

Ten aanzien van je code:
Mysql komt te vervallen, gebruik mysqli (of PDO)
Waar is de foutafhandeling bij je query?
Waarom mysql_fetch_array i.p.v. mysql_fetch_assoc? Je maakt geen gebruik van de array mogelijkheid.
Waarom begin je op regel 13 de echo met ' en gaat daarna over op "?
Sowieso is die regel vreemd; waarom beginnen met een vette spatie? Verder is inline-css niet echt meer van deze tijd. Op regel 14 heb je HTML-code staan (a href), maar werk je met ' Waarom niet met " (zoals op regel 4/gebruikelijk(er) is?
Of variabelen binnen/buiten quotes horen, zijn al meerdere topics verschenen.
 
- Ariën  -
Beheerder

- Ariën -

05/06/2014 17:40:42
Quote Anchor link
Plus dat de URL nu aangepast kunnen worden naar:
script.php?actie=edit&id=42

of

script.php?actie=delete&id=1337
Gewijzigd op 05/06/2014 17:40:50 door - Ariën -
 
Matthijs P

Matthijs P

05/06/2014 17:49:46
Quote Anchor link
ik wil wel 2 pagina's dus als je bij het overzicht op wijzigen druk dat je naar een formuliertje gaat waar je het kan wijzigen en als je op verwijderen dat je de data die er staat verwijderd
 
- Ariën  -
Beheerder

- Ariën -

05/06/2014 17:52:24
Quote Anchor link
Waarom niet een centrale pagina waarop je alle acties (delete, edit) kan afhandelen?
Veel onderhoudsvriendelijker.

In mijn voorbeeld kan je toch twee formulieren kwijt? Voor wijzigen, en verwijderen.(bevestigen ervan)
Gewijzigd op 05/06/2014 17:58:06 door - Ariën -
 
Matthijs P

Matthijs P

05/06/2014 18:34:51
Quote Anchor link
http://prntscr.com/3px9zy

dit heb ik als ik op wijzigen druk wil ik een formulier waar ik de gegevens kan wijzigen.
en als ik op verwijderen druk dat de gegevens verwijderd worden
 
- Ariën  -
Beheerder

- Ariën -

05/06/2014 18:44:28
Quote Anchor link
Heb je al iets met mijn opzet gedaan?
 
Matthijs P

Matthijs P

05/06/2014 21:31:31
Quote Anchor link
Wel gebruikt maar zou jij hem willen aanvullen voor mij?

Alvast bedankt!
 
Obelix Idefix

Obelix Idefix

05/06/2014 21:52:54
Quote Anchor link
Matthijs P op 05/06/2014 21:31:31:
Wel gebruikt maar zou jij hem willen aanvullen voor mij?

Het is hier geen afhaalchinees..... ;-)

Als je het niet zelf wilt/kunt maken, plaats dan een vacature.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/06/2014 22:25:06
Quote Anchor link
>>Het is hier geen afhaalchinees..... ;-)
YAML
 
- Ariën  -
Beheerder

- Ariën -

05/06/2014 22:33:08
Quote Anchor link
Waarom laat je niet gewoon zien met wat je nu zelf geprobeerd hebt? Ben je soms bang dat je soms errors krijgt?

Gelukkig zijn deze eenvoudig op te lossen en dienen ze als leermoment, waardoor je kan achterhalen wat er gebeurt en wat je precies fout doet. Dus neem je tijd en borduur eens verder op mijn gegeven voorbeeld. Als je vast loopt, dan heb je naast PHPhulp een hoop mogelijkheden tot je beschikking, zoals Google, en de documentatie op PHP.net.

En als je dan nog vastloopt, of verdere vragen hebt waar je niet uitkomt, dan kan je altijd hier op het forum terecht. Jij bent immers diegene die een script wil bouwen om items te verwijderen en te wijzigen, en je hebt dit topic zelf in het Beginners-forum geplaatst. ;-)

Als je van mening bent dat het zelf echt niet gaat lukken, wat mij sterk lijkt, dan kan je altijd een vacature plaatsen in het Vacatureforum op onze site. Je hoeft er geen geld voor neer te leggen, want een tagje in de titel met[vrijwillig] mag natuurlijk ook, maar zelf proberen dat is natuurlijk het leukste, want daar leer je van, net als alle andere vele PHP-hulp'ers op dit forum.
Gewijzigd op 05/06/2014 22:33:40 door - Ariën -
 
Matthijs P

Matthijs P

06/06/2014 14:42:11
Quote Anchor link
Ik heb dit bij verwijderen:

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
<?php
include(connect_db.php);
{

  die('Could not connect: ' . mysql_error());
}



$id  = $_POST['id'];
$sql = 'DELETE FROM overzicht WHERE id='$id'';


mysql_select_db('htstelecom');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{

  die('Could not delete data: ' . mysql_error());
}

echo "Data succesvol verwijderd!";
mysql_close($conn);
?>
 
- Ariën  -
Beheerder

- Ariën -

06/06/2014 14:48:35
Quote Anchor link
- Ik zie onnodige accolades { } na je include.
- die() is niet echt nodig, je kan met if-else een betere controle doen als het om foutafhandeling gaat.
- Je connect_db.php hoort tussen quotes
- Je beveiligt je $_POST['id'] waarde niet met mysql_real_escape_string(), dus je bent nu makkelijk vatbaar voor een hack.
- Oriënteer je ook eens op MySQLi, omdat de mysql_*() functies op den duur gaan verdwijnen.
 
Matthijs P

Matthijs P

06/06/2014 14:54:41
Quote Anchor link
mysql_real_escape_string(
$id = $_POST['id'];
)

is dit dan goed?
 
- Ariën  -
Beheerder

- Ariën -

06/06/2014 14:56:26
Quote Anchor link
Nee. Kijk eens naar http://php.net/mysql_real_escape_string.

Ik vraag me af of het gewoon niet beter is om te beginnen met de basis van PHP, gezien je de syntax niet onder de knie hebt, en ik een hoop fouten daarvan in je code zie.
Gewijzigd op 06/06/2014 14:57:09 door - Ariën -
 
Matthijs P

Matthijs P

06/06/2014 20:01:56
Quote Anchor link
Ik heb een scipt waarmee ik gegevens in de database wil voegen maar het niet.
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
<?php

        mysql_connect("localhost","root","");
    mysql_select_db("facturen");
    $naam = $_POST['naam'];
    $straat = $_POST['straat'];
    $postcode = $_POST['postcode'];
    $telefoonnummer = $_POST['telefoonnummer'];
    $email = $_POST['email'];
    
    //vanaf hier worden de gegevens in de database gezet//
    
    $sql = "INSERT INTO facturen (naam, straat, postcode, telefoonnummer, email) VALUES ('".$naam."','".$straat."','".$postcode."','".$telefoonnummer."','".$email."')";
    mysql_query($sql);
    
    if (mysql_query($sql))
{

    echo"Het is gelukt om uw gegevens in de Database in te voeren!";
}

else
{
    echo"Het is niet gelukt uw gegevens in te voeren in de Database , Probeer het opnieuw of neem contact op met de maker van deze pagina!";
}

    
?>

<HTML>
<script>
<!--
function autoChange()
{
var timeID = setTimeout("location.href= 'nieuw.php'", 1000)
}
//-->
</script>
<BODY onLoad="autoChange()">
</BODY>
</HTML>


ik heb voor de duidelijkheid ff het wachtwoord weggelaten
wat is hier mis mee?
 
Obelix Idefix

Obelix Idefix

06/06/2014 20:12:06
Quote Anchor link
Matthijs P op 06/06/2014 20:01:56:
Ik heb een scipt waarmee ik gegevens in de database wil voegen maar het niet.

Wat gebeurt er wel dan?

Matthijs P op 06/06/2014 20:01:56:
wat is hier mis mee?

Het nodige ;-)
Je controleert niet of $_POST variabelen bestaan (isset).
Je controleert niet of e-mailadres voldoet aan gangbare eisen.
Je maakt onnodig nieuwe variabelen aan; gebruik gewoon $_POST waarden.
Je gebruikt mysql. Dit komt te vervallen; stap over op mysqli / PDO.
Je slaat de gegevens zonder enige beveiliging op in de database; veiligheidslek (mysqli_real_escape_string).
Heb je ook ergens doctype opgenomen in HTML?
Gewijzigd op 06/06/2014 20:16:27 door Obelix Idefix
 

Pagina: 1 2 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.