Na aanppassen gegevens is data verdwenen
Ik heb dus even de bestanden als text ge-upload om ze beter te kunnen bekijken:
http://www.costadelweb.com/test/calls.txt
http://www.costadelweb.com/test/edit_call.txt
Hallo Allemaal,
Ik ben bezig met een systeem om gegevens op te slaan en eventueel later te bewerken.
Is een kant en klaar pakket dat ik aan het aanpassen ben en ik zit met een probleem, ben geen echte kenner maar druk lerende, na eerder deze week (met jullie hulp) een kleur probleem te hebben opgelost zit ik nu met iets waar ik dus echt niet uitkom.
Het invoeren van gegevens gaat goed, het later weergeven ook. Er is echter een optie om gegevens aan te passen, zodar ik daar naar toe ga om data aan te passen, en ik ga dat naderhand weer bekijken, zijn er een hoop dingen weg.
Om het te bekijken/testen : http://www.costadelweb.com/test
Username: test
Pass: test
Ik heb daar even 2 keer gegevens ingevoerd, bij de eerste op edit geklikt en na terugkomst op de pagina om het te bekijken zijn er dus dingen weg. Bij de tweede invoer heb ik niet op edit geklikt en staat alles er dus gewoon.
Ik hoop dat jullie me weer een duwtje in de juiste richting kunnen geven.
Groeten uit Spanje
Dit zijn de scripts die ik gebruikt heb:
SQL query:
**********************************************
Code (php)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
-- phpMyAdmin SQL Dump
-- version 2.6.0-pl1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: May 26, 2006 at 04:14 PM
-- Server version: 4.0.21
-- PHP Version: 4.3.4
--
-- Database: `callcenter`
--
-- --------------------------------------------------------
--
-- Table structure for table `call_status`
--
CREATE TABLE `call_status` (
`status_id` int(11) NOT NULL auto_increment,
`status_desc` varchar(255) default NULL,
PRIMARY KEY (`status_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
--
-- Dumping data for table `call_status`
--
INSERT INTO `call_status` VALUES (1, 'open');
INSERT INTO `call_status` VALUES (2, 'closed');
INSERT INTO `call_status` VALUES (3, 'pending');
-- --------------------------------------------------------
--
-- Table structure for table `calls`
--
CREATE TABLE `calls` (
`call_id` int(10) NOT NULL auto_increment,
`call_date` date default NULL,
`name` varchar(255) default NULL,
`geslacht` varchar(255) default NULL,
`geb_datum` varchar(255) default NULL,
`adres` varchar(255) default NULL,
`phone` varchar(20) default NULL,
`phone_werk` varchar(20) default NULL,
`mobiel` varchar(255) default NULL,
`email` varchar(255) default NULL,
`hoe` varchar(255) default NULL,
`department_id` int(10) default NULL,
`issue_id` int(10) default NULL,
`datum_actie` varchar(255) default NULL,
`problem_desc` text,
`problem_solution` text,
`problem_notes` text,
`status_id` int(10) NOT NULL default '1',
`user_id` int(10) default NULL,
PRIMARY KEY (`call_id`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
--
-- Table structure for table `departments`
--
CREATE TABLE `departments` (
`department_id` int(10) NOT NULL auto_increment,
`department_desc` varchar(255) default NULL,
PRIMARY KEY (`department_id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
--
-- Dumping data for table `departments`
--
INSERT INTO `departments` VALUES (1, 'Marketing');
INSERT INTO `departments` VALUES (2, 'Sales');
-- --------------------------------------------------------
--
-- Table structure for table `issue_types`
--
CREATE TABLE `issue_types` (
`issue_id` int(10) NOT NULL auto_increment,
`issue_desc` varchar(255) default NULL,
PRIMARY KEY (`issue_id`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
--
-- Dumping data for table `issue_types`
--
INSERT INTO `issue_types` VALUES (3, 'monitor');
INSERT INTO `issue_types` VALUES (2, 'keyboard');
INSERT INTO `issue_types` VALUES (4, 'network');
INSERT INTO `issue_types` VALUES (5, 'mouse');
INSERT INTO `issue_types` VALUES (6, 'email');
INSERT INTO `issue_types` VALUES (7, 'word processing');
INSERT INTO `issue_types` VALUES (8, 'password');
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`user_id` int(10) NOT NULL auto_increment,
`fname` varchar(100) default NULL,
`lname` varchar(100) default NULL,
`user_name` varchar(100) NOT NULL default '',
`user_password` varchar(100) NOT NULL default '',
`access_level` varchar(20) NOT NULL default 'Administrator',
PRIMARY KEY (`user_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
--
-- Dumping data for table `users`
--
INSERT INTO `users` VALUES (1, 'Joe', 'Admin', 'admin', 'admin', 'Administrator');
INSERT INTO `users` VALUES (2, 'John', 'Smith', 'jsmith', 'pass', 'User');
-- version 2.6.0-pl1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: May 26, 2006 at 04:14 PM
-- Server version: 4.0.21
-- PHP Version: 4.3.4
--
-- Database: `callcenter`
--
-- --------------------------------------------------------
--
-- Table structure for table `call_status`
--
CREATE TABLE `call_status` (
`status_id` int(11) NOT NULL auto_increment,
`status_desc` varchar(255) default NULL,
PRIMARY KEY (`status_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
--
-- Dumping data for table `call_status`
--
INSERT INTO `call_status` VALUES (1, 'open');
INSERT INTO `call_status` VALUES (2, 'closed');
INSERT INTO `call_status` VALUES (3, 'pending');
-- --------------------------------------------------------
--
-- Table structure for table `calls`
--
CREATE TABLE `calls` (
`call_id` int(10) NOT NULL auto_increment,
`call_date` date default NULL,
`name` varchar(255) default NULL,
`geslacht` varchar(255) default NULL,
`geb_datum` varchar(255) default NULL,
`adres` varchar(255) default NULL,
`phone` varchar(20) default NULL,
`phone_werk` varchar(20) default NULL,
`mobiel` varchar(255) default NULL,
`email` varchar(255) default NULL,
`hoe` varchar(255) default NULL,
`department_id` int(10) default NULL,
`issue_id` int(10) default NULL,
`datum_actie` varchar(255) default NULL,
`problem_desc` text,
`problem_solution` text,
`problem_notes` text,
`status_id` int(10) NOT NULL default '1',
`user_id` int(10) default NULL,
PRIMARY KEY (`call_id`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
--
-- Table structure for table `departments`
--
CREATE TABLE `departments` (
`department_id` int(10) NOT NULL auto_increment,
`department_desc` varchar(255) default NULL,
PRIMARY KEY (`department_id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
--
-- Dumping data for table `departments`
--
INSERT INTO `departments` VALUES (1, 'Marketing');
INSERT INTO `departments` VALUES (2, 'Sales');
-- --------------------------------------------------------
--
-- Table structure for table `issue_types`
--
CREATE TABLE `issue_types` (
`issue_id` int(10) NOT NULL auto_increment,
`issue_desc` varchar(255) default NULL,
PRIMARY KEY (`issue_id`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;
--
-- Dumping data for table `issue_types`
--
INSERT INTO `issue_types` VALUES (3, 'monitor');
INSERT INTO `issue_types` VALUES (2, 'keyboard');
INSERT INTO `issue_types` VALUES (4, 'network');
INSERT INTO `issue_types` VALUES (5, 'mouse');
INSERT INTO `issue_types` VALUES (6, 'email');
INSERT INTO `issue_types` VALUES (7, 'word processing');
INSERT INTO `issue_types` VALUES (8, 'password');
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE `users` (
`user_id` int(10) NOT NULL auto_increment,
`fname` varchar(100) default NULL,
`lname` varchar(100) default NULL,
`user_name` varchar(100) NOT NULL default '',
`user_password` varchar(100) NOT NULL default '',
`access_level` varchar(20) NOT NULL default 'Administrator',
PRIMARY KEY (`user_id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
--
-- Dumping data for table `users`
--
INSERT INTO `users` VALUES (1, 'Joe', 'Admin', 'admin', 'admin', 'Administrator');
INSERT INTO `users` VALUES (2, 'John', 'Smith', 'jsmith', 'pass', 'User');
**********************************************
Gewijzigd op 12/01/2012 01:41:33 door Chris -
Misschien moet je wat aan beveiliging doen? Je script is nu lek. SQL-Injection. Kijk eens naar mysql_real_escape_string(). Ook mist elke vorm van nette foutafhandeling voor de query's.
Groeten,
Hans
Toevoeging op 12/01/2012 09:32:53:
Er is trouwens nog iets raars, als ik éénmaal iets aangepast heb, veranderd het veld "Naam" en geeft "Datum Actie" weer.
Ben nu nog een keer alle codes nagelopen en ik kan het (nog) niet vinden
Ik zie dat jij de gegevens uit de database direct in je formuliervelden neerzet. Doe dat met htmlentities() er omheen.
Heb net even zitten lezen over htmlentities en volgens mij snap ik wel een beetje wat dat doet, maar ik vraag me af of het probleem dat ik heb daarmee opgelost wordt.
Ga wel even kijken of ik dat er in kan bouwen, misschien lost het het wel op.
Groeten,
Hans
Foutafhandeling, variabelen buiten quotes. Waarom al die variabelen kopieren (zonder controle). if($_POST['submit'] zou ik vervangen door if ($_SERVER['REQUEST_METHOD'] == 'POST')
Waarom gebruik je mysql_fetch_array en niet mysql_fetch_assoc?
En om je probleem op te lossen:
Debug: echo je query('s) eens naar het scherm en kijk of het klopt met wat je verwacht.
Heb alle rijen per stuk toegevoegd en steeds gekeken of het goed ging, nu staat alles er en werkt het naar behoren.
Bedankt voor de hulp/tips!
En wat was nu het probleem? Graag de oplossing delen op het forum.