Errore di sintassi

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Ragazzuoli sto impazzendo...... Ho questo codice

PHP:
<?php 

session_start();

if(!isset($_SESSION['q']) || $_SESSION['q'] != $_POST['accesso']){

    echo 'Errore: la sessione non esiste o hai tentato l\'accesso diretto a questa pagina.';
	echo '<br />Stai per essere reindirizzato automaticamente';
	echo "<meta http-equiv='Refresh' content='5; URL= ../../index.php'>";
    exit; 
	
}else{
	unset($_SESSION['p']);
	$_SESSION['r'] = sha1(uniqid(mt_rand()));
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Login - <?php echo $_SERVER['SERVER_NAME']; ?></title>
	<meta name="viewport" content="width=device-width,initial-scale=1.0">
	<link href="../../css/style.css" rel="stylesheet">
</head>

<body>
	
	<div class="wrapper">
		<div id="main" style="padding:50px 0 0 0;">
		
		<!-- Form -->
		<form id="contact-form" action="step3.php" method="post">
<?php 
if(isset($_POST['submit'])){
	echo "premuto invio";
}//chiusura del "se è stato premuto invio"
}//chiusura dell'else se ho le sessioni corrette
?>
				<!-- campo nascosto da trasmettere a 3.php per rimanere nella sessione -->
				<input name="accesso" type="hidden" value="<?php echo $_SESSION['r'];?>">
				<button name="submit" type="submit" id="contact-submit">Vai allo step successivo >></button>
			</form>
		</div>
	</div>
</body>
</html>

Credo sia corretto..... ho tentato di tutto ma continua a uscirmi
Codice:
Parse error: syntax error, unexpected end of file in /home/u770959462/public_html/login/php/registrazione/step2.php on line 1

E non so il perchè. Eppure alla linea 1 c'è solo il tag di apertura del php.Ho anche provato a cambiare versioni di php sia la 5.2 che la 5.3 che la 5.4 danno tutte lo stesso errore ma non riesco ad individuarlo. Il form che invia i dati è questo:

PHP:
<?php 

session_start();

if(!isset($_SESSION['p']) || $_SESSION['p'] != $_POST['accesso']){

    echo 'Errore: la sessione non esiste o hai tentato l\'accesso diretto a questa pagina.';
	echo '<br />Stai per essere reindirizzato automaticamente';
	echo "<meta http-equiv='Refresh' content='5; URL= ../../index.php'>";
    exit; 
	
}else{

unset($_SESSION['p']);

$_SESSION['q'] = sha1(uniqid(mt_rand()));

?>

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Login - <?php echo $_SERVER['SERVER_NAME']; ?></title>
	<meta name="viewport" content="width=device-width,initial-scale=1.0">
	<link href="../../css/style.css" rel="stylesheet">
</head>

<body>
	
	<div class="wrapper">
		<div id="main" style="padding:50px 0 0 0;">
		
		<!-- Form -->
		<form id="contact-form" action="step2.php" method="post">
			<h3>Step 1:</h3>
			<h4>Connessione al Database</h4>
			<div>
				<label>
					<span>Indirizzo del db:</span>
					<input id="host" name="host" type="text" placeholder="In genere è localhost" autofocus required>
				</label>
			</div>
			<div>
				<label>
					<span>Username:</span>
					<input id="db_user" name="db_user" type="text" placeholder="Inserisci l'username" autofocus required>
				</label>
			</div>			
			<div>
				<label>
					<span>Password:</span>
					<input id="db_psw" name="db_psw" type="password" placeholder="Inserisci la password" required>
				</label>
			</div>
			<div>
				<label>
					<span>Nome del database:</span>
					<input id="db_name" name="db_name" type="text" placeholder="Inserisci il nome del tuo database" autofocus required>
				</label>
			</div>
			<div>
				<label>
					<span>Processa il database esistente:</span>
					<label for="elisa">Salvalo</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="linea" value="1" checked="checked" >
					<br />
					<label for="elisa">Eliminalo</label>&nbsp;<input type="radio" name="linea" value="2" >
					<br />
				</label>
			</div>
			<div>
			<br />
				<input name="accesso" type="hidden" value="<?php echo $_SESSION['q'];?>">
				<button name="submit" type="submit" id="contact-submit">Prosegui >></button>
				<button type="reset" >Resetta</button>
			</div>
		</form>
		</div>
	</div>
	<script src="js/scripts.js"></script>
</body>
</html>


<?php 
}
?>
 
ciao
provato il tuo script, ma non da alcun errore
PHP:
<?php 
session_start();
$_SESSION['q']="aa";//per evitare di fare il form
$_POST['accesso']=$_SESSION['q'];//provato anche a commetare per entrare nell'if
if(!isset($_SESSION['q']) || $_SESSION['q'] != $_POST['accesso']){

    echo 'Errore: la sessione non esiste o hai tentato l\'accesso diretto a questa pagina.';
    echo '<br />Stai per essere reindirizzato automaticamente';
    //echo "<meta http-equiv='Refresh' content='5; URL= ../../index.php'>";
    //exit; 
    
}else{
    unset($_SESSION['p']);
    $_SESSION['r'] = sha1(uniqid(mt_rand()));
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Login - <?php echo $_SERVER['SERVER_NAME']; ?></title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link href="../../css/style.css" rel="stylesheet">
</head>

<body>
    
    <div class="wrapper">
        <div id="main" style="padding:50px 0 0 0;">
        
        <!-- Form -->
        <form id="contact-form" action="step3.php" method="post">
<?php 
	if(isset($_POST['submit'])){
    	echo "premuto invio";
	}//chiusura del "se è stato premuto invio"
}//chiusura dell'else se ho le sessioni corrette
?>
                <!-- campo nascosto da trasmettere a 3.php per rimanere nella sessione -->
                <input name="accesso" type="hidden" value="<?php echo $_SESSION['r'];?>">
                <button name="submit" type="submit" id="contact-submit">Vai allo step successivo >></button>
            </form>
        </div>
    </div>
</body>
</html>
 
Provato anch'io e non mi compare nessun errore, e anche l'ide non segnala niente (php 5.4)
 
Provato anch'io e non mi compare nessun errore, e anche l'ide non segnala niente (php 5.4)

Ma come è possibile'??

A me continua a darlo, che sia un problema di host?Ho provato su più host gratuiti ma fa la stessa cosa.

Guardate
http://manutest.webuda.com/Main/php/registrazione/step2.php

EDIT: non è che è un problema di notepad++ o di filezilla? Non ho mai avuto problemi di questo genere tuttavia aprendo adesso un file php mi sono reso conto che le accentate sono diventate così //se 衳tato premuto invio
 
Ultima modifica:
Ma come è possibile'??

A me continua a darlo, che sia un problema di host?Ho provato su più host gratuiti ma fa la stessa cosa.
Includi la pagina da qualche parte? Hai ricontrollato a modo, magari provando la pagina singolarmente? Potrebbe essere qualcosa prima anche
 
Includi la pagina da qualche parte? Hai ricontrollato a modo, magari provando la pagina singolarmente? Potrebbe essere qualcosa prima anche

