Er lijkt niets te gebeuren bij copy.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan te Pas

Jan te Pas

11/10/2017 11:38:13
Quote Anchor link
Ik wil een bestand door een gebruiker laten hernoemen. De aanroep wordt FileRename.php?id=text.txt
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)
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
<?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>


Wat doe ik niet goed?
 
PHP hulp

PHP hulp

19/04/2024 09:39:34
 
- SanThe -

- SanThe -

11/10/2017 11:58:41
Quote Anchor link
Zet dit eens bovenin je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
 
- Ariën  -
Beheerder

- Ariën -

11/10/2017 12:04:59
Quote Anchor link
Wat SanThe zegt.
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF'];?>
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 -
 
Jan te Pas

Jan te Pas

11/10/2017 12:40:19
Quote Anchor link
@SanThe: Ik heb dit gebruikt en ik kreeg geen foutmelding meer.
@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)
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
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>
 
- Ariën  -
Beheerder

- Ariën -

11/10/2017 13:09:37
Quote Anchor link
Ik zou je uitvoerende code bovenaan je HTML zetten, en niet halverwege.
Dan kan je zonder problemen een header-loaction gebruiken.
Gewijzigd op 11/10/2017 13:10:36 door - Ariën -
 
Ivo P

Ivo P

11/10/2017 14:03:14
Quote Anchor link
je realiseert je dat als het kopieren niet goed gaat, bijvoorbeeld omdat de nieuwe naam onmogelijk is door rare tekens, je in de volgende regel wel de oorspronkelijke file weggooit?

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
 
Jan te Pas

Jan te Pas

11/10/2017 14:26:18
Quote Anchor link
@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)
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
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>


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)
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
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>


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)
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
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>


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)
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
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>


Willen jullie nog eens meekijken en mij de goede kant op zetten?
dank
Jan
 
Ivo P

Ivo P

11/10/2017 14:53:48
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php If ((isset($_POST['submit'])) && ($boodschap!="")) { ?>


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 == ''
 
Adoptive Solution

Adoptive Solution

11/10/2017 15:00:36
Quote Anchor link
Probeer dit :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo '<script type="text/javascript">alert("' . $boodschap . '");</script>';
 
- Ariën  -
Beheerder

- Ariën -

11/10/2017 15:08:05
Quote Anchor link
En verder hoort een Javascript niet boven de doctype.
 
Jan te Pas

Jan te Pas

11/10/2017 15:46:13
Quote Anchor link
Ik leer steeds meer. En ga door om het werkend te krijgen.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/10/2017 00:11:48
Quote Anchor link
Waarom gebruik je enctype=multipart/form-data als je toch niets upload? :/

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
 
Jan te Pas

Jan te Pas

12/10/2017 10:52:21
Quote Anchor link
Ik heb inmiddels een test gemaakt: 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.
 
Ivo P

Ivo P

12/10/2017 11:07:31
Quote Anchor link
het bestand RenameFile.php heet vanaf nu RenameFile2.php


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
 
Jan te Pas

Jan te Pas

12/10/2017 11:24:33
Quote Anchor link
He Ivo,
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
 



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.