Salve a tutti ragazzi, sto muovendo i primi passi con il PHP, anche se conosco in linea di massima qualche linguaggio di programmazione, ho deciso di approfondire la mia conoscenza in questo linguaggio!
Sto seguendo dei tutorial che mi aiutano a capire in maniera piu' approfondita le caratteristiche di questo linguaggio, il discorso e' che nn sempre le ciambelle riescono con il buco
Sto facendo una pagina per modificare dei dati inseriti in un array, in questa pagina come forma di sicurezza e' stato adottata la funzione header() per evitare dei problemi con il refresh della pagina, insieme a questo mi da la possibilita' di dare all'utente un messaggio direttamente sulla riga degli indirizzi passato tramite GET. Il discorso e' che quando provo ad avviare la pagina da me creata mi restituisce questo errore:
codice:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Applications/MAMP/htdocs/ProvePHP/PHP:Mysql/modifica.php on line 73
ho provato a farmi stampare l'errore tramite un
Codice PHP:
echo mysql_error() 
ma purtroppo niente da fare...
Ho anche provato a commentare le righe di codice interessate solo per fare una prova, ma alla successiva funzione header siamo allo stesso punto!
Vi lascio qui di seguito la pagina da me fatta, sperando che qualcuno mi possa aiutare!
Codice PHP:
<?php
    
//richiamo il file di configurazione
    
require('config.php');
    
    
//richiamo lo script di connessione
    
require('connect.php');
    
    if(
$_POST && isset($_GET['id']))
    {
        
aggiorna_record();
    }
    elseif(isset(
$_GET['id']))
    {
        
mostra_record();
    }
    else
        
mostra_lista();
        
    
//dichiaro la funzione mostra_lista()
    
function mostra_lista()
    {
        
//mostro un eventuale messaggio
        
if(isset($_GET['msg']))
            echo 
'[b]'htmlentities($_GET['msg']).'[/b]

'
;
            
        while (
$row mysql_fetch_assoc($result))
        {
            
$nome htmlspecialchars($row['nome']);
            
            
//preparo il link per la modifica dei dati del record
            
$link $_SERVER['PHP_SELF'] .'?id=' .$row['id'];
            
            echo 
"

Nome: 
$name <a href=\"$link\">Modifica</a></p>";
        }
        
//libero la memoria di PHP 
        
mysql_free_result($result);
        
        
//chiudo la connessione a MySQL 
        
mysql_close();
    }
    
    function 
aggiorna_record()
    {
        
//recupero i campi di tipo "stringa"
        
$nome trim($_POST['nome']);
        
$email trim($_POST['email']);
        
$messaggio trim($_POST['messaggio']);
        
        
//verifico se devo eliminare gli slash inseriti in automatico da PHP 
        
if(get_magic_quotes_gpc())
        {
            
$nome stripslashes($nome);
            
$email stripslashes($email);
            
$messaggio stripslashes($messaggio);
        }
        
        
//effettuo l'escape dei caratteri speciali per inserirli all'interno
        
$nome mysql_real_escape_string($nome);
        
$email mysql_real_escape_string($email);
        
$messaggio mysql_real_escape_string($messaggio);
        echo 
$nome;
        
//recupero gli altri campi del form
        
$sesso = isset($_POST['sesso']) ? intval($_POST['sesso']) : 0;
        
$newsletter = isset($_POST['newsletter']) ? 0;
        
$attivita intval($_POST['attivita']);
        
        
$id intval($_GET['id']);
        
        
//verifico la presenza dei campi obbligatori
        
if(!$nome)
        {
            
$messaggio urlencode("Non hai inserito il nome");
            
header("location:$_SERVER['PHP_SELF']?id=$id&msg=$messaggio");
            exit();
        }
        
        
//preparo la query
        
$query "UPDATE utenti SET
                    nome = '
$nome',
                    email = '
$email',
                    sesso = '
$sesso',
                    newsletter = '
$newsletter',
                    attivita = '
$attivita',
                    messaggio = '
$messaggio',
                    WHERE id = '
$id'
                "
;
        
        
//invio la query
        
$result mysql_query($query);
        
        
//controllo l'esito
        
if(!$result)
        {
            die(
"Errore nella query $query: "mysql_error());
        }
        
        
//chiudo la connessione MySQL
        
mysql_close();
        
        
$messaggio urlencode('Aggiornamento effettuato con successo');
        
header("location: $_SERVER['PHP_SELF']?msg=$messaggio");
    }
    
    
//creo la funzione per mostrare i record
    
function mostra_record()
    {
        
//mostro un eventuale messaggio
        
if(isset($_GET['msg']))
            echo 
'[b]'htmlentities($_GET['msg']).'[/b]

'
;
            
        
$id intval($_GET['id']);
        
        
//preparo la query
        
$query "SELECT nome,email,sesso,newsletter,attivita,messaggio FROM utenti WHERE id=$id";
        
        
//invio la query
        
$result mysql_query($query);
        
        
//controllo l'esito
        
if(!$result)
        {
            die(
"Errore nella query $query: "mysql_error());
        }
        
        
//controllo che SELECT abbia restituito un record onde evitare manomissioni
        //dell'id passato via GET
        
if(mysql_num_rows($result) != 1)
        {
            die(
"L'ID passato via GET &egrave; errato!");
        }
        
        list(
$nome,$email,$sesso,$newsletter,$attivita,$messaggio) = mysql_fetch_row($result);
        
        
$nome htmlspecialchars($nome);
        
$email htmlspecialchars($email);
        
$messaggio htmlspecialchars($messaggio);
?>
<form name="form_registrazione" method="post" action="">
    <label>Nome: <input name="nome" type="text" value="<? echo $nome;?>" /></label>

    <label>Email: <input name="email" type="text" value="<? echo $email;?>" /></label>

    Sesso: <label><input name="sesso" type="radio" value="1" <? if($sesso == 1) echo 'checked="checked"'?> />M</label>

    <label><input name="sesso" type="radio" value="2" <? if($sesso ==2) echo 'checked="checked"'?> />F</label>

    <label>Inviami newsletter: <input name="newsletter" typr="checkbox" value="1" <?if($newsletter) echo 'checked="checked"'?> /></label>

    <label>Attivit&agrave;: 
        <select name="attivita">
            <option value="0">::seleziona::</option>
            <option value="1" <? if($attivita == 1) echo 'selected="selected"';?>>Studente</option>
            <option value="2" <? if($attivita == 2) echo 'selected="selected"';?>>Lavoratore</option>
            <option value="3" <? if($attivita == 3) echo 'selected="selected"';?>>Disoccupato</option>
        </select>
    </label>

    <label>Messaggio:

        <textarea name="messaggio" cols="40" rows="5"><? echo $messaggio?></textarea>
    </label></br />
    <input name="invia" type="submit" value="Invia" />
</form>
<?php
    
}
?>
Se posso vi vorrei chiedere un favore, ovvero quello di non modificare troppo la struttura della pagina, e se c'e' qualcosa di sbagliato di farmelo notare. Abbiate pazienza ma sto seguendo un tutorial, e nn vorrei stravolgere il tutto :P
Cmq dei suggerimenti sono piu' che bene accetti, anche come letture (preferibilmente online) o anche consigli di programmazione!

Detto questo ringrazio tutti anticipatamente!!!!