2017-02-02 3 views
-1

Dies ist mein erster Versuch, Ajax zu verwenden, um ein Formular zu senden, so dass ich nicht sicher bin, wo ich falsch liege.Senden eines Formulars zum Einfügen von SQL mit Ajax

Ich habe eine Pop-up, die auf den ersten Besuch des Benutzers jeden Tag zeigt, hat es einen Knopf, um Anwesenheit zu protokollieren, die im Grunde wird der Zeitstempel von zusammen mit dem Benutzer usw. einfügen, habe ich die PHP manuell getestet, indem Sie es heraus von einem isset und nur die Seite zu schlagen und es wird eingefügt, aber wenn ich versuche, Ajax zu verwenden ist es nicht, ich habe das Netzwerk in Entwickler-Tools beobachtet, und es trifft die Seite beim Klicken, aber die Daten nicht einfügen.

Das ist mein modal:

<form method="post" data-remote="true"> 
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-hidden="true"> 
    <div class="modal-dialog modal-sm"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span> 
       </button> 
       <h4 class="modal-title" id="myModalLabel2">Morning, <?php echo $user['userName']; ?>.</h4> 
      </div> 
      <div class="modal-body"> 
       <?php $today = date("D M j"); ?> 
       <h4>Are you working today <?php echo $today; ?>?</h4> 
       <p>By clicking 'Log My Attendance' you are confirming that you are working today.</p> 

      </div> 
      <div class="modal-footer"> 
       <button id="log-attendance" type="buttom" name="submit" class="btn btn-primary" data-dismiss="modal">Log My Attendance</button> 
      </div> 
     </div> 
    </div> 
</div> 
</form> 

Das ist mein Javascript ist: Das

<?php if(isset($_POST['submit'])) { 
    $val1 = "test"; 
    $val2 = "test"; 
    $val3 = "test"; 
    $val4 = "test"; 
    $val5 = "test"; 
    $val6 = "test"; 

    $query = "INSERT INTO po_users (val1, val2, val3, val4, val5, val6) 
      VALUES ('$val1', '$val2','$val3', '$val4', '$val5', '$val6')"; 
    $stmt = sqlsrv_prepare($sapconn2, $query); 
    sqlsrv_execute($stmt); 
} 
?> 
+0

Sie den Datenteil in der Ajax-Funktion verpassen. Du postest nichts auf der PHP-Seite –

+0

Was würde ich mit Daten übermitteln, wäre es der Name des Formulars? – PHPNewbie

+0

wofür sind diese '$ val' in ur php? Bitte posten Sie die realen Daten –

Antwort

3

prüfen

0123:

<script type="text/javascript"> 
    $(document).on('click', '#log-attendance', function() { 
     $.ajax({ 
      type: "POST", 
      url: 'log-attendance.php', 
      success: function() { 
       "Attendance Log success" 
      } 
     }); 
    }); 
</script> 

Das ist mein PHP ist

log-attendance.php

<?php 
$servername = "localhost"; 
$username = "username"; /* Your username */ 
$password = "password"; /* Your password */ 
$dbname = "myDB"; /* Your dbname */ 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$val1 = "test"; 
$val2 = "test"; 
$val3 = "test"; 
$val4 = "test"; 
$val5 = "test"; 
$val6 = "test"; 

$query = "INSERT INTO po_users (val1, val2, val3, val4, val5, val6) 
      VALUES ('".$val1."', '".$val2."','".$val3."', '".$val4."', '".$val5."', '".$val6."')"; 

if (mysqli_query($conn, $sql)) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 

mysqli_close($conn); 
?> 
+0

Versucht dies, ich bekomme das exakt gleiche Ergebnis, Ajax feuert die URL aber nichts passiert – PHPNewbie

+0

Versuchen Sie oben genannten Code jetzt ... –

+0

Das funktioniert aber wie ich sagte, ist nicht in einem Isset verpackt, so vorwärts ich Kann das nicht ändern, um weitere Knöpfe in der Zukunft hinzuzufügen – PHPNewbie

Verwandte Themen