Pagina multiuso non funzionante

Salve a tutti ragazzi, e' vero, propongo sempre quesiti elementari, ma il fatto e' che sto imparando  :P

Adesso nn riesco a far funzionare una pagina multiuso, ma il discorso e' che nn e' la prima che faccio e le precedenti funzionano tutte senza problemi! Il problema e' che nn riesce ad inviare la pagina che richiedo senza stampare neanche un messaggio d'errore! Riesce a caricare soltanto il titolo della pagina, e poi si blocca, anche i tag html finali scompaiono!

Vi stampo il codice della pagina, che io e' una mezzora che lo leggo ma nn riesco a trovarci l'errore!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Modifica la Categoria</title>
   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<?php
   //Mi collego
   require('contect.php');
   
   if(isset($_POST['name'])):
   //Controllo se sono stati aggiornati i dati della categoria
   $name = $_POST['name'];
   $id = $_POST['id'];
   $query = "UPDATE category SET name='$name' WHERE id='$id'";
   $result = mysql_query($query);
      if($result)
      {
         echo("I dettagli della categoria sono stati modificati con successo!");
      }
      else
      {
         echo("Un errore mi ha impedito di aggiornare i dati della categoria: ".mysql_error());
      }
?>
<p><a href="cats.php">Torna alla Gestione delle Categorie</a></p>

<?php
   else: //Permetto all'utente di modificare la categoria
   $id = $_GET['id'];
   //In $cat inserisco i risultati della query che sara' il riferimento alla lista di risultati
   $cat = mysql_query("SELECT name FROM category WHERE id='$id'");
   if(!$cat)
   {
      die("Questo errore mi impedisce di continuare:<br />".mysql_error());
   }
   
   //Trasformo $cat al riferimento in un array di risultati
   $categoria = mysql_fetch_array($cat);
   //Inserisco in $name il nome della categoria, e tratto i caratteri
   $name = $categoria['name'];
   $name = htmlspecialchars($name);
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
   <label>Nome: <input type="text" name="name" value="<?php echo $name; ?>" /></label><br />
   <input type="hidden" name="id" value="<?php echo $id; ?>" />
   <input type="submit" value="Invia" />
</form>
<?php endif; ?>
</body>
</html>

Lo script richiesto, connect.php, funziona bene, perche' cn le altre pagine che lo utilizza va tutto correttamente...

Davvero nn riesco a capire dove stia la mia lacuna, e la cosa snervante e' che nn restituisce neanche un messaggio di errore!

inviato 9 anni fa
Pr0v4
X 0 X

Invece di usare i : per l'if e l'else usa { e } per identificare i blocchi, mi riferisco a    

if(isset($_POST['name'])):

credo che il parser PHp si perda trovando degli altri if annidati determinati con { e }.

Cercare di mantenere il codice ordinato rende anche pił semplice trovare l'errore.

risposto 9 anni fa
LonelyWolf
X 0 X

Scusatemi una cosa, ma ho fatto altre pagine di questo esperimento sempre con lo stesso metodo, e mai mi ha fatto questi scherzi!

Anche nelle altre pagine ci sono degli if annidati,  e il parser ha capito sempre bene tutto!

puo' darsi che una cosa del genere e' provocata da una query inviata male?

risposto 9 anni fa
Pr0v4
X 0 X

L'avevo detto io che tanto facevo errori da pivello!

Scusatemi se vi ho fatto diventare matti, ma ora mi sono rimesso a cercare di risolvere il problema, ho provato a fare qualche esperimento con la connessione al database, quando nn vedo l'errore????

Avevo semplicemente sbagliato a richiamare lo script di connessione!

Scusatemi ancora se vi ho fatto perdere tempo cn queste cretinate!

risposto 9 anni fa
Pr0v4
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda