help met msql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefano test

stefano test

26/07/2010 21:00:38
Quote Anchor link
hallo ik heb een petitie script gevonden/ en veranderd maar ik zit met een probleem telkens als er iemand rare naam in zet wat kan gebeuren moet ik naar de database om het eruit te halen hoe krijg ik het voor elkaar dat ik een admin pagina maak waar je alle mensen die de petitie getekend hebben kan verwijderen en wijzigen? plz hulp

met update kan je wijzigen maar hoe doe je dit precies
Gewijzigd op 26/07/2010 21:08:14 door Stefano test
 
PHP hulp

PHP hulp

23/11/2024 19:40:14
 
Jonathan de Vries

Jonathan de Vries

26/07/2010 21:10:37
Quote Anchor link
Plaats eerst je database structuur eens, dat werkt voor ons wat makkelijker.
 
Stefano test

stefano test

26/07/2010 21:11:28
Quote Anchor link
je bedoelt welke rijen toch?
id name email ip
 
Jonathan de Vries

Jonathan de Vries

26/07/2010 21:38:24
Quote Anchor link
Even snel wat in elkaar geflanst, moet zoiezo werken.
De rest moet je er zelf eventjes omheen bouwen en updaten.

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
<?php
    require "db_config.php";

  $gegevens = mysql_query("SELECT id, name FROM tabelnaam");
    if(mysql_num_rows($gegevens) > 0)
    {

while($rec = mysql_fetch_object($gegevens))
{

    echo $rec->name."<br />";
    echo '<a href="pagina_naam.php?id='.$rec->id.'">Verwijder</a>';
}
    }
    
if(isset($_GET['id'])){
    $sql = mysql_query("DELETE FROM tabelnaam WHERE id=".$_GET['id']."");
    if(!$sql){
        echo "Er ging iets mis met het verwijderen";
    }
else{
        echo "Bericht verwijderd";
    }
}

?>
Gewijzigd op 26/07/2010 21:39:07 door Jonathan de Vries
 
Stefano test

stefano test

26/07/2010 22:15:27
Quote Anchor link
hartstikke bedankt werkt perfect alleen degene die als laatst getekend heeft kan ik niet verwijderen en is er ook een mogelijk doormiddel van form ofzo hem te wijzigen bij naam en email? als je dit kan maken ben je top :D
 
Stefano test

stefano test

26/07/2010 23:07:30
Quote Anchor link
....
Gewijzigd op 26/07/2010 23:31:22 door stefano test
 
Jonathan de Vries

Jonathan de Vries

26/07/2010 23:56:23
Quote Anchor link
Ik zal het zo eens proberen.
 
- SanThe -

- SanThe -

27/07/2010 01:02:26
Quote Anchor link
Foutafhandeling ontbreekt.
Script is lek => SQL-Injection.
 
Stefano test

stefano test

27/07/2010 01:10:52
Quote Anchor link
santhe nvt kan jij hem dan beveiligen tegen sql injection?
 
- SanThe -

- SanThe -

27/07/2010 01:20:45
 
Jonathan de Vries

Jonathan de Vries

27/07/2010 01:45:33
Quote Anchor link
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
    require "db_config.php";
    
?>

<style type="text/css">
input.text {
    width: 165px;
    border: 1px solid #d1d1d1;
    margin: 5px 0;
    height: 20px;
    background: #fff;
}
input.button {
    width: 80px;
    border: 1px solid #d1d1d1;
    margin: 0;
    padding: 0;
    height: 20px;
    background: #d1d1d1;
    color: #606060;
}
</style>

<?php
    
  $pagina
= "pagina_naam";
  $tabel = "tabel_naam";
  $gegevens = mysql_query("SELECT id, name, email FROM ".$tabel."");
    if(mysql_num_rows($gegevens) > 0)
    {

while($rec = mysql_fetch_object($gegevens))
{

    echo '<form action="'.$pagina.'?id='.$rec->id.'" method="post" id="'.$rec->id.'">
    <input type="text" class="text" name="name" value="'
.$rec->name.'"/><br />
    <input type="text" class="text" name="email" value="'
.$rec->email.'"/><br />
    <input type="submit" name="aanpassen" class="button" value="Aanpassen"/>
    <input type="submit" name="verwijder" class="button" value="Verwijder"/>
    </form>'
;
}
    }

        
