Buongiorno a tutti,
potete darmi qualche dritta su questo script? Funzionava su un vecchio server casalingo, ma adesso sul nuovo hosting non funziona, rimane la pagina in bianco e non attualizza il database.
Qualche idea?
codice:
<form method="post" action="actualizar.php" enctype="multipart/form-data">
<label><span>ACTUALIZAR CATALOGO (catalog-A-B.txt)</span><input name="file" type="file" required="required" accept="text/plain"></label>
<input name="opt" type="hidden" value="catalog" />
<input type="submit" value="Subir">
</form>
<form method="post" action="actualizar.php" enctype="multipart/form-data">
<label><span>ACTUALIZAR CLIENTES (claves-clientes-web-A-B.txt)</span><input name="file" type="file" required="required" accept="text/plain"></label>
<input name="opt" type="hidden" value="clientes" />
<input type="submit" value="Subir">
</form>
<?php }
else{
if ($_FILES["file"]["error"] > 0)
echo "Error: " . $_FILES["file"]["error"] . "<br />";
else
{
$lines = file($_FILES["file"]["tmp_name"]); //array con 1 producto por linea
include('config.php'); //acceso a la base de datos
$mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
if ($mysqli->connect_errno) {
echo("Error conectando con la base de datos: {$mysqli->connect_error}");
exit;
}
$mysqli->set_charset("utf8");
$mysqli->query("SET AUTOCOMMIT=0;");
$mysqli->query("START TRANSACTION;");
if ($_POST['opt'] == 'catalog') {
$mysqli->query("TRUNCATE TABLE catalog");
foreach ($lines as $line) {
$codigo = intval(substr($line, 0, 6));
$descripcion = $mysqli->real_escape_string(rtrim(substr($line, 6, 45)));
$precio = floatval(substr($line, 51, 6));
$iva = intval(substr($line, 59, 2));
$pvf = floatval(substr($line, 65, 6));
$familia = intval(substr($line, 72, 4));
$grupo = substr($line, 75, 1);
$mysqli->query("INSERT INTO catalog (codigo, descripcion,precio,iva,pvf,familia,grupo) VALUES ($codigo, '$descripcion',$precio,$iva,$pvf,$familia,'$grupo');");
}
}
else { //claves_clientes.txt
$mysqli->query("TRUNCATE TABLE clientes");
foreach ($lines as $line) {
$datos = split('\?', $line);
$codigo = intval($datos[0]);
$nombre = $mysqli->real_escape_string(trim($datos[1]));
$userid = $mysqli->real_escape_string(trim($datos[2]));
$password = $mysqli->real_escape_string(trim($datos[3]));
$grupo = $mysqli->real_escape_string(trim($datos[4]));
$mysqli->query("INSERT INTO clientes (codigo_cliente, nombre,userid,password,grupo) VALUES ($codigo, '$nombre','$userid','$password', '$grupo');");
}
}
if ($mysqli->query("COMMIT;") === TRUE)
{
//TODO: Muestra mensaje actualización realizado con exito?>
<p>Base de Datos actualizada</p>
<?php }
else
{
//TODO: Muestra mensaje fallo en la actualización
printf("Error: %s\n", $mysqli->error);
}
}
}
}
?>