PHP Pagina op afstand veranderen

Status
Niet open voor verdere reacties.

marcoABC

Gebruiker
Lid geworden
11 sep 2006
Berichten
45
Hallo,

Als voorbeeld, www.website.nl/status.php is een pagina waar de status staat, hoe maak ik dan dat als ik met username en password kan inloggen op b.v. www.website/update.php en dat ik daar dan /status.php kan veranderen, het maken van wachtwoord kan ik zelf met Cpanel maar het 'op afstand veranderen' lukt me niet, hoe moet dit ?

Marco.
 
je kan dit scriptje gebruiken:

PHP:
Was een fout script wat hier stond!!

laat even weten of je dit wilt of dat je een ander login systeem bedoelt
 
Laatst bewerkt:
Nee, dit is om een beveiligde pagina te bekijken, ik bedoel dat net als in E107,
dat je vanaf het Admin Panel het 'nieuws' kan wijzigen zegmaar.

Marco.
 
kan je misschien iets duidelijker zijn, want ik snap het niet meer helemaal.
 
oooh, ik begreep het niet zo goed meer omdat je in je eerste post het had over een wachtwoord enzo.

ik zal morgen even voor je kijken.

gebruik je toenvallig een database of niet?
 
ik denk dat je het best een database kan gebruiken
maar anders moet je de functie fwrite(); gebruiken om een bestand te schrijven

fucties: fwrite
als je naar onder gaat staat er: Zie ook en daarna nog een aantal functies die je ook nog kan gebruiken
 
Als ik dat script op die site plak, en ik cmod naar 777, krijg ik Interne Server Error, bij andere cmod's ook. En de 'edit'-pagina geeft fouten aan in de lijnen waar de URL staat van de pagina die beschreven moet worden.

Marco.
 
Het is nu beter gegaan, ik heb op m'n website 2 bestanden gemaakt,
-zien.php
en
-veranderen.php

Als ik zien.php opent, met 777 als Chmod, geen fout, als ik veranderen.php open
komt er 'Het bestand .php is niet schrijfbaar ',
als ik een url verander komt er php error on line 16, soms 21.
Hoe kan dit ?

Marco.
 
Dit is de complete code, er staat wel iets over HTML enzo in, maar volgens Dreamweaver is het php ;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

<?php
$filename = 'http://www.marcovisch.nl/zien.php';
$somecontent = "Voeg dit toe aan het bestand\n";

