Rufen Sie nach dem HTML-Ereignis onClick eine PHP-Funktion auf

Zweck: Rufen Sie eine PHP-Funktion auf, um Daten aus einer Datei zu lesen und neu zu schreiben. Ich habe PHP nur für diesen Zweck verwendet - FileIO - und ich bin neu in PHP.

Lösung? Ich habe viele Foren durchprobiert und wusste, dass wir es nicht auf normale Weise erreichen können: onClick event> call function. Wie können wir das machen, gibt es andere Möglichkeiten, besonders in meinem Fall? Mein HTML-Code und mein PHP-Code befinden sich auf derselben Seite: Admin.php. Dies ist HTML-Teil:

<code><form>
    <fieldset>
        <legend>Add New Contact</legend>
        <input type="text" name="fullname" placeholder="First name and last name" required /> <br />
        <input type="email" name="email" placeholder="[email protected]" required /> <br />
        <input type="text" name="phone" placeholder="Personal phone number: mobile, home phone etc." required /> <br />
        <input type="submit" name="submit" class="button" value="Add Contact" onClick="" />
        <input type="button" name="cancel" class="button" value="Reset" />
    </fieldset>
</form>
</code>

Dies ist PHP Teil:

<code>function saveContact()
{
    $datafile = fopen ("data/data.json", "a+");
    if(!$datafile){
        echo "<script>alert('Data not existed!')</script>";
    } 
    else{
        ...
        $contact_list = $contact_list . addNewContact();
        ...
        file_put_contents("data/data.json", $contact_list);
    }

    fclose($datafile);
}

function addNewContact()
{
   $new = '{';
   $new = $new . '"fullname":"' . $_GET['fullname'] . '",';
   $new = $new . '"email":"' . $_GET['email'] . '",';
   $new = $new . '"phone":"' . $_GET['phone'] . '",';
   $new = $new . '}';
   return $new;
}
</code>

Schauen Sie sich diesen Code an, ich möchte saveContact anrufen, wenn Leute auf die Schaltfläche Kontakt hinzufügen klicken. Wir können die Seite bei Bedarf neu laden. Zu Ihrer Information, ich benutze JQuery und HTML5 auch in der Seite. Vielen Dank,

Antworten auf die Frage(4)

Ihre Antwort auf die Frage