Newsgroup: it.comp.www.php
Titolo: Gli IP in sql dove sono

Uso PHP-Nuke6,
vorrei sapere se nel database sql sono registrati gli IP di chi posta
(Forum, News, guestbook ecc). Dove si possono trovare?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

(Forum, News, guestbook ecc). Dove si possono trovare?
Forse nel database...ci hai guardato???
Francesco
_____________________________________
http://www.altropc.it
 - Un altro PC è possibile!
Software libero, PHP, MySQL, Webdesign, Sicurezza, CMS, Tutorials
Per rispondere in e-mail togli NOSPAM 

> Forse nel database...ci hai guardato???
Ok. Grazie Franci!
Trovati nei moduli originali Nuke, mancano nei moduli aggiuntivi.
In particolare, x la vivacità degli ospiti, ho l'esigenza di registrarli nel
modulo GUESTBOOK a fianco di ogni post .
Si tratterebbe di inserire in myslq una riga che memorizzi gli IP.
Come fare? dove posso trovare istruzioni?
C'è qualcosa già pronto che fa il caso mio?


C'è qualcosa già pronto che fa il caso mio?
Non so se c'è qualche guestbook per nuke con queste caratteristiche,
forse sì, comunque per modificare il tuo dovresti fare così:
1) modifichi il db dei post inserendo un nuovo campo IP (o lo fai nel
fle sql oppure direttamente nel db)
2) modifichi le parti del file del modulo che gestiscono la
memorizzazioni dei post nel db inserendo anche l'IP nel nuovo campo
creato
3) se vuoi visualizzare l'IP modifichi anche le parti del modulo che
gestiscono la visualizzazione dei post
Ciao


 Ciao
Devi avere un po' di pazienza, Franci, sono un po' digiuna di sql. :-(
Dunque, uso phpMyAdmin 2.5.5-pl1,
nella Tabella nuke_guestbook ci sono i campi: città, data, email, ecc,
come fare a inserire il campo IP?


come fare a inserire il campo IP?
Nella colonna di sinistra clicchi sulla tabella del guestbook, quindi
nella pagina centrale dove c'è scritto "Aggiungi un nuovo campo" (alla
fine della tabella va bene) clicca su "esegui", quindi inserisci le
caratteristiche del campo: nome, tipo (varchar), lunghezza (15) e il
resto lo lasci così com'è.
Spero che tu non sia a digiuno anche di php ;-)


> Spero che tu non sia a digiuno anche di php ;-)
Devo purtroppo ammetterlo, sono digiuna o quasi.
C'è forse da modificare il codice delle pagine?
Ancora grazie ;-)


Ancora grazie ;-)
Prego, ciao


Non posso cambiare modulo xrcè ho un grosso archivio di post che perderei.
Ho modificato e tutto è ok.
Unico problema, viene visualizzato l'IP a tutti gli utenti, mentre io voglio
che resti invisibile e venga solo registrato nel database.
Ecco il codice della pagina index.php.
Cosa devo cambiare x non far visualizzare gli IP??
<?php
if (!eregi("modules.php", $PHP_SELF)) {
    die ("You can't access this file directly...");
}
$module_name = basename(dirname(__FILE__));
include("modules/$module_name/config.php");
if ($langdefinc) {
$filelanginc = "modules/$module_name/language/lang-".$langdefinc.".php";
include("$filelanginc");
}
else { get_lang($module_name); }
$index = 1;
$pat = "modules/$module_name";
cookiedecode($user);
$username = $cookie[1];
if ($username == "") {
      $username = "Anonymous";
 }
