script werkt op de ene hosting wel, op de andere niet..

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Durnez

durnez

15/09/2006 17:08:00
Quote Anchor link
Hallo,

Ik heb een tijdje geleden een script gevonden om heel erg makkelijk .txt files online aan te passen, en die text files gebruik ik dan dynamisch ism flash.

Maar goed, het probleem is dat het script bij ohost wel werkt (gratis) en op b-one niet (betaald).

Ik weet niet waaraan het ligt, mss functies die niet meer ondersteunt worden ofzo..
Op ohost heb ik php 4, bij b-one php 5.

Dit is het script :

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
<?PHP

$StandaardBestand
= "*.txt";
?>

<html>
<head>
<title>Online bewerken</title>
</head>
<center>
<font face="Arial,Helvetica" size=2>
<h2>Online bewerken</h2>
<form method=post>
<input type=text" name=bestand>
<input type=submit value="Selecteer bestand">
</form>
<hr><br>
<?php

if($actie && $Tekst) {
$Bestand = fopen($bestand,"w");
fputs($Bestand,stripslashes($Tekst));
fclose($Bestand);
echo("<b>De wijzigingen zijn succesvol opgeslagen! (".date("H:i:s").")</b><br><br>");
}

if(!$bestand || !file_exists($bestand)) { $bestand = $StandaardBestand; }

echo("<b>inhoud van $bestand:</b><br><hr><br>");
?>

<form method=post>
<textarea cols=75 rows=25 name=Tekst><?php echo htmlspecialchars(implode("",file($bestand)),ENT_QUOTES); ?></textarea>
<input type=hidden value="<?php if(!$bestand || !file_exists($bestand)) { $bestand = $StandaardBestand; } echo($bestand) ?>" name="bestand">
<br>
<input type=submit value="Wijzigingen Opslaan">
<input type=hidden name=actie value=1>
<br>
</form>
</font>
</center>
</body>
</html>
 
PHP hulp

PHP hulp

29/03/2024 09:16:29
 
Frank -

Frank -

15/09/2006 17:11:00
Quote Anchor link
Google eens op 'superglobals' en ga vervolgens je script aanpassen.

Begin ieder script met de volgende regels:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// rest van je script
?>

Veel succes met debuggen!
 
- wes  -

- wes -

15/09/2006 17:11:00
Quote Anchor link
global variabelen staan uit bij 5 , eglukkig wel
 
Durnez

durnez

15/09/2006 17:57:00
Quote Anchor link
ik ben 'n stukje vergeten, net het stuk waar de problemen mee zijn.

Het gaat om een login voor je toegang krijgt tot de files :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$user = "**";
$pass = "**";
$error = "verkeerd verbonden";

$name = basename ($PHP_SELF);
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $user) && ( $PHP_AUTH_PW == "$pass" )) ) {
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
echo "$error";
exit;
}


en ik vraag er graag direct bij of dit een veilige manier is om niet te beginnen klooien met de text files.


@ Frank, na het toevoegen van de 2 regels krijg ik dit :

Notice: Undefined variable: actie in /customers/joggingclubwevelgem.be/joggingclubwevelgem.be/httpd.www/onlinebewerken.php on line 22

Notice: Undefined variable: bestand in /customers/joggingclubwevelgem.be/joggingclubwevelgem.be/httpd.www/onlinebewerken.php on line 28
 
Klaasjan Boven

Klaasjan Boven

15/09/2006 18:11:00
Quote Anchor link
if($actie && $Tekst) dit is het probleem.

moet zijn of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(isset($_POST['actie'])&&isset($_POST['text'])){
?>


of hetzelfde maar dan met $_GET ipv $_POST

en wees consequent met het gebruik van hoofdletters
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 
- SanThe -

- SanThe -

15/09/2006 20:32:00
Quote Anchor link
Frank:
Google eens op 'superglobals' en ga vervolgens je script aanpassen.

Zoals reeds gezegd....

Dat geldt ook voor deze vars: $PHP_SELF, $PHP_AUTH_USER en $PHP_AUTH_PW.
 
Durnez

durnez

15/09/2006 21:18:00
Quote Anchor link
Ik had vroeger al het probleem dat ik niet kan inloggen maar na het aanpassen heb ik dat probleem nog steeds..

Hier is de code die ik nu heb :
(btw, al bedankt voor alle hulp ;))

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
<?PHP

