IP Address in PHP

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
veshant
Forum Newbie
Posts: 1
Joined: Thu Feb 09, 2012 3:02 am

IP Address in PHP

Post by veshant »

Hi Guys,
I have been working on this code and it keeps giving me an error saying:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '24.130.244.65)' at line 3

here is my PHP Code:

Code: Select all

<?php
function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
} 
$ip = getRealIpAddr();
$con = mysql_connect("localhost","root","44881234");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$sql="INSERT INTO Phone (FirstName, LastName, AC, RC, Num, Email, Time, IP)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[AC]','$_POST[RC]','$_POST[Num]','$_POST[Email]', NOW()), $ip)";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con)
?>

And here is my html form code:
<html>
<body>

<SCRIPT TYPE="text/javascript">
<!--
// copyright 1999 Idocs, Inc. http://www.idocs.com
// Distribute this script freely but keep this notice in place
function numbersonly(myfield, e, dec)
{
var key;
var keychar;

if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;

// numbers
else if ((("0123456789").indexOf(keychar) > -1))
return true;

// decimal point jump
else if (dec && (keychar == "."))
{
myfield.form.elements[dec].focus();
return false;
}
else
return false;
}

//-->

<!--
var downStrokeField;
function autojump(fieldName,nextFieldName,fakeMaxLength)
{
var myForm=document.forms[document.forms.length - 1];
var myField=myForm.elements[fieldName];
myField.nextField=myForm.elements[nextFieldName];

if (myField.maxLength == null)
myField.maxLength=fakeMaxLength;

myField.onkeydown=autojump_keyDown;
myField.onkeyup=autojump_keyUp;
}

function autojump_keyDown()
{
this.beforeLength=this.value.length;
downStrokeField=this;
}

function autojump_keyUp()
{
if (
(this == downStrokeField) &&
(this.value.length > this.beforeLength) &&
(this.value.length >= this.maxLength)
)
this.nextField.focus();
downStrokeField=null;
}
//-->
</SCRIPT>

<form action="insert.php" method="post">
First Name: <input type="text" name="firstname" required="required" title="Please Enter Your First Name" /> <br/>
Last Name: <input type="text" name="lastname" required="required" title="Please Enter Your Last Name" /><br/>
Phone Number: 1( <input onKeyPress="return numbersonly(this, event)" title="Please Enter Your Phone Number" required="required" type="text" name="AC" maxlength="3" style="width:30px;"/> )
<input onKeyPress="return numbersonly(this, event)" title="Please Enter Your Phone Number" required="required" type="text" name="RC" maxlength="3" style="width:30px;" /> -
<input onKeyPress="return numbersonly(this, event)" title="Please Enter Your Phone Number" required="required" type="text" name="Num" maxlength="4" style="width:40px;" /> <br/>
E-mail Adress: <input type="email" name="Email" /> <br/>
<input type="submit" />
</form>

<SCRIPT TYPE="text/javascript">
autojump('AC', 'RC', 3);
autojump('RC', 'Num', 3);
</SCRIPT>

</body>
</html>
User avatar
social_experiment
DevNet Master
Posts: 2793
Joined: Sun Feb 15, 2009 11:08 am
Location: .za

Re: IP Address in PHP

Post by social_experiment »

Code: Select all

$sql="INSERT INTO Phone (FirstName, LastName, AC, RC, Num, Email, Time, IP)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[AC]','$_POST[RC]','$_POST[Num]','$_POST[Email]', NOW()), $ip)";
There is an extra parenthesis after NOW(); also place $ip in single quotes
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.” - Mosher’s Law of Software Engineering
Post Reply