verkeerd insert naar database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mohammed el-faquir

mohammed el-faquir

22/12/2012 21:59:02
Quote Anchor link
hallo allemaal,

ik ben bezig met een admin pagina. de bedoeling is dat ik in deze pagina dus nieuws die in de database kan aanpassen. alleen heb ik 1 probleem. als ik dus mijn foto niet verander in de pagina haalt hij de bestaande foto uit de database ik weet niet wat ik verkeerd doe ?? als ik tevens een nieuwe foto upload werkt alles wel. kan iemand mij helpen !




Quote:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
<?
include('verify.php');

// datas
$id = $_POST['id'];
$title = $_POST['title'];
$text = $_POST['text'];
$bigline = $_POST['bigline'];
$categorie = $_POST['categorie'];
$author = $_POST['author'];
$seo_url = $_POST['seo_url'];
$keywords = $_POST['keywords'];
$description = $_POST['description'];



$call = @mysql_fetch_array(mysql_query("SELECT * FROM $table_b WHERE ID='$id'"));      
// Call for the name of categorie
$queryd = "SELECT * FROM $table_d WHERE ID=$categorie";
$resultd = mysql_query($queryd);
$mycat = @mysql_fetch_object($resultd);
$categorie_name = $mycat->naam_categorie;


if(empty($_FILES['preview']['name'])) { $newfilename = $call['preview']; }

else {
        
    // Image file data
    $fileName = $_FILES['preview']['name'];
    $tmpName  = $_FILES['preview']['tmp_name'];
    
    // Extension allowed
    $extensions = array('.png', '.gif', '.jpg', '.jpeg');
    // Check extension
    $extension = strrchr($_FILES['preview']['name'], '.');
    //Test it...
    if(!in_array($extension, $extensions)) //if extension is not in the array... ALERT!!
    {
         print "Only .png, .gif, .jpg, .jpeg file are accepted, Thanks !";
         exit;
    }

    // Folder blog + id of the new article
    $uploadDir = '../../site/images/nieuws/'.$id.'/';
    
    // Generate random name
    $randName = md5(rand() * time());
    
    // Creation of path
    $filePath = $uploadDir . $fileName;
    $newfilename = $fileName;

    // UPLOAD IMAGE
    // If something wrong.... we stop ! or we upload.

    $result    = move_uploaded_file($tmpName, $filePath);
    if (!$result) {
        echo "Error during upload... Please read the help doc.";
        exit;
    }
        
}

// Update query
$update = mysql_query("UPDATE $table_b SET
                      titel='$title',
                      beschrijving_klein='$bigline',
                      beschrijving='$text',
                      door='$author',
                      foto='$newfilename',
                      ID_nieuwscategorie='$categorie',
                      seo_url='$seo_url',
                      keywords='$keywords',
                      description='$description'
                      WHERE ID='$id'"
);

// Verif
if(!$update) echo alert("Error during update...");

// Redirect
header("location:zone.php?action=Update_news");
?>

Gewijzigd op 22/12/2012 21:59:48 door Mohammed el-faquir
 
PHP hulp

PHP hulp

16/02/2025 14:31:41
 
Obelix Idefix

Obelix Idefix

22/12/2012 22:40:50
Quote Anchor link
Regel 5 t/m 14 kopieer je variabelen. Waarom?
Je onderdrukt met @ de eventuele foutmeldingen. Waarom?
Geen * maar benoem het veld/de velden die je wilt opvragen.
Variabelen buiten quotes.
Je script is (mogelijk) onbeveiligd door het gebruik van $id.
Je mist foutafhandeling van je query's.

Bekijk je script-opbouw eens logisch. Waar wordt de query uitgevoerd die gegevens aanpast?
Echo die eens naar het scherm.

Je geeft nergens in die query aan dat het veld met de fotonaam alleen gewijzigd moet worden als er een nieuwe foto wordt geupload. Als er geen waarde is, zal er dus niets in de database worden weg gezet.
 



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.