Visualizzazione risultati 1 fino 7 di 7

Discussione: [PHP] problema con l'echo

  1. #1
    Guest

    Predefinito [PHP] problema con l'echo

    Non riesco a far funzionare questo script, cioè se non sono loggato da admin esce "non sei un admin", ed è giusto, però se sono loggato non esce la scritta "form".
    Come risolvo???

    Codice PHP:
    <?php

    //includiamo il file di configurazione

    @include "config.php";
    session_start();


    if(!isset(
    $_SESSION['login']))
    {
    echo
    "Non sei admin";
    }
    else
    {

    if(isset(
    $_POST['submit'])){
    if(isset(
    $_POST['autore'])){
    $autore = addslashes($_POST['autore']);
    }
    if(isset(
    $_POST['titolo'])){
    $titolo = addslashes($_POST['titolo']);
    }
    if(isset(
    $_POST['articolo'])){
    $articolo = addslashes($_POST['articolo']);
    }

    // popoliamo i campi della tabella articoli con i dati ricevuti dal form
    $sql = "INSERT INTO articoli (art_autore, art_titolo, art_articolo, art_data) VALUES ('$autore', '$titolo', '$articolo', now())";

    // se l'inserimento ha avuto successo inviamo una notifica
    if (@mysql_query($sql) or die (mysql_error())){
    echo
    "Articolo inserito con successo.";
    }

    else
    {
    echo
    "form";


    }


    }
    }

    ?>

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,566

    Predefinito

    Se indenti correttamente, si capisce il problema.

    Codice PHP:
    <?php

    //includiamo il file di configurazione

    @include "config.php";
    session_start();

    if(!isset(
    $_SESSION['login']))
    {
    echo
    "Non sei admin";
    }
    else
    {
    if(isset(
    $_POST['submit']))
    {
    if(isset(
    $_POST['autore'])) {
    $autore = addslashes($_POST['autore']);
    }
    if(isset(
    $_POST['titolo'])){
    $titolo = addslashes($_POST['titolo']);
    }
    if(isset(
    $_POST['articolo'])){
    $articolo = addslashes($_POST['articolo']);
    }

    // popoliamo i campi della tabella articoli con i dati ricevuti dal form
    $sql = "INSERT INTO articoli (art_autore, art_titolo, art_articolo, art_data) VALUES ('$autore', '$titolo', '$articolo', now())";

    // se l'inserimento ha avuto successo inviamo una notifica
    if (@mysql_query($sql) or die (mysql_error())){
    echo
    "Articolo inserito con successo.";
    }
    else
    {
    echo
    "form";
    }
    }
    }
    ?>
    form lo scrive soltanto se fallisce la query (ma non lo scirverà comunque, perché eseguirà die(mysql_query())...

    Ciao!

  3. #3
    Guest

    Predefinito

    Il mio else doveva servire a se non ha postato if(isset($_POST['submit'])), come faccio ad aggiustarlo?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,566

    Predefinito

    appunto, quindi dovrai fare:

    Codice PHP:
    <?php

    //includiamo il file di configurazione

    @include "config.php";
    session_start();

    if(!isset(
    $_SESSION['login']))
    {
    echo
    "Non sei admin";
    }
    else
    {
    if(isset(
    $_POST['submit']))
    {
    if(isset(
    $_POST['autore']))
    {
    $autore = addslashes($_POST['autore']);
    }
    if(isset(
    $_POST['titolo'])){
    $titolo = addslashes($_POST['titolo']);
    }
    if(isset(
    $_POST['articolo'])){
    $articolo = addslashes($_POST['articolo']);
    }

    // popoliamo i campi della tabella articoli con i dati ricevuti dal form
    $sql = "INSERT INTO articoli (art_autore, art_titolo, art_articolo, art_data) VALUES ('$autore', '$titolo', '$articolo', now())";

    // se l'inserimento ha avuto successo inviamo una notifica
    if (@mysql_query($sql) or die (mysql_error())){
    echo
    "Articolo inserito con successo.";
    }
    }
    else
    {
    echo
    "form";
    }
    }
    ?>
    no?

    Ciao!

  5. #5
    Guest

    Predefinito

    grazie, sono nuovo del php e non sapevo che l'indentazione facesse la differenza, grazie.

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,566

    Predefinito

    L'indentazione NON FA la differenza, ma le parentesi graffe sì
    L'indentazione serve soltanto per capire... e leggere meglio.

    Ciao!

  7. #7
    Guest

    Predefinito

    ah ho visto ora l'altra parentesi, grazie ancora

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •