Fonction et formulaire php

layeures Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   -  
layeures Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   189
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   189
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   189
 
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   Statut Membre Dernière intervention   3
 
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   Statut Membre Dernière intervention   3
 
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