2017-08-10 18 views
-2

Ich bin Anfänger für PHP. Ich habe ein Formular auf der Website und dieses Formular bekommen Titel und Beschreibung Werte spezifische Websites (mit preg_match).Wie erhält man einen Formulareingabewert?

Ich möchte URL-Eingabe dieses Formular hinzufügen, und wenn Sie URL hinzufügen und drücken Sie die Schaltfläche "Senden" seine automatisch get Felder. Beispiel

Frontend:

<input name="url">https://testdomain.com/posts/6412</input> 

Backend:

$link = 'input values here'; 

Ergebnis:

Formularfelder (Titel und eine Beschreibung bekommen) aufzufrischen oder mit Ajax.

+0

hinzufügen Sie verwenden jQuery? Dann können Sie '$ (" # formid "). Serialize()' verwenden, um alle Eingabewerte zu erhalten. – Barmar

+0

Wenn Sie keine Bibliothek wie jQuery verwenden, werden automatisch alle Formularfelder für AJAX automatisch abgerufen. – Barmar

+0

Können Sie bitte ein Beispiel zeigen? –

Antwort

1

ein Formular erstellen und die Felder im Inneren hinzu .. In Aktion, Attribut hinzufügen der Dateiname, wo Sie das Formular veröffentlichen möchten ..

form.php

<form method="POST" action="submit.php"> 
    <input name="url" value="https://testdomain.com/posts/6412"> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

submit.php

<?php 
    if(isset($_POST['submit'])){ 
     $link = $_POST['url']; 
    } 
?> 

Mit AJAX

form.php

<form method="POST" id="form" action="submit.php"> 
    <div id="result"></div> 
    <input name="url" value="https://testdomain.com/posts/6412"> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

<script> 
$("#form").submit(function(e) { 
    e.preventDefault(); 
    $.ajax({ 
     type: "post", 
     url: $(this).attr("action"), 
     data: $(this).serialize(), 
     success: function(response) { 
      $("#result").html(response); 
     } 
    }); 
}); 
</script> 

submit.php

<?php 
    $link = $_POST['url']; 
    echo $link; 
?> 

für ajax, müssen Sie jquery Bibliothek vor Ajax-Code

+0

Vielen Dank Moiz es funktioniert gut!:) –

+0

Überprüfen, ich hatte für Ajax auch aktualisiert :) –

+0

Im versuchte und mit dieser Methode Seite geladen zwei Kopien. Leere Felder und geladene Felder. Aber was auch immer zuerst funktioniert :) –

0

Wenn Sie jQuery verwenden, können Sie die Methode verwenden, um alle Formulareingaben abzurufen.

$("#form").submit(function(e) { 
    e.preventDefault(); 
    $.ajax({ 
     type: "post", 
     url: $(this).attr("action"), 
     data: $(this).serialize(), 
     success: function(response) { 
      $("#result").html(response); 
     } 
    }); 
}); 

Beachten Sie jedoch, dass serialize() nicht die einreichen gehören Schaltfläche selbst. Dies wird nur bei normalen Formulareinreichungen automatisch übermittelt. Wenn der Server erwartet, dass etwas wie $_POST['submit'] gesetzt wird, müssen Sie es explizit hinzufügen, z.

0

Verwenden Sie dies als Ihr Formular, achten Sie darauf, method = "post" im Formularattributabschnitt einzuschließen.

   <form class="contact-form" method="post" action="processes/contactusform"> 
        <div class="form-group"> 
         <label for="name" class="sr-only">Name</label> 
         <input type="name" class="form-control" id="name" placeholder="Name" name="name" required /> 
        </div> 
        <div class="form-group"> 
         <label for="email" class="sr-only">Email</label> 
         <input type="email" class="form-control" id="email" placeholder="Email" name="email" required /> 
        </div> 
        <div class="form-group"> 
         <label for="message" class="sr-only">Message</label> 
         <textarea class="form-control" id="message" rows="7" placeholder="Message" name="message" required /></textarea> 
        </div> 
        <div class="form-group"> 
         <input type="submit" id="btn-submit" class="btn btn-send-message btn-md" value="Send Message" name="submit"> 
        </div> 
       </form> 

in Ihrem PHP-Code, können Sie Ihre Eingaben beziehen sich mit:

$name = $_POST['name']; //you use 'name' because the value attribute in html for that specific input is set to "name" 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

Gern

Verwandte Themen