Ik heb een pagina, waarin een formulier elke week iets moet posten in een database. Momenteel doe ik dat handmatig maar dat werkt niet echt lekker. De inhoud van het formulier wordt reeds automatisch opgehaald. Ik zoek alleen nog een oplossing om het elke week automatisch naar de database te schrijven. Iemand een voorzetje of uitleg hoe ik dit realiseer?
Waarom niet het hele formulier overslaan en direct in het opsla-formulier de gegevens opnieuw opslaan...?


Of is het een extern formulier (dus niet in jouw beheer)?
Met cURL() (google maar) is dat gemakkelijk te doen.
Formulieren zijn vooral bedoeld voor menselijke interactie.

Beter doe je er verstandig aan om een nieuw script te maken die bij elke uitvoer de data ophaalt en vervolgens opslaat. Met een cronjob of 'geplande taak' kan je dit op vaste tijden uitvoeren.
Ik snap wat je bedoelt, helaas is mijn php kennis niet zo groot, ben meer een hobbyist. Het cron gedeelte dat gaat wel lukken. Kun je me een voorbeeld geven hoe ik het script het beste kan maken?
Het ligt er eerst aan hoe je de data ophaalt. Dus als je wat uitgebreider kan vertellen?
De data die wordt opgehaald is content uit de broncode van een pagina, welke elke week gewijzigd wordt. Deze informatie wordt nu automatisch geladen in de textarea van een formulier. Dit wordt vervolgens handmatig naar Mysql geschreven om zo een archief op te bouwen. Die laatste handmatige stap wil ik eruit halen.
Waarom niet meteen in database opslaan?
Waardes die automatisch in het formulier staan nu direct in de query plaatsen, en de formulier-verstuur-controle eruit.
dus ipv


<textarea><?php echo htmlspecialchars($variabele); ?></textarea>




$sql = "INSERT INTO tabel (kolom, kolom2) VALUES ('dummy', '" . escapeit($variabele) ."')";

// voer query uit

Dit is zo ongeveer het werkende script met formulier, Ik kom er niet aan uit helaas. titel en bericht moeten mee verwerkt worden....

<?php
$host = 'localhost';
$user = 'user';
$pass = 'wachtwoord';
$database = 'user1';
mysql_connect($host,$user,$pass) or die("Er kan geen verbinding gemaakt worden met de database.");
mysql_select_db($database);


if ($_POST[bevestiging] == 1) {
$sql = "INSERT INTO overzicht SET ";
$sql .= "id = ''";
$sql .= ", titel = '" . $_POST['titel'] . "'";
$sql .= ", bericht = '" . $_POST['bericht'] . "'";
$res = mysql_query($sql);
$_POST[bevestiging] = "";
} else {
echo"
<form action=\"bestand.php\" method=\"POST\">
<input type=\"hidden\" value=\"1\" name=\"bevestiging\" /><br />
<input type=\"text\" size=\"100\" name=\"titel\" value=\"overzicht - "; ?>

<?php
//Week:
echo"Week ";

echo date("W",time());

echo " - ";
//jaar:
echo date("Y",time());
?>




<?php echo"
\" /><br /><br>

<textarea rows=\"40\" cols=\"120\" name=\"bericht\">";?>


<?php
$content = file_get_contents('http://website.nu/folder/file.php/');
if ($content !== false) {
// do something with the content

echo "$content" ;

} else {
// an error happened
echo "FOUT!";
}
?>






<?php

echo"
</textarea><br />
<input type=\"reset\" value=\"Reset\" />
<input type=\"submit\" value=\"Submit\" />
</form>
";
}

echo"<a href=\"terug.php\">Ga terug</a>";

?>
Je formulier en de afhandeling kan er uit. Doe dat eerst eens.

Reageren