if(isset($_REQUEST['verwijder'])){
    if(is_numeric($_GET['id'])){
        $id = $_GET['id'];
    }
else{ die("Error"); }
    $sql = mysql_query("DELETE FROM ".$tabel." WHERE id=".$id."");
    if(!$sql){
        echo "Er ging iets mis met het verwijderen";
    }
else{
        echo "Gegevens zijn verwijderd.";
        echo "<meta http-equiv=\"refresh\" content=\"2;url=$pagina\">";
    }
}


if(isset($_REQUEST['aanpassen'])){
    if(is_numeric($_GET['id'])){
        $id = $_GET['id'];
    }
else{ die("Error"); }
    $sql = mysql_query("UPDATE ".$tabel." SET name='".mysql_real_escape_string($_POST['name'])."', email='".mysql_real_escape_string($_POST['email'])."' WHERE id=".$id."");
    if(!$sql){
        echo "Er ging iets mis tijdens het aanpassen";
    }
else{
        echo "Gegevens zijn aangepast.";
        echo "<meta http-equiv=\"refresh\" content=\"2;url=$pagina\">";
    }
}

?>
Gewijzigd op 27/07/2010 01:45:56 door Jonathan de Vries
 
Stefano test

stefano test

27/07/2010 01:58:29
Quote Anchor link
wouw geweldig bedankt deze is wel beveiligd zie ik toch??
 
Bart V B

Bart V B

27/07/2010 08:22:39
Quote Anchor link
nee dat is/was het niet.

is_numeric() klinkt als nummer maar dat is het niet.
Van php.net:
Quote:
is_numeric — Finds whether a variable is a number or a numeric string

ctype_digit moet je gebruiken.
En wat nou het gevaarlijkst is, dat is niet dicht getimmerd. ;)

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
40
41
42
43
44
<?php
    
  $pagina
= "pagina_naam";
  $tabel = "tabel_naam";
  $gegevens = mysql_query("SELECT id, name, email FROM ".$tabel."");
    if(mysql_num_rows($gegevens) > 0)
    {

while($rec = mysql_fetch_object($gegevens))
{

    echo '<form action="'.$pagina.'?id='.$rec->id.'" method="post" id="'.$rec->id.'">
    <input type="text" class="text" name="name" value="'
.$rec->name.'"/><br />
    <input type="text" class="text" name="email" value="'
.$rec->email.'"/><br />
    <input type="submit" name="aanpassen" class="button" value="Aanpassen"/>
    <input type="submit" name="verwijder" class="button" value="Verwijder"/>
    </form>'
;
}
    }

        
if(isset($_REQUEST['verwijder'])){
    if(ctype_digit($_GET['id'])){
       // $id = $_GET['id'];
    }else{ die("Error"); }
    $sql = mysql_query("DELETE FROM ".$tabel." WHERE id ='".mysql_real_escape_string($_GET['id'])."'");
    if(!$sql){
        echo "Er ging iets mis met het verwijderen";
    }
else{
        echo "Gegevens zijn verwijderd.";
        echo "<meta http-equiv=\"refresh\" content=\"2;url=$pagina\">";
    }
}


if(isset($_REQUEST['aanpassen'])){
    if(ctype_digit($_GET['id'])){
        //$id = $_GET['id'];
    }else{ die("Error"); }
    $sql = mysql_query("UPDATE ".$tabel." SET name='".mysql_real_escape_string($_POST['name'])."', email='".mysql_real_escape_string($_POST['email'])."' WHERE id='".mysql_real_escape_string($_GET['id'])."'");
    if(!$sql){
        echo "Er ging iets mis tijdens het aanpassen";
    }
else{
        echo "Gegevens zijn aangepast.";
        echo "<meta http-equiv=\"refresh\" content=\"2;url=$pagina\">";
    }
}

?>
Gewijzigd op 27/07/2010 08:29:28 door Bart V B
 



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.