Buongiorno, mi sono appena iscritto anche se vi seguo da tempo e leggendo il vostro forum ho realizzato un piccolo programma in php (semplice, non sono ancora arrivato alla programmazione ad oggetti). Questo programma funziona regolarmente su un certo hosting a pagamento, ora l'ho trasferito su altro hosting e non funziona più. Il problema credo di aver capito è negli header location che io ho usato a profusione nel mio programma e non sono all'inizio dello script. Ho letto che potrei usare la funzione ob_start, ma non saprei dove metterla visto che entro ed esco spesso dal php. Vi scrivo uno dei miei file e vi chiedo:
1) è proprio sbagliata l'impostazione? e se si come dovrebbe essere quella giusta.
2) se volessi usare ob_start() dove dovrei metterlo? visto che esco e poi rientro nel php.
(in altri file alterno ancora di più php e html)
Grazie in anticipo a chiunque abbia la pazienza di aiutarmi
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="../pfcss/pfform.css" type="text/css">
</head>
<body>
<?php
session_start();
require_once '../header3.php';
if(isset($_SESSION['username'])) {
if(isset($_GET['id_articolo'])){$code=$_GET['id_articolo'];}
if(isset($_POST['invia'])){
$cod=$_POST['code'];
$codice_articolo = $_POST['codice_articolo'];
$descr_breve = $_POST['descr_breve'];
$descr_breve = addslashes(stripslashes($descr_breve));
$unita_misura = $_POST['unita_misura'];
$unita_misura = addslashes(stripslashes($unita_misura));
$nota_articolo = $_POST['nota_articolo'];
$nota_articolo = addslashes(stripslashes($nota_articolo));
$giacenza = $_POST['giacenza'];
$inventariato = $_POST['inventariato'];
//inserting data order
try{
$sql = "UPDATE articolo SET codice_articolo='$codice_articolo', descr_breve='$descr_breve', unita_misura='$unita_misura', nota_articolo='$nota_articolo', giacenza='$giacenza', inventariato ='$inventariato' WHERE id_articolo='$cod'";
$count = $conn->exec($sql);
$conn = null;
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
if($count == 0){
echo "<br><br>";
echo "<td> NESSUNA OPERAZIONE EFFETTUATA </td>";
echo "<br><br>";
echo "<a href='../ordiniadmin/adminordini.php'>TORNA INDIETRO</a>";
}
else{
header("location: vediarticolo.php");
}
}else{
$sql = "select * from articolo where id_articolo = '$code'";
foreach ($conn->query($sql) as $row){
$codice_articolo = $row["codice_articolo"];
$descr_breve = $row["descr_breve"];
$id_gruppo = $row["id_gruppo"];
$unita_misura = $row["unita_misura"];
$nota_articolo = $row["nota_articolo"];
$giacenza = $row["giacenza"];
$inventariato = $row["inventariato"];
}
?>
<h4> SELEZIONA I CAMPI DA VARIARE</h4>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<fieldset>
<legend>CODICE ARTICOLO</legend>
<label>SIGLA <input type="text" name="codice_articolo" id="codice articolo" value="<?php echo $codice_articolo ?>"></label>
</fieldset>
<br>
<fieldset>
<legend>DESCRIZIONE BREVE</legend>
<label>DESCRIZIONE ARTICOLO <input size="80%" type="text" name="descr_breve" id="descr_breve" value="<?php echo $descr_breve ?>"></label>
</fieldset>
<br>
<fieldset>
<legend>UNITA DI MISURA </legend>
<label>U.M. <input size="5" type="text" name="unita_misura" id="unita_misura" value="<?php echo $unita_misura ?>"></label>
</fieldset>
<br>
<fieldset>
<legend>NOTA ARTICOLO</legend>
<label>NOTA ARTICOLO FACOLTATIVA <input size="80%" type="text" name="nota_articolo" id="nota_articolo" value="<?php echo $nota_articolo ?>"></label>
</fieldset>
<br>
<fieldset>
<legend>GRUPPO</legend>
<label>GRUPPO MERCEOLOGICO <select name="id_gruppo" required>
<?php
$sql = "SELECT * FROM gruppi";
foreach($conn->query($sql) as $row){
print "<option value='$row[id_gruppo]' ";
if ($row['id_gruppo']==$id_gruppo)echo "selected";
print "> $row[descr_gruppo] </option>";
}
?>
</select></label>
</fieldset>
<br>
<fieldset>
<legend>GIACENZA</legend>
<label>QUANTITA IN GIACENZA <input size="12" type="text" name="giacenza" id="giacenza" value="<?php echo $giacenza ?>"></label>
</fieldset>
<br>
<fieldset>
<legend>INVENTARIATO </legend>
<label>INVENTARIATO 0=NO 1=SI <input size="1" type="text" name="inventariato" id="inventariato" value="<?php echo $inventariato ?>"></label>
</fieldset>
<input type="hidden" name="code" value="<?php echo $code ?>">
<br><br>
<button type="submit" name="invia" id="invia">Invia</button>
<button type="reset" id="cancella">Cancella</button>
</form>
<br>
<a href='../ordiniadmin/adminordini.php'>TORNA INDIETRO</a>
<?php
}
}else{
header ('location: ../ingresso.php');
}
?>
</body>
</html>