function viewsmile($message) {
global $pat;
        $message = str_replace(":D","<img src=$pat/images/smile.gif>" , $message);
        $message = str_replace("8|","<img src=$pat/images/eek.gif>" , $message);
        $message = str_replace(":S","<img src=$pat/images/confuso.gif>" , $message);
        $message = str_replace(":7","<img src=$pat/images/red.gif>" , $message);
        $message = str_replace(":?","<img src=$pat/images/rool.gif>" , $message);
        $message = str_replace(":(","<img src=$pat/images/sad.gif>" , $message);
        $message = str_replace(";)","<img src=$pat/images/wink.gif>" , $message);
        $message = str_replace(":|","<img src=$pat/images/evil.gif>" , $message);
return($message);
}
/* ############################################# FUNZIONE SHOW GUESTBOOK
########## */
function showguestbook() {
    global $module_name, $dbi, $prefix, $username, $page, $nump, $color;
    global $titolo, $pat, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4;
    include("header.php");
    echo "<script language=\"JavaScript\" type=\"text/javascript\">function
emoticon(text) {
	text = ' ' + text + ' ';
	if (document.post.message.createTextRange && document.post.message.caretPos)
{
		var caretPos = document.post.message.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text
+ ' ' : text;
		document.post.message.focus();
	} else {
	document.post.message.value += text;
	document.post.message.focus();
	}
	}</script> ";
    Opentable();
    echo "<center>$titolo</center>" ;
    CloseTable();
    echo "<br>";
    Opentable();
    echo "<center>"._GBSIGNGUEST."
    <form action=\"modules.php?name=Guestbook\" method=post name=post>
    <input type=hidden name=op value=invia>
    <table><tr><td> "._GBNAME.": </td><td>";
    if (($username) && ($username != "Anonymous")) echo "<input type=hidden
name=nome value=$username>$username";
    else echo "<input type=text name=nome>";
    echo "</td><td> "._GBCITY.": </td><td><input type=text name=citta></td></tr>
    <tr><td> "._GBEMAIL.": </td><td><input type=text name=email></td><td>
"._GBURL.": </td>
    <td><input type=text name=url value=http://></td></tr>
    <tr><td> "._GBSIGN.": </td><td ><textarea cols=50 rows=4
name=message></textarea></td><td> </td><td>
    <a href=\"javascript:emoticon(':D')\"><img src=$pat/images/smile.gif
border=0></a>
    <a href=\"javascript:emoticon('8|')\"><img src=$pat/images/eek.gif
border=0></a>
    <a href=\"javascript:emoticon(':S')\"><img src=$pat/images/confuso.gif
border=0></a>
    <a href=\"javascript:emoticon(':7')\"><img src=$pat/images/red.gif
border=0></a><br>
    <a href=\"javascript:emoticon(':?')\"><img src=$pat/images/rool.gif
border=0></a>
    <a href=\"javascript:emoticon(':(')\"><img src=$pat/images/sad.gif
border=0></a>
    <a href=\"javascript:emoticon(';)')\"><img src=$pat/images/wink.gif
border=0></a>
    <a href=\"javascript:emoticon(':|')\"><img src=$pat/images/evil.gif
border=0></a>
    </td></tr>
    <tr><td> </td><td><input type=submit value="._GBSUBMIT."></td></tr>
    </table>
    </form>
    ";
    Closetable();
    echo "<br>";
/* ################################à STAMPA COMMENTI ####################à
*/
    if (($page == "") || ($page == 1)) {
        $page = 1;
        $p = 0;
        $pp = $nump;
    } else {
        $pp = ($nump*$page);
        $p = ($pp - $nump);
    }
    $query = "SELECT * FROM ".$prefix."_guestbook order by idg DESC";
    $result = sql_query($query,$dbi);
    $size = sql_num_rows($result);
    If (($size % $nump) == 0) {
        $numofpages = ($size / $nump);
        $last = $numofpages;
        $check = true;
    } else {
        $numofpages = ((($size - ($size % $nump)) / $nump ) +1);
        $last = $numofpages;
        $check = false;
    }
    if (($page == $last) && (!$check)) {
        $pp = $size;
        $p = ($size - ($size % $nump));
    }
    if ($size > "0") {
    Opentable();
    echo "<center>"._GBSIGNS;
    echo "<table width=85% cellpadding=1>";
for($i=$p;$i<$pp;$i++) {
        $idg = mysql_result($result, $i, 'idg');
        $nome = mysql_result($result, $i, 'nome');
        $citta = mysql_result($result, $i, 'citta');
        $commento = mysql_result($result, $i, 'com');
        $data = mysql_result($result, $i, 'data');
        $email = mysql_result($result, $i, 'email');
        $url = mysql_result($result, $i, 'url');
        $indip = mysql_result($result, $i, 'indip');
    $ora = date("d/m/y H:i",$data);
    echo "<tr><td bgcolor=$bgcolor2><center>
    <table width=100% bgcolor=$bgcolor4><tr><td> "._GBMESSOF." <b>$nome</b> ";
    if ($citta) echo _GBFROM.": $citta</td>";
    echo "
    <td align=right> [ <a href=mailto:$email>email</a> ]";
    if ($url != "") echo " [ <a href=\"$url\" target=\"_NUOVO\">www</A> ]";
    echo "</td></tr></table></td></tr>";
    $commento = viewsmile($commento);
    echo "<tr><td bgcolor=$bgcolor2><table width=100% bgcolor=\"$color\"
cellpadding=1>
	<tr bgcolor=\"$color\"><td colspan=2>
	<p><font size=2>$commento</p><hr size=1 width=100%></td></tr>
	<tr bgcolor=\"$color\"><td>"._GBSENDON." $ora &nbsp; IP: $indip</td>
	<td align=right><font color=#BBBBBB>[$idg] </td></tr></table></td></tr>
	<tr><td colspan=2 height=1></font></td></tr>";
    }
   if($numofpages > 0) {
        echo "<tr><td colspan=5><br><b>"._GBPAGES.":</b> ";
                for ($a=0;$a<$numofpages;$a++) {
               if ($page == $a+1) { echo "<font color=red>".($a +1)."</font>&nbsp;";
                } else {
                echo "<a href=\"modules.php?name=$module_name&page=".($a+1)."\" alt=\"Pagina
".($a+1)." di $numofpages\">";
        echo ($a + 1)."</a>&nbsp;"; }
        }
        if ($numofpages >1)
        echo "<a href=\"modules.php?name=$module_name&page=".($page+1)."\"
alt=\"Pagina ".($page+1)." di $numofpages\">Successiva ></a>";
    }
    } else { echo "<center> <b> "._GBNOOBJ." </b> "; }
    echo "</table>";
    Closetable();
    include("footer.php");
}
/* ####################################### FUNZIONE CHECK E-MAIL
################# */
function checkmail ($email) {
   if (@stristr($contents,$email)) $valid = "1";
   if (eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3}$)", $email) &&
!isset($valid)) $valid = "0";
   else $valid = "1";
   return $valid;
}
/* ####################################### FUNZIONE INVIA MESSAGGIO
################# */
function inviamsg($message, $email, $nome, $citta, $url){
global $module_name, $dbi, $prefix;
global $titolo, $pat;
include("header.php");
    Opentable();
    echo "<center>$titolo</center>" ;
    CloseTable();
    echo "<br>";
    Opentable();
 
    if ((!$message) || (!$email) || (!nome) ){
 
	echo "<br><br><b>Compila tutti i campi grazie</b><br>
	[ <a href=javascript:history.go(-1)> torna </a> ]<bR> ";
    } elseif( ($valid = checkmail($email)) != 0){
 
       echo "<center><br><br><b>"._GBWRONGEMAIL."</b><br>
        [ <a href=javascript:history.go(-1)>"._GBBACK." </a> ]<bR> ";
    } else {
    $data = time();
    if (($url == "http://") || ($url == " ")) $url = "";
	$indip = $_SERVER['REMOTE_ADDR'];
    $query = "INSERT INTO ".$prefix."_guestbook
values(NULL,'$nome','$citta','$message','$data','$email','$url','$indip')";
    $res = sql_query($query,$dbi);
    echo "<center><bR>"._GBTANKS."<br>
	[ <a href=modules.php?name=$module_name> "._GBGUESTBOOK." </a> ]";
    }
CloseTable();
include("footer.php");
}
switch($op) {
    default:
    showguestbook();
    break;
 
    case "invia":
    inviamsg($message, $email, $nome, $citta, $url);
    break;
}
?>


	$indip = $_SERVER['REMOTE_ADDR'];
Qui è dove scrive l'indirizzo ip nel database...non riesco a capire
come mai prima non visualizzavi l'IP....boh
Ciao


6 un tesoro.
E' stato sufficiente togliere:
IP: $indip
da:
<td>"._GBSENDON." $ora &nbsp; IP: $indip</td>
.
Il mio digiuno di php č forte (non ho mai avuto il tempo di approfondire),
me la cavo nell'html e altro.
Come ho fatto? Ho cercato la versione aggiornata dello stesso Guestbook, ho
controllato i files e ho visto che contenevano la registrazione dell'IP.
Visto che sei tanto bravo, voglio dirti di un'anomalia nella visualizzazione
dello stesso guestbook:
man mano che i post si aggiungono (sono quasi 1900) si allarga la tabella
che li contiene e ho risolto aumentando il numero dei post da visualizzare.
Sapresti xrché?
Un grande smack
Bye bye


Bye bye
Ciao


Ho visitato il tuo ottimo sito 
http://www.altropc.it
 e ne ho anche
approfittato x scaricarmi qualcosa ;-)
Vedo che usi E-Xoops, quali sono i vantaggi rispetto a PhpNuke?
Stavo progettando di fare un giornale online e cerco un CSM versatile in tal
senso.
Conosco solo Phpnuke.
Ho trovato PostNuke, Envolution, Nuke-PROXIMA, Xaraya, XOOPS, phpPIZZA,
WUPit, ma non ho mai reperito una guida che ne evidenzi le differenze, pregi
e difetti.
Cosa mi puoi consigliare?
bye bye
;-))


bye bye
Fra E-Xoops e phpNuke c'è una bella differenza, nel senso che il primo
è molto più semplice da usare, stabile e robusto, anche perché il
codice è scritto molto meglio; lo svantaggio è che è meno diffuso e
puoi avere più difficoltà a trovare un modulo particolare. Di quelli
che hai citato ho provato Envolution, è carino ma non mi piace il
fatto che non ha il forum integrato; Xoops è molto simile a E-Xoops;
poi ho provato phpwebsite ma mi dava problemi di installazione;
inoltre ho sentito parlare bene di Mambo 
http://www.mamboserver.com
però non l'ho mai provato.
Io mi trovo molto bene con E-Xoops e lo consiglierei a tutti,
soprattutto ai principianti; l'installazione è semplicissima e non
occorre caricare dump di db come in phpnuke.
Dai provalo, poi mi dici ;-)
