Fonction et formulaire php

Fermé
layeures Messages postés 286 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 22 juin 2018 - 22 août 2009 à 10:41
layeures Messages postés 286 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 22 juin 2018 - 22 août 2009 à 13:44
Bonjour,

mon code ne fonctionne pas bien car il execute la fonction au chargement de la page alors que je voudrai qui execute la fonction apres avoir cliquer sur le bouton

voici le code qui ne fonctionne pas tres bien

<?php

function enregistre() {
$filename = "texte3.php";
$fp = fopen ($filename, "a+");
$nb = filesize($filename);
$nb = $nb - 3;
$contents = fread($fp, $nb);
$var1 = "ligne";
$var2 = 1;
$fpa = file_get_contents ("texte3.php");

//////////////////////////////////////

if (strpos($fpa, $var1.$var2) == true ){
while (strpos($fpa, $var1.$var2) == true ){
$var2++;
}

$wa = "texte3.php";
$fr = fopen ($wa, "w+");
fwrite ($fr, $contents);
fwrite ($fr, "\n");
fwrite ($fr, $var1.$var2);
fwrite ($fr, "\n");
fwrite ($fr, "?>");
}else{
echo "probleme";

}
return true;
}
?>
<form method="post" onsubmit="<?php enregistre() ?>">
<input name="aa" onclick="<?php enregistre() ?>" type="submit" />
</form>


Merci de votre aide
A voir également:

7 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
22 août 2009 à 11:02
bonjour, tu peux faire comme suit:
<?php
if ($_POST['save']=="Envoyer") {
function enregistre() {
$filename = "texte3.php";
$fp = fopen ($filename, "a+");
$nb = filesize($filename);
$nb = $nb - 3;
$contents = fread($fp, $nb);
$var1 = "ligne";
$var2 = 1;
$fpa = file_get_contents ("texte3.php");

//////////////////////////////////////

if (strpos($fpa, $var1.$var2) == true ){
while (strpos($fpa, $var1.$var2) == true ){
$var2++;
}

$wa = "texte3.php";
$fr = fopen ($wa, "w+");
fwrite ($fr, $contents);
fwrite ($fr, "\n");
fwrite ($fr, $var1.$var2);
fwrite ($fr, "\n");
fwrite ($fr, "?>");
}else{
echo "probleme";

}
return true;
}
}
?>
<form method="post" onsubmit="<?php enregistre() ?>">
<input name="save" onclick="<?php enregistre() ?>" type="submit" value="Envoyer" />
</form> 
0
layeures Messages postés 286 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 22 juin 2018 3
22 août 2009 à 11:22
ca ne marche pas

ca m affiche ce message d 'erreur

Notice: Undefined index: save in C:\Program Files\EasyPHP3.1\www\test0500\function\page1.php on line 2
<form method="post" onsubmit="
Fatal error: Call to undefined function enregistre() in C:\Program Files\EasyPHP3.1\www\test0500\function\page1.php on line 37
0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
22 août 2009 à 11:48
essai comme suit; je ne sais pas si ça va fonctionné

<form method="post" action="#">
<input name="save"  type="submit" value="Envoyer" />

0
layeures Messages postés 286 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 22 juin 2018 3
22 août 2009 à 11:52
ca ne marche pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
22 août 2009 à 12:19
essai comme ça:
<?php

function enregistre() {
if ($_POST['save']=="Envoyer") {
$filename = "texte3.php";
$fp = fopen ($filename, "a+");
$nb = filesize($filename);
$nb = $nb - 3;
$contents = fread($fp, $nb);
$var1 = "ligne";
$var2 = 1;
$fpa = file_get_contents ("texte3.php");

//////////////////////////////////////

if (strpos($fpa, $var1.$var2) == true ){
while (strpos($fpa, $var1.$var2) == true ){
$var2++;
}

$wa = "texte3.php";
$fr = fopen ($wa, "w+");
fwrite ($fr, $contents);
fwrite ($fr, "\n");
fwrite ($fr, $var1.$var2);
fwrite ($fr, "\n");
fwrite ($fr, "?>");
}else{
echo "probleme";

}
return true;
}
}
?>
<form method="post" onsubmit="<?php enregistre() ?>">
<input name="save" onclick="<?php enregistre() ?>" type="submit" value="Envoyer" />
</form> 
0
layeures Messages postés 286 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 22 juin 2018 3
22 août 2009 à 13:21
merci ca fonctionne mes il reste un probleme

voila il ajoute les donne mes il insere pas ligne8

resultat du fichier texte3.php

<?php
ligne1
ligne2
ligne3
ligne4
ligne5
ligne6
ligne7
ligne9 ici ce trouve le probleme il est passer de la ligne7 a la ligne9 alors que ca devrai etre ligne8
ligne10
?>

d ou vien le probleme
0
layeures Messages postés 286 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 22 juin 2018 3
22 août 2009 à 13:44
je vien de tester un deuxieme foie ce code est il suffie d actualiser la page pour que la fonction ce met a marhe donc le probleme n est pas resolu

<?php

function enregistre() {
if ($_POST['save']=="Envoyer") {
$filename = "texte3.php";
$fp = fopen ($filename, "a+");
$nb = filesize($filename);
$nb = $nb - 3;
$contents = fread($fp, $nb);
$var1 = "ligne";
$var2 = 1;
$fpa = file_get_contents ("texte3.php");

//////////////////////////////////////

if (strpos($fpa, $var1.$var2) == true ){
while (strpos($fpa, $var1.$var2) == true ){
$var2++;
}

$wa = "texte3.php";
$fr = fopen ($wa, "w+");
fwrite ($fr, $contents);
fwrite ($fr, "\n");
fwrite ($fr, $var1.$var2);
fwrite ($fr, "\n");
fwrite ($fr, "?>");
}else{
echo "probleme";

}
return true;
}
}
?>
<form method="post" onsubmit="<?php enregistre() ?>">
<input name="save" onclick="<?php enregistre() ?>" type="submit" value="Envoyer" />
</form>
0