$user
= "foto";
$pass = "site";
$error = "verkeerd verbonden";

$name = basename (isset($_GET['PHP_SELF']));
if ( (!isset($_GET['PHP_AUTH_USER'])) || ! ((isset($_GET['PHP_AUTH_USER']) == $user) && ( isset($_GET['PHP_AUTH_PW']) == "$pass" )) ) {
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
echo "$error";
exit;
}


ini_set('display_errors', 1);
error_reporting(E_ALL);

$StandaardBestand = "home.txt";
?>

<html>
<head>
<title>Online bewerken</title>
</head>
<center>
<font face="Arial,Helvetica" size=2>
<h2>Online bewerken</h2>
<form method=post>
<input type=text" name=bestand>
<input type=submit value="Selecteer bestand">
</form>
<hr><br>
<?php

if(isset($_POST['actie'])&&isset($_POST['Tekst'])) {
$Bestand = fopen($bestand,"w");
fputs($Bestand,stripslashes($Tekst));
fclose($Bestand);
echo("<b>De wijzigingen zijn succesvol opgeslagen! (".date("H:i:s").")</b><br><br>");
}

if(!isset($_POST['bestand']) || !file_exists($bestand)) { $bestand = $StandaardBestand; }

echo("<b>inhoud van $bestand:</b><br><hr><br>");
?>

<form method=post>
<textarea cols=75 rows=25 name=Tekst><?php echo htmlspecialchars(implode("",file($bestand)),ENT_QUOTES); ?></textarea>
<input type=hidden value="<?php if(!$bestand || !file_exists($bestand)) { $bestand = $StandaardBestand; } echo($bestand) ?>" name="bestand">
<br>
<input type=submit value="Wijzigingen Opslaan">
<input type=hidden name=actie value=1>
<br>
</form>
</font>
</center>
</body>
</html>
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

15/09/2006 22:27:00
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
68
69
70
71
72
<?php
//Error afhandeling
ini_set('display_errors', 1);
error_reporting(E_ALL);

//Begin inloggedeelte
$user = "foto";
$pass = "site";
$error = "Verkeerd Verbonden";

$name = basename(isset($_SERVER['PHP_SELF']));
if(isset($_SERVER['PHP_AUTH_USER'])){
  if($_SERVER['PHP_AUTH_USER'] != $user && $_SERVER['PHP_AUTH_PW'] != $pass){
    header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
    header("HTTP/1.0 401 Unauthorized");
    echo $error;
    exit;
  }
}
else{
  //Einde inloggedeelte, alles hierna wordt alleen getoond als de gebruiker ingelogd is
?>

<html>
 <head>
  <title>Online bewerken</title>
 </head>
 <body>
  <center>
   <font face="Arial,Helvetica" size=2>
    <h2>Online bewerken</h2>
    <form method="post" />
     <input type="text" name"bestand" />
     <input type="submit" name="actie" value="Selecteer bestand" />  
    </form>
    <hr />
    <br />
    <?php
     //Kijken of er een bestand is opgegeven, anders standaard:
     if(!empty($_POST['bestand'])){
       $bestand = $_POST['bestand'];
     }
else{
       $bestand = "home.txt";
     }

    
     //Kijken of het bestand is gewijzigd, en dan opslaan:
     if(isset($_POST['actie']) && isset($_POST['text'])) {
       $openbestand = fopen($bestand,"w");
       fputs($openbestand,stripslashes($_POST['text']));
       fclose($openbestand);
       echo ("\n<b>De wijzigingen zijn succesvol opgeslagen! (".date("H:i:s").")</b> <br /><br />");
     }

    
     //Formulier:
     echo("\n<b>Inhoud van ".$bestand.":</b> <br /><hr /><br />");
    ?>

    <form method="post" />
     <textarea cols="75" rows="25" name="text">
      <?php
       echo htmlspecialchars(implode("",file($openbestand)),ENT_QUOTES);
      ?>

     </textarea>
     <input type="hidden" value="<?php echo $bestand; ?>" name="bestand">
     <br />
     <input type="submit" name="actie" value="Wijzigingen Opslaan">
     <br />
    </form>
   </font>
  </center>
 </body>
</html>
<?php
}
?>