// Laten we eerst controleren of het bestand bestaat en of we er in kunnen schrijven.
if (is_writable($http://www.marcovisch.nl/zien.php)) {

// In ons voorbeeld openen we $filename in 'toevoeg' modus.
// De bestands pointer is aan het einde van het bestand
// en daar gaat $somecontent naar toe als we het fwrite()'en.
if (!$handle = fopen($http://www.marcovisch.nl/zien.php, 'a')) {
print "Kan het bestand niet openen ($http://www.marcovisch.nl/zien.php)";
exit;
}

// Schrijf $somecontent naar ons bestand dat we geopend hebben.
if (!fwrite($handle, $somecontent)) {
print "Kan niet schrijven naar bestand ($http://www.marcovisch.nl/zien.php)";
exit;
}

print "Succes, geschreven ($somecontent) naar bestand ($filename)";

fclose($handle);

} else {
print "Het bestand $http://www.marcovisch.nl/zien.php is niet schrijfbaar";
}
?>

De pagina die te zien zou moeten zijn is hier te vinden
>Klik<
De pagina waar je zou moeten kunnen veranderen is hier te vinden
>Klik<

Marco.
 
Laatst bewerkt:
Verander.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Verander pagina</title>
</head>

<body>
</body>
</html>

<?php
$bestand = 'zien.php';
if($_POST['update']){
	
  $inhoud = $_POST['inhoud'];
	
  // Kijken of het bestand bestaat / schrijfbaar is
  if (is_writable($bestand)) {
	
    if (!$handle = fopen($bestand, 'w')) {
      echo "Kan het bestand niet openen (".$bestand.")";
      exit;
    }
	
    // De inhoud in het bestand schrijven.
    if (!fwrite($handle, $inhoud)) {
      echo "Kan niet schrijven naar bestand (".$bestand.")";
      exit;
    }
    // De tekst als de pagina is geupdate.
    echo "Pagina is geupdate";
    echo "<meta http-equiv=refresh content='1' URL='javascript:history.go(-1)'>";				
	
    fclose($handle);
	
  } 
  else {
    echo "Het bestand ".$bestand." is niet schrijfbaar";
  }
}
else {
?>
<form method="post" action="">
<table>
  <tr>
    <td>
      <textarea name="inhoud" rows="20" cols="80"><?=file_get_contents($bestand); ?></textarea>
    </td>
  </tr>
  <tr>
    <td>
      <input type="submit" name="update" value="Update pagina" />
    </td>
  </tr>
</table>
</form>
<?php
}
?>

Je moet er ook nog een pagina bijmaken die zien.php heet, en dit bestand kan leeg blijven (wel CHMODDEN naar 777).
Je kan hem ook voor een ander bestand gebruiken, maar dit moet je dan veranderen in het script.

Het script is getest en werkt, veel succes ermee :cool:
 
Laatst bewerkt:
Je kunt alleen de bestanden wijzigen die op dezelfde host staan, als dit script.

als het bestand in een volgende map bijvoorbeeld: paginas staat, dan moet je $bestand aanpassen naar: $bestand = 'paginas/de_pagina_hier.php';

en niet de volledige url...
 
Dan komt er dit :

<br />
<b>Warning</b>: file_get_contents(pages/hosted/msg/new/news.php) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in <b>/home/*******/public_html/pages/hosted/msg/new/admin/panel/edit/welkom/veranderen.php</b> on line <b>58</b><br />

Als ik toch iets toevoeg komt er 'bestand kan niet beschreven worden', het is wel ge CHmod naar 745,
op 745 deed de andere het ook, en gaf hij geen Interne Server Error.
Hoe komt het dat hij het nou niet doet ?

Marco.
 
Laatst bewerkt:
ik neem aan dat dit r58 is:
<textarea name="inhoud" rows="20" cols="80"><?=file_get_contents($bestand); ?></textarea>

verwijder die = achter <? eens
 
Nee, Regel 58 is anders, hier het complete script ;

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Verander pagina</title>
</head>

<body>
</body>
</html>

<?php
$bestand = 'pages/hosted/msg/new/news.php';
if($_POST['update']){
	
  $inhoud = $_POST['inhoud'];
	
  // Kijken of het bestand bestaat / schrijfbaar is
  if (is_writable($bestand)) {
	
    if (!$handle = fopen($bestand, 'w')) {
      echo "Kan het bestand niet openen (".$bestand.")";
      exit;
    }
	
    // De inhoud in het bestand schrijven.
    if (!fwrite($handle, $inhoud)) {
      echo "Kan niet schrijven naar bestand (".$bestand.")";
      exit;
    }
    // De tekst als de pagina is geupdate.
    echo "Het Welkomsbericht is bijgewerkt";
    echo "<meta http-equiv=refresh content='1' URL='javascript:history.go(-1)'>";				
	
    fclose($handle);
	
  } 
  else {
    echo "Het bestand ".$bestand." is niet schrijfbaar";
  }
}
else {
?>
<form method="post" action="">
<table>
  <tr>
    <td>
      <textarea name="inhoud" rows="20" cols="80"><?=file_get_contents($bestand); ?></textarea>
    </td>
  </tr>
  <tr>
    <td>
      <input type="submit" name="update" value="Update pagina" />
    </td>
  </tr>
</table>
</form>
<?php
}
?>

Marco.
 
ik zou het toch maar proberen wat ik al heb gezegd want dat is wel r58:p
 
Het lukt nog niet, er komt dan zo'n waarschuwing, als ik toch iets typ komt er dat het bestand niet beschrijfbaar is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan