Voy a tener q poner el code php entero, pq no sé dónde está el problema... pido disculpas con antelación:
Este es el code php original (el que carga todo en un .txt):
Código PHP :
<?php
$Submit = $_POST["Submit"];
$Name = $_POST["Name"];
$Email = $_POST["Email"];
$Country = $_POST["Country"];
$Post = $_POST["Post"];
$NumLow = $_REQUEST["NumLow"];
$NumHigh = $_REQUEST["NumHigh"];
$Name = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'_\~\:]", "", $Name);
$Email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'_\~\:]", "", $Email);
$Post = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'_\~\:]", "", $Post);
$Country = eregi_replace("http://", "", $Country);
$Country = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'_\~\:]", "", $Country);
$Name = stripslashes($Name);
$Email = stripslashes($Email);
$Country = stripslashes($Country);
$Post = stripslashes($Post);
if ($Submit == "Yes") {
$filename = "comments.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$Today = (date ("l dS F Y (h:i:s A)",time()));
$Input = "<b><a href=\"mailto:$Email\">$Name</a> from $Country says,</b><br>$Post<br><b>Posted on :</b> $Today<br><br><br>.:::.";
$New = "$Input$OldData";
$fp = fopen( $filename,"w");
if(!$fp) die("&comments=Cannot Write $filename ......&");
fwrite($fp, $New, 800000);
fclose( $fp );
}
$filename = "comments.txt";
$fp = fopen( $filename,"r");
$Data = fread($fp, 800000);
fclose( $fp );
$DataArray = split (".:::.", $Data);
$NumEntries = count($DataArray) - 1;
print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&comments=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br><br><b>No more comments.</b>";
exit;
}
}
?>
Y yo lo he modificado y puesto para la base de datos así:
Código PHP :
<?
$DBhost = "servidor"; // servidor
$DBuser = "usuario"; // usuario base
$DBpass = "password"; // contraseña del host
$DBName = "base de datos"; // nombre de la base de datos
$table = "tabla"; // nombre de la tabla
$numComments = 10; // numero de comentarios por pagina
// conectando al servidor MySQL
$DBConn = mysql_connect($DBhost,$DBuser,$DBpass) or die("Error en el libro de visitas: " . mysql_error());
// seleccion de MySQL servidor
mysql_select_db($DBName, $DBConn) or die("Error en el libro de visitas: " . mysql_error());
$action = $_POST["submit"];
switch($action) {
case 'read' :
$sql = 'SELECT * FROM `' . $table . '`';
$allComments = mysql_query($sql, $DBConn) or die("Error en el libro de visitas: " . mysql_error());
$numallComments = mysql_num_rows($allComments);
$sql .= ' ORDER BY `time` DESC LIMIT ' . $_GET['NumLow'] . ', ' . $numComments;
$fewComments = mysql_query($sql, $DBConn) or die("Error en el libro de visitas: " . mysql_error());
$numfewComments = mysql_num_rows($fewComments);
print '&totalEntries=' . $numallComments . '&';
print "<br>&comments=";
if($numallComments == 0) {
print "No comments in the guestbook, as yet..";
} else {
while ($array = mysql_fetch_array($fewComments)) {
$name = mysql_result($fewComments, $i, 'name');
$email = mysql_result($fewComments, $i, 'email');
$comments = mysql_result($fewComments, $i, 'comments');
$time = mysql_result($fewComments, $i, 'time');
print '<b>Name: </b>' . $name . '<br><b>Email: </b>' . $email . '<br><b>Comments: </b>' . $comments . '<br><i>Date: ' . $time . '</i><br><br>';
$i++;
}
}
if($_GET['NumLow'] > $numallComments) {
print 'No More comments!&';
}
break;
case 'write' :
$name = ereg_replace("&", "%26", $_POST['Name']);
$email = ereg_replace("&", "%26", $_POST['Email']);
$comments = ereg_replace("&", "%26", $_POST['Post']);
$submit = $_POST['submit'];
$submitted_on = date ("Y-m-d H:i:s",time());
if($submit == 'Yes'){
$sql = 'INSERT INTO ' . $table .
' (`ID`,
`name`,
`email`,
`comments`,
`time`
)
VALUES
(\'\','
. '\'' . $name . '\','
. '\'' . $email . '\','
. '\'' . $comments . '\','
. '\'' . $submitted_on . '\'
)';
$insert = mysql_query($sql, $DBConn) or die("Error en el libro de visitas " . mysql_error());
print "&gb_status=Thank you for signing my guestbook.&done=yes&";
return;
}
print "&_root.write.gb_status=Error!&";
break;
}
?>
El problema está en que no me carga los comentarios anteriores ni el que se escribe
Muchas gracias.
