Page 1 sur 1

Création d'une tâche cron

Publié : dim. janv. 05, 2014 11:38 am
par afibase
BONJOUR,
Je m'initie à la tâche cron !
Pour cela j'ai crée un fichier memo_essai.ph avec le script ci dessus. Juste pour tester!!
J'ai créé un tache pour ce dimanche même, lui demandant d'exécuter ce script à l'adresse http://www.afibase.fr/memo_essai.php.
et bien ca ne fonctionne pas!! je ne trouve pas de trace de l'enregistrement dans la base
Ou est l'erreur. et merci!
Voici le code du fichier:
<form name="essai" action="memo_essai.php" method="post">
<tab
<tr class="bloc" width=le width="1000" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>"789" height="20">
<td width=100 height=20>
Nom
<td width=296 height=20>
<input type="text" name="nom" autofocus value="------------" maxlength="50" style="background-color: #0000CC; border: medium double white; color: white" size="30">
</td>
<td width=100 height=20>
Prénom(s)
</td>
<td width=295 height=20>
<input type="text" name="prenom" value="-------------" style="background-color: #0000CC; border: medium double white; color: white" size="30">
</td>
</tr>
<?php
require ("Connect.php");
$connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
mysql_select_db (BASE,$connexion);
//au click envoyer, excécuter la requete
$requete = "INSERT INTO profil
VALUES ('$_POST[id]','$_POST[date_inscription]','$_POST[action]','$_POST[organisme]','$_POST[dispositif]','$_POST[conseiller]',
'$_POST[titre]','$_POST[nom]','$_POST[prenom]','$_POST[nom_jf]','$_POST[date_nais]','$_POST[lieu_nais]','$_POST[dept_pays]',
'$_POST[nationalite]','$_POST[nationalite2]','$_POST[secu]','$_POST[sit_famille]','$_POST[enfants]','$_POST[prof_conjoint]',
'$_POST[adresse]','$_POST[ville]','$_POST[CP]','$_POST[tel_fixe]','$_POST[tel_portable]','$_POST[email]',
'$_POST[mobilite]','$_POST[logt]','$_POST[montant_ch]','$_POST[comm_logt]',
'$_POST[revenu]','$_POST[montant_ress]','$_POST[montant_dettes]','$_POST[origine_dettes]',
'$_POST[thandicap]','$_POST[date_valid]','$_POST[num_id]','$_POST[structure]',
'$_POST[statut_actuel]','$_POST[inscri_anpe]','$_POST[id_anpe]','$_POST[conseil_anpe]','$_POST[dispo_1]',
'$_POST[dispo_2]','$_POST[dispo_3]','$_POST[dispo_4]','$_POST[dispo_5]','$_POST[dispo_6]','$_POST[comm_sit]',
'$_POST[niveau_sortie]','$_POST[date_sortie]','$_POST[motif_sortie]','$_POST[comp_cle]','$_POST[notes]','$_POST[page_profil]',
'$_POST[page_infocompl]','$_POST[sit_emploi]','$_POST[scolarite]','$_POST[diplome]','$_POST[divers_formation]','$_POST[experience]','$_POST[projet]',
'$_POST[POSITION]')";
//test la connexion
$resultat = mysql_query ($requete, $connexion);
//si connexion, affiche le message positif
etc.....
?>
</tr>
</table>
</form>

Re: Création d'une tâche cron

Publié : lun. janv. 06, 2014 4:38 pm
par Vincent - LWS
Bonjour,

Votre script ne me semble pas correct ou l'appel à votre script depuis notre panel n'est pas correct.

La tâche cron va demander l'url : http://www.afibase.fr/memo_essai.php ( sans aucun paramètre donc)

Votre script va alors exécuter la requéte SQL suivante : INSERT INTO profil VALUES ( '','','','','','',....'',''); ( avec que des champs vides )

Celle ci risque de ne pas marché selon la configuration de votre table.

Le script cron doit-être un script assez simple qui effectue un ensemble de tâches ne demandant pas d'interaction et quitte.

Cordialement.

Re: Création d'une tâche cron

Publié : mar. janv. 07, 2014 8:16 am
par afibase
merci pour votre réponse, je prends note!
Quand on parle de script php dans le cadre de cron, il ressembleà quoi? Est ce qu'il se trouve ds un fichier php? est ce que c'est une requete normale? cOMMENT les données sont transmises, il faut bien un formulaire php? bref je voudrais savoir comment rèaliser un script pour cron par exemple pour cloturer un dossier dans une base
Connaissez les sites traitant ce sujet?
Merci!!

Re: Création d'une tâche cron

Publié : mar. janv. 07, 2014 2:45 pm
par Vincent - LWS
Un script PHP pour une tâche cron est un script PHP normale sans formulaire ( et sans retour en HTML sauf à des fins de test ).

Dans l'absolu, ce script ne reçoit pas de paramètre. On peut toutefois lui passer des parmètres via l'url ( http://site.com/cron.php?var=valeur ) mais ces paramètres ne servent pas à donner matière à la tâche cron puisque ces paramètres seront les mêmes chaques jours.

Vous donnez comme exemple la clôture de dossiers automatiquement chaque nuit. Si on suppose que ces dossiers sont dans une base de données, un tel script ressemblerai à cela :


<?php

# initialisation mysql
include(connect_sql.php);

# recuperation des dossiers
$query = "SELECT * FROM dossiers;";
$mysql_result = mysql_query($query, $mysql_link);

# traitement des dossiers


# mise a jour des dossiers
$query = "UPDATE dossiers SET statut = 'clos' WHERE dossier_id = '$x' ; ";
$mysql_result = mysql_query($query, $mysql_link);
echo "dossier $x clos \n";
nb_dossier_clos++;


# retour
echo "$nb_dossier_clos dossiers clos";

?>

Re: Création d'une tâche cron

Publié : mar. janv. 07, 2014 7:04 pm
par afibase
merci vincent, je me mets au travail.