Fonction et formulaire php

layeures Messages postés 310 Statut Membre -  
layeures Messages postés 310 Statut Membre -
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
Configuration: Windows XP Internet Explorer 7.0

7 réponses

  1. Nico_ Messages postés 1220 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
  2. layeures Messages postés 310 Statut Membre 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
  3. Nico_ Messages postés 1220 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
  4. layeures Messages postés 310 Statut Membre 3
     
    ca ne marche pas
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Nico_ Messages postés 1220 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
  7. layeures Messages postés 310 Statut Membre 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
  8. layeures Messages postés 310 Statut Membre 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