Revenire date salvate la forma initiala
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
Stefan
- Mesaje:117
Revenire date salvate la forma initiala
Salut, am urmatorul script
Cod: Selectaţi tot
<?php
// configuration
$url = 'test.php';
$file = 'index.php';
// check if form has been submitted
if (isset($_POST['text'])){
// save the text contents
file_put_contents($file, $_POST['text']);
// redirect to form again
header(sprintf('Location: %s', $url));
printf('<a href="%s">Moved</a>.', htmlspecialchars($url));
exit();
}
// read the textfile
$text = file_get_contents($file);
?>
<!-- HTML form -->
<form action="" method="post">
<textarea name="text"><?php echo htmlspecialchars($text) ?></textarea>
<input type="submit" />
<input type="reset" />
</form>
Se poate dupa ce se trimite, de exemplu daca am gresit ceva, sa revina datele "la forma initiala" ?
MarPlo
Mesaje:4343
Salut,
Ai putea sa salvezi intr-un alt fisier acele date in "forma precedenta", inainte de a le rescrie pe cele din $file, iar in caz ca e ceva gresit, le poti prelua din acel backup.
Cam asa:
Cod: Selectaţi tot
<?php
// configuration
$url = 'test.php';
$file = 'index.php';
$backup ='backup.txt'; //unde salveaza forma precedenta
// read the textfile
$text = file_exists($file) ? file_get_contents($file) :'';
// check if form has been submitted
if (isset($_POST['text'])){
file_put_contents($backup, $text); //save backup
// save the text contents
file_put_contents($file, $_POST['text']);
// redirect to form again
header('Location: '. $url);
printf('<a href="%s">Moved</a>.', htmlspecialchars($url));
exit();
}
//Daca e ceva gresit, tu stii in ce conditii preia datele din $backup
if($ceva_gresit) $text = file_exists($backup) ? file_get_contents($backup) :"File: $backup not exists";
?>
Stefan
Mesaje:117
Acel if cum ar tebui sa fie ca, atunci cand apas pe reset sa se bage backup-ul ?
MarPlo
Mesaje:4343
Butonul Reset din formular nu actioneaza scriptul de pe server, nu are legatura cu ce cod ai in php, ci doar reseteaza (aduce la datele initiale) casetele din formular.
Daca vrei sa actionezi scriptul php cand e apasat butonul Reset, trebuie sa apelezi cu el (cu "onclick") o functie Ajax.
Daca nu stii cum se face, e pe site un Curs Ajax.
Stefan
Mesaje:117
Ceva gen asa ?
stackoverflow.com/questions/20738329/how-to-call-a-php-function-on-the-click-of-a-button
Daca da ce ar tebui sa contina functia ?Am incercat eu sa fac ceva dar nu a mers
MarPlo
Mesaje:4343
Nu stiu ce ai incercat, prin urmare nici de ce nu a mers.
Cu ajax citesti fisierul back-up de pe server, iar raspunsul il adaugi in campul de formular.
Cam asa:
Cod: Selectaţi tot
//file is the file to read (to access)
function getFile(file){
var ob_ajax = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
ob_ajax.open('GET', file);
ob_ajax.send(null);
ob_ajax.onreadystatechange = function() {
if (ob_ajax.readyState == 4) {
//id_text is the id of field where to add response
document.getElementById('id_text').value = ob_ajax.responseText;
}
}
}
Subiecte similare
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Ultimul mesaj
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...