La pagina è singola. E' uno step di una serie di pagine. L'unico legame sono le sessioni e quelle funzionano. Come ho scritto su (non l'hai letto forse perchè mentre editavo scrivevi), potrebbe essere un problema di pc, spero. Provo a rimuovere e pulire sia notepad++ che filezilla. Avete qualche impostazione da consigliarmi? Personalmente in filezilla non tocco nulla tranne che l'opzione per non far "addormentare" la connessione (lasciandola sempre attiva). Adesso provo- speriamo che il problema sia questo perchè altrimenti non vedo quale possa essere
 
ciao
ho cliccato sul link e in effetti da errore.
però cliccando cosi sul link è un accesso diretto quindi sembrerebbe che l'errore si annidi nelle prime righe, in teoria la parte dell'else non dovrebbe entrarci
PHP:
<?php 

session_start();

if(!isset($_SESSION['q']) || $_SESSION['q'] != $_POST['accesso']){

    echo 'Errore: la sessione non esiste o hai tentato l\'accesso diretto a questa pagina.';
    echo '<br />Stai per essere reindirizzato automaticamente';
    echo "<meta http-equiv='Refresh' content='5; URL= ../../index.php'>";
    exit; 
    
}else{

l'unica cosa che vedo, ma non credo che sia quello, è che mescoli apici singoli e doppi, prova a modificare (e togli anchetutte le interlinee)
PHP:
<?php 
session_start();
if(!isset($_SESSION['q']) || $_SESSION['q'] != $_POST['accesso']){
    echo "Errore: la sessione non esiste o hai tentato l'accesso diretto a questa pagina.";
    echo "<br />Stai per essere reindirizzato automaticamente";
    echo "<meta http-equiv='Refresh' content='5; URL= ../../index.php'>";
    exit; 
}else{
 
aggiungerei oltre a quello che dice borgo un var_dump() all'inizio cosi per essere sicuro di aver a che fare con quella pagina e contemporaneamente verificare le sessioni
PHP:
session_start();
var_dump($_SESSION);
if(!isset($_SESSION['q']) || $_SESSION['q'] != $_POST['accesso']){
 
aggiungerei oltre a quello che dice borgo un var_dump() all'inizio cosi per essere sicuro di aver a che fare con quella pagina e contemporaneamente verificare le sessioni
PHP:
session_start();
var_dump($_SESSION);
if(!isset($_SESSION['q']) || $_SESSION['q'] != $_POST['accesso']){

Nulla di fatto. Mi ha dato sempre quell'errore con quel file.
Ho disinstallato filezilla e notepad++ con un disinstallatore e pulito tutti i file che avevano lasciato. Ho rimosso le associazioni dal registro di sistema. Ho riavviato, reinstallato sia n++ che filezilla avendo cura di scegliere il trasferimento passivo. Ho riscritto (senza copia/incolla) queste poche righe di pagina e pare funzioni. Non so il perchè ........ sicuramente correggerò gli apici. le sessioni funzionano correttamente. Forse era filezilla che corrompeva il file durante l'upload possibile?
Voi cosa utilizzate per l'ftp? Avete qualche impostazione particolare se usate filezilla? L'opzione per impedire che la connessione si "addormenti" avrebbe potuto provocare questa "corruzione"?

Mha....cose strane accadono sotto questo cielo ^_^ il mio timore è che andando avanti possa ripresentarsi il problema. Comunque come ho scritto su ad un certo punto tutte le parole accentate mi venivano viste con dei caratteri strani..... bho non credo di essere infetto.

EDIT: ho rimosso l'else. xD era inutile non ci avevo fatto caso.

EDIT: continua a funzionare tutto. Ho fatto i vari vardump per un debug e tutto combacia. Ho aggiustato i singoli e doppi apici. Mha...
 
Ultima modifica:
ciao
uso filezilla però non ci ho fatto nulla: scaricato e installato così come è (e per ora non ho avuto problemi), ormai sono diversi anni che lo uso (non ho mai scaricato gli aggiornamenti).
per i caratteri strani dipende dal set di caratteri, io nonostante l' UTF-8 sia il preferito, uso l' ISO-8859-1
mentre l' utf-8 mi ha dato problemi con l'iso, le usuali parole accentate, non mi hanno mai dato ptoblema
 
ciao
uso filezilla però non ci ho fatto nulla: scaricato e installato così come è (e per ora non ho avuto problemi), ormai sono diversi anni che lo uso (non ho mai scaricato gli aggiornamenti).
per i caratteri strani dipende dal set di caratteri, io nonostante l' UTF-8 sia il preferito, uso l' ISO-8859-1
mentre l' utf-8 mi ha dato problemi con l'iso, le usuali parole accentate, non mi hanno mai dato ptoblema

Mah nemmeno a me ha mai dato problemi è la prima volta. comunque adesso funziona tutto correttamente. Bho...... si sarà corrotto quel file con l'upload... va a sapere. Eppure graficamente era tutto perfetto mha.:faraone:
 

Discussioni simili