Да записва IP адреса на някой, като пише коментари

farzy

Registered
Здравейте, имам система за новини с коментари, но ми е много чудно, дали ще може да записвам IP адреса на хората, които пишат коментари?
 
farzy каза:
Здравейте, имам система за новини с коментари, но ми е много чудно, дали ще може да записвам IP адреса на хората, които пишат коментари?

да , първо му си правиш поле в таблицата с име "ip" примерно
към кода: взимаш му IP-то в променлива:
Код:
$ip = $_SERVER['REMOTE_ADDR'];
после я взимаш и я слагаш в заявката където да ти се вкарват променливите $title,$avtor и т.н. там добавяш и $ip
 
Предполагам имаш някакви променливи, които ти съдържат коментара, примерно $content = $_POST['comment']; и трябва да направиш още една променлива $ip = $_SERVER['REMOTE_ADDR']; и просто ги добавяш със заявка
PHP:
$content = $_POST['comment'];
$ip =  $_SERVER['REMOTE_ADDR'];

mysql_query("INSERT INTO table SET comment = '$content', ip='$ip'  ") or die(mysql_erorr());
'
 
Опитвах, но уви - не стана, ето ви кода, ако на някой му се заинмава, да го направи. :)

PHP:
<?php
echo '</td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Добави коментара" /> 

<input type="reset" name="submit" value="Изчисти" /></td></tr>
</form>
</table><br /><br />';

echo '<b>Коментари</b><br /><br />';
if ($_POST['submit']) {
$avtor = htmlspecialchars($_POST['avtor']);
$komentar = addslashes(htmlspecialchars($_POST['komentar']));
$date = date("d.M.Y, H:i");
	if($komentar == NULL){
		echo "<div class='error'><b>Всички полета са 

задължителни!!!</b></div>";
	}
	else
	{
$sql = "INSERT INTO com_news (`novina`, `avtor`, `date`, `komentar`) VALUES ('$id', 

'$avtor', '$date', '$komentar')";
mysql_query($sql) or die (mysql_error());
echo "<meta http-equiv='refresh' content='0;url=view-news.php?id=$data[id]'>";
echo "Коментара е добавен успешно.";
}
}
$sql = "SELECT * FROM com_news WHERE novina='$id' ORDER by komentar";
$result = mysql_query($sql) or die (mysql_error());
while($com = mysql_fetch_assoc($result)) 
{
$kometar = htmlspecialchars($com['komentar']);

$kometar = str_replace(':)','<img src="images/smiles/smile.gif" title="усмивка" 

border="0">',$kometar); 
$kometar = str_replace('(sad)','<img src="images/smiles/sad.png" title="тъжен" 

border="0">',$kometar); 
$kometar = str_replace(':D','<img src="images/smiles/lol.gif" title="смях" 

border="0">',$kometar); 
$kometar = str_replace(' (omg)','<img src="images/smiles/omg.gif" title="OMG" 

border="0">',$kometar); 
$kometar = str_replace(';)','<img src="images/smiles/wink.gif" title="мигач" 

border="0">',$kometar); 
$kometar = str_replace(' (beer)','<img src="images/smiles/beer.gif" title="биричка" 

border="0">',$kometar); 

echo "<div style='background-color: #303030; border: 1px solid #404040; 

color:#E0E0E0; padding:5px; width:705px; font: 13px tahoma;'>
<b>$com[avtor]</b> каза: <span style='float:right; font: 11px 

tahoma;'>$com[date]</span><br/><hr size='1' color='#222' />
$kometar</div><br />";
}
if($comments == 0)
{
echo 'Няма добавени коментари';
} ?>
 
Ето ти кода, само си добави поле в таблицата с име ip и си готов.
Код:
<?php
echo '</td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Добави коментара" /> 

<input type="reset" name="submit" value="Изчисти" /></td></tr>
</form>
</table><br /><br />';

echo '<b>Коментари</b><br /><br />';
if ($_POST['submit']) {
$avtor = htmlspecialchars($_POST['avtor']);
$komentar = addslashes(htmlspecialchars($_POST['komentar']));
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("d.M.Y, H:i");
        if($komentar == NULL){
                echo "<div class='error'><b>Всички полета са 

задължителни!!!</b></div>";
        }
        else
        {
$sql = "INSERT INTO com_news (`novina`, `avtor`, `date`, `komentar`, `ip`) VALUES ('$id', 

'$avtor', '$date', '$komentar', '$ip')";
mysql_query($sql) or die (mysql_error());
echo "<meta http-equiv='refresh' content='0;url=view-news.php?id=$data[id]'>";
echo "Коментара е добавен успешно.";
}
}
$sql = "SELECT * FROM com_news WHERE novina='$id' ORDER by komentar";
$result = mysql_query($sql) or die (mysql_error());
while($com = mysql_fetch_assoc($result)) 
{
$kometar = htmlspecialchars($com['komentar']);

$kometar = str_replace('Smile','<img src="images/smiles/smile.gif" title="усмивка" 

border="0">',$kometar); 
$kometar = str_replace('(sad)','<img src="images/smiles/sad.png" title="тъжен" 

border="0">',$kometar); 
$kometar = str_replace('Very Happy','<img src="images/smiles/lol.gif" title="смях" 

border="0">',$kometar); 
$kometar = str_replace(' (omg)','<img src="images/smiles/omg.gif" title="OMG" 

border="0">',$kometar); 
$kometar = str_replace('Wink','<img src="images/smiles/wink.gif" title="мигач" 

border="0">',$kometar); 
$kometar = str_replace(' (beer)','<img src="images/smiles/beer.gif" title="биричка" 

border="0">',$kometar); 

echo "<div style='background-color: #303030; border: 1px solid #404040; 

color:#E0E0E0; padding:5px; width:705px; font: 13px tahoma;'>
<b>$com[avtor]</b> каза: <span style='float:right; font: 11px 

tahoma;'>$com[date]</span><br/><hr size='1' color='#222' />
$kometar</div><br />";
}
if($comments == 0)
{
echo 'Няма добавени коментари';
} ?>
 

Back
Горе