0

Im trying to fill an input field, based on a php function return result, this is my code, i don't find a way to call the php function from html, im just new to PHP

This is my function

function get_cc_type($cardNumber)
{
$cardNumber = preg_replace('/\D/', '', $cardNumber);

$len = strlen($cardNumber);
if ($len < 15 || $len > 16) {
    throw new Exception("Tarjeta Invalida: verifique, e intente nuevamente.");
}
else {
    switch($cardNumber) {
        case(preg_match ('/^7(?:453|5)/', $cardNumber) >= 1):
            return 'KW Member';
        case(preg_match ('/^3(?:567|5)/', $cardNumber) >= 1):
            return 'VIP';
        default:
            throw new Exception("No es posible determinar el tipo de Tarjeta.");
            break;
    }
    }
}

<input type="text" name="card" required id="card" class="form-control input-lg" placeholder="Numero de Tarjeta" value="<?php if(isset($error)){ echo $_POST['card']; } ?>" tabindex="5" >
                <input type="button" onclick="document.write('<?php 'get_cc_type($card)' ?>');" value="Validar">

and this is the field i want to fill

<input type="text" name="cardtype" id="cardtype" class="form-control input-lg"     value="<?php $cardres; if(isset($error)){ echo $_POST['cardtype']; } ?>" tabindex="8">

i have just started today with php.

  • no you can't do that like that, either you make an xmlhttprequest, or make an actual form submission – Kevin Feb 27 '15 at 01:38

1 Answers1

0

you can't use php code inside the html tag directly.

try using ajax. for example using jquery ajax

that's a simple way to use ajax

Hasan
  • 32
  • 4
  • im new to php, and ajax too, i have been reading solutions and forums for more than 3 days and i still don't find a way to do it –  Feb 27 '15 at 01:49
  • 'code' xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { // handle the response from server here var response = xmlhttp.responseText; response = JSON.parse(response); document.getElementById('cardtype').value = response.card_response; // set the value } // but it doesn't set the value to the field cardtype, it just shows me {"card_response":"VIP"} in text in the page but not in the field –  Feb 28 '15 at 04:48
  • tray tu use jquery ajax, more simple. Because Jquery handle the xhtml request. example : http://www.w3schools.com/jquery/jquery_ajax_get_post.asp – Hasan Mar 10 '15 at 03:20