![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
Data di registrazione: Aug 2006
Ubicazione: Riccione
Messaggi: 184
|
Sto imparando il php
Buonasera Sto realizzando il backend di un sito ho questo codice php che è di un area privata e serve per inserire solo il titolo della news, esce un errore del genere
Codice:
Parse error: syntax error, unexpected T_ELSEIF in /var/www/italydelight/insert.php on line 31 Codice:
<?php
include ("conf.inc.php");
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['user']))
{
?>
<!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" xml:lang="en" lang="en">
<head>
<title>Nuova News</title>
</head>
<body>
<form action="<?php echo $PHP_SELF; ?> method="post" >
<h3>Inserisci il titolo </h3>
<input type="text" name="titolo" >
<br />
<input type="submit" value="invia" >
</form>
<?php
if(!empty($_POST['titolo']))
{
$titolo = mysql_real_escape_string($_POST['titolo']);
$insert_title="INSERT INTO temp_news (titolo) VALUES ('$titolo')";
$insert = mysql_query($insert_title);
if($insert)
{
echo "Titolo Inserito ";
echo "<a href=\"insert-time.php\">Tempistica</a>";
}else
{
echo "Inserimento non riuscito<a href\"insert.php\">Riprova<\a>";
}else
{
echo "inserisci il titolo";
}
}
}
else{
echo "<meta http-equiv='refresh' content='=2;login.php' />";
}
?>
</body>
</html>
Saluti ![]() |
|
__________________
Vincere Ai Giochi e Concorsi a Premio? |
|
|
|
|
|
|
|
|
#3 (permalink) |
|
Data di registrazione: Aug 2006
Ubicazione: Riccione
Messaggi: 184
|
Allora la mia logica era :
se la sessione loggedin e la sessione user non sono vuote restituisci il form per inserimento news. Se il campo form titolo non è vuoto filtra e inserisci nel database. Se la query è andata a buon fine mostra prossimo step altrimenti riprova. L'errore me lo da in questo momento dove io vorrei dare l'alternativa a se il campo form è vuoto e l'else secondo dovrebbe essere la continuazione se le sessioni loggedin e user sono vuote. |
|
__________________
Vincere Ai Giochi e Concorsi a Premio? |
|
|
|
|
|
|
#4 (permalink) |
|
ModSenior
|
Ciao Mas245,
Hai messo 2 else, quindi la sintassi è errata, prova ad aggiungere l'elseif invece dell'else. Codice PHP:
|
|
|
|
|
|
#5 (permalink) |
|
Data di registrazione: Aug 2006
Ubicazione: Riccione
Messaggi: 184
|
Grazie Thedarkita ho seguito il tuo consiglio ed ho modificato così
Codice:
if(!empty($_POST['titolo']))
{
$titolo = mysql_real_escape_string($_POST['titolo']);
$insert_title="INSERT INTO temp_news (titolo) VALUES ('$titolo')";
$insert = mysql_query($insert_title);
if($insert)
{
echo "Titolo Inserito ";
echo "<a href=\"insert-time.php\">Tempistica</a>";
}elseif($insert){
echo "Inserimento non riuscito<a href\"insert.php\">Riprova<\a>";
}
else{
echo "inserisci il titolo";
}
}
}
else{
echo "<meta http-equiv='refresh' content='=2;login.php' />";
}
?>
se invece và a buon fine esce titolo inserito ma fa vedere ancora il form di inserimento. Come posso ovviare a questo? |
|
__________________
Vincere Ai Giochi e Concorsi a Premio? |
|
|
|
|
|
|
#6 (permalink) |
|
User
|
if(!empty($_POST['titolo']))
{ $titolo = mysql_real_escape_string($_POST['titolo']); $insert_title="INSERT INTO temp_news (titolo) VALUES ('$titolo')"; $insert = mysql_query($insert_title); if($insert) { echo "Titolo Inserito "; echo "<a href=\"insert-time.php\">Tempistica</a>"; }else{ echo "Inserimento non riuscito<a href\"insert.php\">Riprova<\a>"; } } else{ echo "inserisci il titolo"; } } |
|
|
|
|
|
#7 (permalink) |
|
Data di registrazione: Aug 2006
Ubicazione: Riccione
Messaggi: 184
|
Grazie Dreamer far eliminare il form una volta andato a buon fine l'inserimento come posso fare?
|
|
__________________
Vincere Ai Giochi e Concorsi a Premio? |
|
|
|
|
|
|
#8 (permalink) |
|
User
|
Innanzitutto devi controllare se dal form viene premuto il bottone submit per poi passare agli altri controlli:
1 - if (isset($_POST['submit'])) // controllo se premo bottone invia 2 - if ((!$_POST['titolo']) || ($_POST['titolo'] == "")) // controllo che sia inserito un titolo if (isset($_POST['submit'])) { if ((!$_POST['titolo']) || ($_POST['titolo'] == "")) { echo "E' obbligatorio scrivere il titolo (con un link INDIETRO)"; } else { $titolo = mysql_real_escape_string($_POST['titolo']); $insert_title="INSERT INTO temp_news (titolo) VALUES ('$titolo')"; $insert = mysql_query($insert_title); if ($insert) { echo "Titolo Inserito "; echo "<a href=\"insert-time.php\">Tempistica</a>"; } else { echo "Inserimento non riuscito<a href\"insert.php\">Riprova<\a>"; } } } else { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?> method="post" > <h3>Inserisci il titolo </h3> <input type="text" name="titolo" > <br /> <input type="submit" value="invia" > </form> <?php } ?> |
|
|
|
|
|
#9 (permalink) |
|
Data di registrazione: Aug 2006
Ubicazione: Riccione
Messaggi: 184
|
Grazie mikslap il tuo codice restituisce quest'errore
Codice:
Parse error: syntax error, unexpected $end in /var/www/insert.php on line 48 |
|
__________________
Vincere Ai Giochi e Concorsi a Premio? |
|
|
|
|
|
|
#10 (permalink) | |
|
User
|
Quote:
Spero che in quel config.inc.php ci sia il necessario per la connessione perchè ti garantisco funziona alla perfezione | |
|
|
|
|
|
#11 (permalink) |
|
Data di registrazione: Aug 2006
Ubicazione: Riccione
Messaggi: 184
|
mancava una graffa ma ll'inizio avevo messo le sessioni per area privata
grazie di nuovo. |
|
__________________
Vincere Ai Giochi e Concorsi a Premio? |
|
|
|
|