2017-11-04 6 views
-1

Ich habe Schwierigkeiten, zwei verkettete Eingaben in die Datenbank einzufügen. Es scheint, dass die Verbindung gut ist, aber die Daten werden nicht in die Datenbank eingefügt. Könnte jemand bitte helfen?Verknüpfen von zwei HTML-Eingaben und Einfügen in die Datenbank

Der Code lautet wie folgt:

<html> 
    <head> 
    <title></title> 
    <script type="text/javascript"> 
      (function($){ 
       $(document).ready(function(){ 

        $('#country').change(function(e){ 
         //on change event 
         $('input[name="s_dialcode"]').val($(this).find('option:selected').data('co')); 
        }); 

       }); //make sure all html is loaded before running 
      })(jQuery); //assign jQuery to the $ 


      function validate(evt) { 
     var theEvent = evt || window.event; 
     var key = theEvent.keyCode || theEvent.which; 
     key = String.fromCharCode(key); 
     var regex = /[0-9]|\./; 
     if(!regex.test(key)) { 
     theEvent.returnValue = false; 
     if(theEvent.preventDefault) theEvent.preventDefault(); 
     } 
    } 

    </script> 
    </head> 
    <body> 

    <select id="country" name="s_country"> 
     <option data-co="" value="">Which country are from?</option> 
     <option data-co="+27" value="ZA">South Africa</option> 
     <option data-co="+376" value="AD">Andorra</option> 
     <option data-co="+971" value="AE">United Arab Emirates</option> 
    </select> 


    <?php 
    $countryArray = array(
     'AD'=>array('name'=>'ANDORRA','code'=>'376'), 
     'AE'=>array('name'=>'UNITED ARAB EMIRATES','code'=>'971'), 
     'ZA'=>array('name'=>'SOUTH AFRICA','code'=>'27') 
    ); 
    ?> 

    <form action="" method="_POST"> 

    <input type="text" name="s_dialcode" value="" autocomplete="off" placeholder=""> 
    <input type="text" onkeypress='validate(event)' name="s_mobilenumber" value="" autocomplete="off" placeholder="What is your Mobile Number?"> 
    <input type="submit" name="s_submit" value="Next"><br/> 
    <a href="">Skip</a> 

    </form> 

    </body> 


    <script type="text/javascript"> 
     $(function(){ 

     $('form').on('submit', (function(e){ 

      $('.s_submit').prop('disabled', true); 
      $('.overlay-2').show(); 
      var mobilenumber = $('.s_mobilenumber').val(); 
      $.ajax({ 
      url: DIR+"/ajaxify/ajax_requests/register_requests.php", 
      method: 'POST', 
      cache: false, 
      data: { 
       mobilenumber: mobilenumber 
      }, 
      }); 
     })); 

     }); 


    <?php 

     require_once '../config/class/dbconfig.php'; 
     $usermobile = $_POST['dialcode'].$_POST['mobilenumber']; 
    class login_class{ 
     public function REGISTER($usermobile){ 

    if(isset($_POST['submit'])){ 
      $query = $this->db->prepare("INSERT INTO userbio(mobilenumber)"); 
      } 

     }//Ends here 
    } 
    ?> 
</html> 

ich einfach die variable usermobile brauchen die dialcode und die mobilenumberusermobile und Einfügen in die DB verketten. Ich habe viele Probleme damit, das richtig zu machen. Außerdem verwende ich PDO.

Ich würde über jede Hilfe oder Rückmeldung auf den obigen Code freuen.

+0

Ich sehe nicht, dass Sie die 'REGISTER'-Methode aufrufen. – Ivar

+0

.. und Sie tun nichts mit der Abfrage, die Sie in REGISTER vorbereitet haben, und die SQL-Anweisung ist nicht gültig (.. oder abgeschlossen). – MatsLindh

+0

Dies ist die zweite Seite nach Abschluss des Anmeldeformulars. Sollte ich nicht einfach von der Anmeldung mit Registerfunktion fortfahren? – Masood

Antwort

-1

Ihre Abfrage scheint die Klausel values ​​zu verfehlen.

$ query = $ this-> db-> vorbereiten ("INSERT INTO userbio (handynummer) Werte (?)");

Auch ich nehme Sie diese Abfrage ausgeführt:

query- $> execute ($ Handynummer);

Verwenden Sie PDO oder mysqli? Das würde die genaue Syntax der Einfügezeilen bestimmen.

+0

Ah. Ich verwende PDO – Masood

+0

Sie bereits 3 Antworten gepostet, müssen Sie 2 von ihnen löschen; das ist einer von ihnen –

0
if(isset($_POST['submit'])){ 
     $query = $this->db->prepare("INSERT INTO userbio(mobilenumber) values(?)"); 
     $query->execute($mobilenumber); 
    } 

Lassen Sie uns es versuchen ...

+0

wären die Werte in diesem Fall: handynummer? oder wäre es: usermobile? – Masood

+0

Es sollte Ihre Variable sein, die Sie in Ihrem Programm verwenden, um die Telefonnummer zu speichern ... Ich habe $ handynummer als Platzhalter für Ihre Variable verwendet. –

0

Sie haben ein Objekt dieser Klasse instanziiert und die Registrierungsfunktion

$login = new login_class(); 
$login->REGISTER($usermobile); 

Ihre SQL-Adapter-Code aufrufen auch unvollständig ist, nachdem die Vorbereitung Sie haben um es auszuführen.

0
<?php 
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)"); 
$stmt->bindParam(':name', $name); 
$stmt->bindParam(':value', $value); 

// insert one row 
$name = 'one'; 
$value = 1; 
$stmt->execute(); 

Dies ist der relevante Teil aus der PHP-PDO-Dokumentation.

Verwandte Themen