Hopelijk heb ik je zo verder geholpen, dit zou moeten werken.
Edit:

Thanks SanThe, $_SERVER is het nu.
Gewijzigd op 01/01/1970 01:00:00 door Andries Louw Wolthuizen
 
- SanThe -

- SanThe -

15/09/2006 22:41:00
Quote Anchor link
SanThe:
Frank:
Google eens op 'superglobals' en ga vervolgens je script aanpassen.

Zoals reeds gezegd....

Dat geldt ook voor deze vars: $PHP_SELF, $PHP_AUTH_USER en $PHP_AUTH_PW.

Je hebt waarschijnlijk niet echt gezocht.:(
Voor deze vars geldt dit:
$_SERVER['PHP_SELF'], $_SERVER['PHP_AUTH_USER'] en $_SERVER['PHP_AUTH_PW']
 
Durnez

durnez

15/09/2006 23:21:00
Quote Anchor link
op lijn 12 ontbreekt nog een haakje, na dit aangepast te hebben krijg ik echter volgende error..

Parse error: syntax error, unexpected T_IS_NOT_EQUAL in /customers/joggingclubwevelgem.be/joggingclubwevelgem.be/httpd.www/onlinebewerken.php on line 13
 
Jan Koehoorn

Jan Koehoorn

15/09/2006 23:25:00
Quote Anchor link
Dat klopt. Op regel 13 staat een haakje sluiten te veel.
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

15/09/2006 23:30:00
Quote Anchor link
@Jan Koehoorn:
En er waren meer domme fouten, zijn nu gewijzigd.
 
- SanThe -

- SanThe -

16/09/2006 00:23:00
Quote Anchor link
Andries:
En er waren meer domme fouten, zijn nu gewijzigd.

Fouten zijn niet dom.
Ze niet corrigeren/herstellen, dat is pas dom.
 
Durnez

durnez

16/09/2006 10:27:00
Quote Anchor link
bij het testen nu krijg ik enkel nog errors in het veld waar de tekst zou moeten komen :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<br />
<b>Notice</b>:  Undefined variable: openbestand in <b>/customers/joggingclubwevelgem.be/joggingclubwevelgem.be/httpd.www/onlinebewerken.php</b> on line <b>58</b><br />
<br />
<b>Warning</b>:  implode() [<a href='function.implode'>function.implode</a>]: Bad arguments. in <b>/customers/joggingclubwevelgem.be/joggingclubwevelgem.be/httpd.www/onlinebewerken.php</b> on line <b>58</b><br />


oja, bovenaan staat een login, maar ik krijg die niet te zien..


toch weer bedankt voor het verder helpen ;)
 
- SanThe -

- SanThe -

16/09/2006 11:33:00
Quote Anchor link
Op regel 58
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo htmlspecialchars(implode("",file($openbestand)),ENT_QUOTES);
?>

$openbestand moet $bestand zijn.
 
Durnez

durnez

16/09/2006 13:41:00
Quote Anchor link
ok vetjes kerels !
De errors zijn opgelost.
Volgende en hopelijk laatste problemen zijn
- dat ik geen login scherm krijg
- dat ik geen andere bestanden meer kan openen om daar tekst te wijzigen..
 
- SanThe -

- SanThe -

16/09/2006 14:11:00
Quote Anchor link
Dit:
if ( (!isset($_GET['PHP_AUTH_USER'])...........

ia later vervangen door dit:
if(isset($_SERVER['PHP_AUTH_USER'])).......

De ! (NOT) is daarbij verdwenen.

Dus:
if(!isset($_SERVER['PHP_AUTH_USER'])).......
zou weer moeten werken.
 
Durnez

durnez

16/09/2006 15:56:00
Quote Anchor link
heb dat ff geprobeert maar ie doet het niet..

maak anders ook ff enkele tekstbestandjes :

home.txt en test.txt

als je die 2 bestandjes online zet en de php file erbij en als je dan de php file test zou je normaal eerst een login moeten krijgen wat ik hier niet krijg.. en bij selecteer bestand blijf ik de inhoud van home.txt krijgen..
 
Durnez

durnez

17/09/2006 15:52:00
Quote Anchor link
weet iemand iets tegen het probleem over het niet meer switchen tussen de tekst files ?
 



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.