Skip to main content
August 6, 2017
Question

Problem with a date format

  • August 6, 2017
  • 1 reply
  • 285 views

once i submit this form, i got error on GetSQLValueString($_POST['tarikh'], "date")); the error shows

Warning: sprintf(): Too few arguments in  on line 53

Query was empty

How can i solve this problem?

so, this is my php file

<?php require_once('Connections/athira.php'); ?>

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

  if (PHP_VERSION < 6) {

    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {

    case "text":

      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

   

      break;   

    case "long":

    case "int":

      $theValue = ($theValue != "") ? intval($theValue) : "NULL";

      break;

    case "double":

      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

      break;

    case "date":

      $theValue = ($theValue != "") ? "'" . date('Y-m-d',$theValue) . "'" : "NULL";

      break;

    

    case "defined":

      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

      break;

  }

  return $theValue;

}

}

$editFormAction = $_SERVER['PHP_SELF'];

if (isset($_SERVER['QUERY_STRING'])) {

  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);

}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {

  $insertSQL = sprintf("INSERT INTO tempahan (nama, matrik, ic, jabatan, pejabat, faks, telefon, emel, tempat, tujuan, tarikh) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())",

                       GetSQLValueString($_POST['nama'], "text"),

                       GetSQLValueString($_POST['matrik'], "int"),

                       GetSQLValueString($_POST['ic'], "varchar"),

                       GetSQLValueString($_POST['jabatan'], "varchar"),

                       GetSQLValueString($_POST['pejabat'], "int"),

                       GetSQLValueString($_POST['faks'], "int"),

                       GetSQLValueString($_POST['telefon'], "int"),

                       GetSQLValueString($_POST['emel'], "varchar"),

                       GetSQLValueString($_POST['tempat'], "varchar"),

                       GetSQLValueString($_POST['tujuan'], "text"),

                       GetSQLValueString($_POST['tarikh'], "date"));

  mysql_select_db($database_athira, $athira);

  $Result1 = mysql_query($insertSQL, $athira) or die(mysql_error());

  $insertGoTo = "tempahan_list_user.php";

  if (isset($_SERVER['QUERY_STRING'])) {

    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

    $insertGoTo .= $_SERVER['QUERY_STRING'];

  }

  header(sprintf("Location: %s", $insertGoTo));

}

mysql_select_db($database_athira, $athira);

$query_register = "SELECT * FROM tempahan";

$register = mysql_query($query_register, $athira) or die(mysql_error());

$row_register = mysql_fetch_assoc($register);

$totalRows_register = mysql_num_rows($register);

    session_start();

    $role = $_SESSION['sess_userrole'];

    if(!isset($_SESSION['sess_username']) && $role!="tempahan"){

      header('Location: index.php?err=2');

    }

?>

and this is my insert form

<td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif ">Nama:</font></td>

            <td><input name="nama" type="text" id="nama" size="65" maxlength="80" pattern="[a-z A-Z /]*" required></td></tr>

                <tr>

               

                    <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">No.Staf/Matrik:</font></td>

                <td><input name="matrik" type="text" id="matrik" size="20" maxlength="12"  pattern="[0-9]*" required></td></tr>

                <tr>

              

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">Kad Pengenalan:</font></td>

                <td><input name="ic" type="text" id="ic" size="40" maxlength="12" pattern="[0-9]*" required></td></tr>

               

               

               

                   

               

                <tr>

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">Jabatan/Kolej/Inasis/Unit:</font></td>

                <td><TEXTAREA name="jabatan" rows=2 cols=60 required></TEXTAREA></td></tr>

                <tr>

               

                <tr>

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">No.Tel(Pej):</font></td>

                <td><input name="pejabat" type="text" id="pejabat" size="20" maxlength="11" pattern="[0-9]*" ></td></tr>

                <tr>

                <tr>

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">No.Faks:</font></td>

                <td><input name="faks" type="text" id="faks" size="20" maxlength="11" pattern="[0-9]*" ></td></tr>

                <tr>

                <tr>

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">No.H/P:</font></td>

                <td><input name="telefon" type="text" id="telefon" size="20" maxlength="11" pattern="[0-9]*" required></td></tr>

                <tr>

               

                 <tr>

                   <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif ">Emel:</font></td>

                <td><input name="emel" type="text" id="emel" size="40" maxlength="60" pattern="[a-zA-Z,@,.,0-9,_]*" required></td></tr>

          

                <tr>

               

                <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">Butiran Tempahan:</font></td>

                <td><SELECT name="tempat" required="required"/>

                       <OPTION>-sila pilih-</OPTION>

                       <OPTION>Dewan Seminar</OPTION>

                       <OPTION>Bilik Kuliah</OPTION>

                       <OPTION>Bilik Komputer</OPTION>

                       <OPTION>Bilik Kuliah Masjid Sultan Badlishah</OPTION>

                      

                     

           </SELECT></td></tr>

               

                <tr>

               

                <tr>

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">Tujuan/Program:</font></td>

                <td><TEXTAREA name="tujuan" rows=5 cols=60 required></TEXTAREA><br><font color="#FF0000">*100 patah perkataan sahaja</font></td></tr>

                <tr>

                <tr>

                  <td><font size="2" color="#000000" face="Geneva, Arial, Helvetica, sans-serif">Tarikh Program:</font></td>

                <td><input type = "date" name="tarikh" value=" <?php echo date('Y-m-d'); ?>

This topic has been closed for replies.

1 reply

Inspiring
August 7, 2017

Probably a ColdFusion forum is a poor place to ask a PHP question.  Might want to try over in a PHP forum.  If I had to guess though, you are replacing 12 %s parameters with only 11 values.  That being said, your input descriptor lists 11 columns, and your values descriptor tries to insert 13.

Nic