Er lijkt niets te gebeuren bij copy.
Er wordt dan een formulier getoond met de naam. Deze kan dan aangepast worden. Nu komt het. Dat gebeurt dus niet. Hier mijn code, zonder <! Doc...
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
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
<?php
$filenaam=($_GET["id"]);
If (isset($_POST['submit'])) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
copy($filenaam, $nieuwenaam);
unlink($filenaam);
echo '<script type="text/javascript">alert("Gelukt\n\nHet bestand is hernoemd. U keert nu terug.");</script>' ;
header('Location: EditDir.php');
} else {
echo '<script type="text/javascript">alert("Helaas \n\nHet bestand bestaat al. U keert nu terug.");</script>' ;
header('Location: EditDir.php');
}
}
?>
<br>
<br>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<table width="50%" border="0" bgcolor="fefefe">
<tr>
<td><div align="center">Bestand hernoemen</div></td>
</tr>
<tr><td><div align="center">Huidige naam: <i>'<?php echo $filenaam; ?>'</i></div></td></tr>
<tr>
<td><div align="center">Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
</div></td></tr>
<tr><td><div align="center">
<input type="hidden" name="submit" value="true" />
<input type="submit" value=" Hernoem het bestand " />
</div>
</td></tr>
</table>
</form>
$filenaam=($_GET["id"]);
If (isset($_POST['submit'])) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
copy($filenaam, $nieuwenaam);
unlink($filenaam);
echo '<script type="text/javascript">alert("Gelukt\n\nHet bestand is hernoemd. U keert nu terug.");</script>' ;
header('Location: EditDir.php');
} else {
echo '<script type="text/javascript">alert("Helaas \n\nHet bestand bestaat al. U keert nu terug.");</script>' ;
header('Location: EditDir.php');
}
}
?>
<br>
<br>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<table width="50%" border="0" bgcolor="fefefe">
<tr>
<td><div align="center">Bestand hernoemen</div></td>
</tr>
<tr><td><div align="center">Huidige naam: <i>'<?php echo $filenaam; ?>'</i></div></td></tr>
<tr>
<td><div align="center">Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
</div></td></tr>
<tr><td><div align="center">
<input type="hidden" name="submit" value="true" />
<input type="submit" value=" Hernoem het bestand " />
</div>
</td></tr>
</table>
</form>
Wat doe ik niet goed?
Tevens zie ik een hoop fouten in je code waar je tegenaan kan lopen:
- Ik zie nergens een controle of je $_GET['id'] bestaat. Dit kan eenvoudig in combinatie met isset
- Ik zie dat je output (javascript alert) voor je header plaatst, en dat dat kan niet. Er mag GEEN output voor een header staan. Tevens als je een location-header gebruikt moet je deze beëindigen met een exit(). Je script wil je ook daadwerkelijk stoppen vanaf dat moment.
- Verder is overbodig in je action en kan je deze weglaten. je voer immers toch het script uit in hetzelfde bestand. Ook mag je zelfs het action-attribuut volledig weglaten in HTML5, in dit geval.
En nog een kanttekening: Tabellen zijn niet meer nodig hiervoor. Met de juiste CSS-regels op je formulier elementen kan je prima je formulier opmaken en indelen.
Gewijzigd op 11/10/2017 12:05:33 door - Ariën -
@Ariën: Check id komt fase 2. Dank voor de opmerkingen/aanwijzingen. Heb ik echt wat aan. Dank! CSS had ik eruit gehaald om zo min mogelijk code te hebben en te testen.
Toevoeging op 11/10/2017 13:05:17:
Dank!. Ik heb de code aangepast en helemaal opgenomen.
Vraag: Ik weet alleen niet waar ik de header nu moet neerzetten, omdat ik terug wil gaan.
CSS: styling wel opgenomen, allen tabel nog niet eruit gehaald.
Moet nog een hoop leren, en leer een hoop dank jullie!
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
input[type=submit] {
width: 100%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
table {
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<?php
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
copy($filenaam, $nieuwenaam);
unlink($filenaam);
$boodschap='Bestand in hernoemd.';
} else {
$boodschap='Bestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($error);</script>' ;
}
?>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<table width="50%" border="0" bgcolor="fefefe">
<tr>
<td><div align="center">Bestand hernoemen</div></td>
</tr>
<tr><td><div align="center">Huidige naam: <i>'<?php echo $filenaam; ?>'</i></div></td></tr>
<tr>
<td><div align="center">Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
</div></td></tr>
<tr><td><div align="center">
<input type="hidden" name="submit" value="true" />
<input type="submit" value=" Hernoem het bestand " />
</div>
</td></tr>
</table>
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
input[type=submit] {
width: 100%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
table {
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<?php
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
copy($filenaam, $nieuwenaam);
unlink($filenaam);
$boodschap='Bestand in hernoemd.';
} else {
$boodschap='Bestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($error);</script>' ;
}
?>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<table width="50%" border="0" bgcolor="fefefe">
<tr>
<td><div align="center">Bestand hernoemen</div></td>
</tr>
<tr><td><div align="center">Huidige naam: <i>'<?php echo $filenaam; ?>'</i></div></td></tr>
<tr>
<td><div align="center">Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
</div></td></tr>
<tr><td><div align="center">
<input type="hidden" name="submit" value="true" />
<input type="submit" value=" Hernoem het bestand " />
</div>
</td></tr>
</table>
</form>
</body>
</html>
Dan kan je zonder problemen een header-loaction gebruiken.
Gewijzigd op 11/10/2017 13:10:36 door - Ariën -
De functie rename() lijkt me beter geschikt. Ook al, omdat je dan niet eerst een file van 2GB kopieert (overdreven, maar om even aan te geven wat je doet) om daarna de oorsprong weg te gooien
Toevoeging op 11/10/2017 14:05:02:
En je moet natuurlijk ook als PHP zijnde, schrijfrechten hebben op die file/locatie
Ik heb eea aagenaspt. Schrijfrechten zijn goed. En een goede tip op te renamen. Ik krijg echter geen melding of het nu goed of slecht gegaan is. Kennelijk doe ik nog iets niet goed. De header('Location heb ik er uit gehaald.
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
Willen jullie nog eens meekijken en mij de goede kant op zetten?
dank
Jan
Toevoeging op 11/10/2017 14:26:19:
@Ivo, Ariën:
Ik heb eea aagenaspt. Schrijfrechten zijn goed. En een goede tip op te renamen. Ik krijg echter geen melding of het nu goed of slecht gegaan is. Kennelijk doe ik nog iets niet goed. De header('Location heb ik er uit gehaald.
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
Willen jullie nog eens meekijken en mij de goede kant op zetten?
dank
Jan
Toevoeging op 11/10/2017 14:29:19:
@Ivo, Ariën:
Ik heb eea aagenaspt. Schrijfrechten zijn goed. En een goede tip op te renamen. Ik krijg echter geen melding of het nu goed of slecht gegaan is. Kennelijk doe ik nog iets niet goed. De header('Location heb ik er uit gehaald.
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
Willen jullie nog eens meekijken en mij de goede kant op zetten?
dank
Jan
Toevoeging op 11/10/2017 14:29:31:
@Ivo, Ariën:
Ik heb eea aagenaspt. Schrijfrechten zijn goed. En een goede tip op te renamen. Ik krijg echter geen melding of het nu goed of slecht gegaan is. Kennelijk doe ik nog iets niet goed. De header('Location heb ik er uit gehaald.
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
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
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
<?php
$boodschap='';
$success=false;
if (isset($_GET["id"])) {
$filenaam=($_GET["id"]);
$boodschap='Helaas, bestand niet ingevuld';
}
If ((isset($_POST['submit'])) && ($boodschap!="")) {
$nieuwenaam = $_POST['nieuwenaam'];
if (!file_exists($nieuwenaam)) {
rename($filenaam, $nieuwenaam);
$boodschap='Gelukt\n\nBestand is hernoemd.';
} else {
$boodschap='Gestopt\n\nBestand bestaat al en is niet overschreven!';
}
}
if ($boodschap<>"") {
echo '<script type="text/javascript">alert($boodschap);</script>' ;
$success=true;
}
// if (isset($success)) {
// header ('Location: EditDir.php');
// exit();
// }
?>
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Overzicht van bestanden"</title>
<meta name="language" content="en" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style>
input[type=text], select {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
h1 {
align="center";
}
input[type=submit] {
width: 20%;
background-color: red;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: #45a049;
}
div {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
.table {
width: 650;
margin : 0 auto;
align= "center";
border-radius: 8px;
background-color:#efefef;
-moz-box-shadow: 10px 10px 5px #888;
-webkit-box-shadow: 10px 10px 5px #888;
box-shadow: 10px 10px 5px #888;
padding: 3px 3px 3px 3px;
}
button:hover {
background-color: red;
color: white;
border: white;
border-radius: 8px;
}
button {
color: red;
background-color: white;
border:red;
border-radius: 8px;
}
</style>
</head>
<body>
<br>
<br>
<form method="post" enctype="multipart/form-data" name="hernoemen" onkeypress="return event.keyCode != 13;">
<div class="table">
<h1 align="center">Bestand hernoemen</h1>
<p align="center">
Huidige naam: <i>'<?php echo $filenaam; ?>'</i>
<br>
Hernoemen naar:<br>
<input type="text" name="nieuwenaam" size="90" minsize="5" maxsize="90" placeholder="<?php echo $filenaam; ?>" value='<?php echo $filenaam; ?>' required />
<input type="hidden" name="submit" value="true" />
<br>
<input type="submit" value=" Hernoem het bestand " />
</p>
</div>
</form>
</body>
</html>
Willen jullie nog eens meekijken en mij de goede kant op zetten?
dank
Jan
als de submit knop is gedrukt EN je een foutmelding hebt die niet leeg is, dan ga je renamen.
Terwijl je juist GEEN foutmelding wilt hebben, dus $boodschap == ''
En verder hoort een Javascript niet boven de doctype.
Ik leer steeds meer. En ga door om het werkend te krijgen.
En tenzij alle bestanden in hetzelfde pad staan als dit script zul je gebruik moeten maken van het absolute interne pad om naar de bestanden te verwijzen (wat mij sowieso geen slecht idee lijkt).
Ook wil je de bestanden hoogstwaarschijnlijk in een geïsoleerde directory zetten. Vanuit veiligheidsoverwegingen, maar misschien ook zodat er geen bestaande scripts of andere bestanden overschreven kunnen worden.
Gewijzigd op 12/10/2017 00:31:09 door Thomas van den Heuvel
https://depruus.000webhostapp.com/EditDir.php
Daar kun je verschillende dingen doen. De inlog is hier uit gelaten voor de test. De gebruiker kan alleen de bestanden zien die ik vrij zet. Bij de rest kan hij niet bijkomen. De header heb ik los gelaten. Ik krijg het niet werkend. Dus maar een andere route. Dank allen.
Ik heb inmiddels een test gemaakt: Daar kun je verschillende dingen doen. De inlog is hier uit gelaten voor de test. De gebruiker kan alleen de bestanden zien die ik vrij zet. Bij de rest kan hij niet bijkomen. De header heb ik los gelaten. Ik krijg het niet werkend. Dus maar een andere route. Dank allen.
om even aan te tonen dat je iets aan beveiliging moet doen. (daarom krijg je nu een 404 bij het renamen)
--
dus niet alleen bij het ophalen van de lijst bekijken of dit bestand in aanmerking komt om te renamen, maar ook bij het daadwerkelijk tonen in het editscherm, en ook in het werkelijke rename-proces.
Dan nog zou ik ze ook nog eens in 1 directory plaatsen.
Daarnaast: zorg ook dat niemand een / in een bestandsnaam kan zetten, of zelfs ../../some/dir/
beetje jammer als geheimeconfig.php naar publiekeconfig.txt wordt hernoemd en je passwords op straat liggen
Gewijzigd op 12/10/2017 11:12:12 door Ivo P
dank. Ik neem jouw advies ter harte en ga daarmee aan de slag.
inmiddels eea aangepast. Https://depruus.000webhostapp.com/EditDir.php en staat in test.
Gewijzigd op 13/10/2017 11:12:20 door Jan te Pas