Autor Zpráva
matyas1999
Profil *
Ahoj, nevíte jak udělat, aby funkce z php vložila kód do html?
Darker
Profil
Můžeš to nějak upřesnit?
PHP může do html psát prostě takhle:
<h1>Text z PHP:</h1>
<p><?php echo "PHP text"; ?></p>
matyas1999
Profil *
To určitě nemyslím (až tak blbé otázky nemám...) do html souboru...
Darker
Profil
Soubor musí mít příponu .php (dají se nastavit i jiné, ale to tě těď sotva bude zajímat) a musí běžet na serveru který PHP umí spouštět. Nejde otevřít z disku rovnou v prohlížeči jako .html.


matyas1999:
To určitě nemyslím
Tak ale nečekej, že budu hádat, co myslíš. Tohle je diskusní fórum, ne "hádej kdo jsem".
matyas1999
Profil *
To vím, upřesním to: Mám stránku index.php a chci si udělat něco jako administraci, mám další stránku, s jednoduchým heslem:
<body>
<?php if($_GET["heslo"] != "tajne heslo..."): ?>
<div style="width: 50%; height: 50%; margin: 10% auto; border-width: 3px; border-style: dotted; border-color: purple">
<form style="text-align: center">
<h3 style="color: navy; text-align: center">Zadejte heslo do administrace:</h3><input type="password" name="heslo"><br><br>
<input type="submit" value="Odeslat!">
</form>
</div>
<?php else: ?>
<h1 style="text-align: center; color: blue">Zde bude administrace!</h1>
<?php endif ?>
</body>
a já tam chci dát imput do kterého dáš nějaký kód, odešleš a já chci, aby se to vložilo do index.php a zachovalo to původní obsah.
Keeehi
Profil
Ve scriptu kam je formulář nasměrovaný:
file_put_contents('data.txt', $_POST["obsah"]);

V index.php na místě, kde o chceš mít zobrazené bude:
echo file_get_contents('data.txt');
matyas1999
Profil *
Děkuji vyřešeno, funguje.


Fungovalo by to i s data.html?
Keeehi
Profil
matyas1999:
Funguje to s jakýmkoliv názvem pro soubor. Stačilo to ale přece jen vyzkoušet ne?
matyas1999
Profil *
Nakonec to mám tak: index.php:
<body>
<?php
echo file_get_contents('data.html');
?>
</body>
admin.php:
<body>
<?php if($_GET["heslo"] != "NightmareMoon"): ?>
<div style="width: 50%; height: 50%; margin: 10% auto; border-width: 3px; border-style: dotted; border-color: purple">
<form style="text-align: center">
<h3 style="color: navy; text-align: center">Zadejte heslo do administrace:</h3><input type="password" name="heslo"><br><br>
<input type="submit" value="Odeslat!">
</form>
</div>
<?php else: ?>
<form action="send.php" method="POST">
<input type="text" name="obsah" />
<input type="submit" />
</form>
<?php endif ?>
</body>
send.php:
<?php
file_put_contents('data.html', $_POST["obsah"]);
?>
Nedal jsem tam něco zbytečného?


A ještě, jak bych mohl udělat, aby mi to nepřepsalo co, co tam bylo...


Aha, tak nic už jsem si to našel.
jenikkozak
Profil
matyas1999:
Formulář na přihlašování také posílej metodou post, protože jinak bude heslo stále viditelné v adrese. A pokud třeba z té stránky přejdeš na jiný web, správce toho webu se doví adresu, ze které tam přijdeš, a vyčte z ní i tvé heslo.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0