Visualizzazione risultati 1 fino 8 di 8

Discussione: errore script php...ma dove?

  1. #1
    L'avatar di sliver
    sliver non è connesso Utente storico
    Data registrazione
    09-03-2001
    Messaggi
    505

    Predefinito errore script php...ma dove?

    ciao a tutti...
    lo script in questione è quello dell'iscrizione a una newsletter del tipo quella di av, in pratica, se qualcuno si iscrive la mail va nel db, iscrizione e cancellazione sono gestite da 2 radiobutton....la pagina è questa:
    newsletter

    il codice php in questione è questo:
    <?
    if (isset($nome)){
    include("config.php");
    $link=mysql_connect("$db_host","$db_login","$db_pa ss")
    or die ("Non riesco a connettermi a <b>$db_host");

    mysql_select_db ($database, $link)
    or die ("Non riesco a selezionare il db $database<br>");
    if(iscriviti=="yes"){
    $dati=" INSERT INTO mail VALUES ('',
    '$nome',
    '$mail')";

    mysql_query ($dati, $link)
    or die ("Non riesco ad inserire i dati");
    Echo "I Dati sono stati archiviati con successo. Grazie.";
    mysql_close ($link);
    echo "<meta http-equiv=refresh content=3;url=$PATH_INFO>";
    }
    if(iscriviti=="no"){

    $dati=" DELETE * FROM mail WHERE 'mail'='$mail'";
    mysql_query ($dati, $link)
    or die ("Non riesco ad cancellare i dati");
    mysql_close ($link);
    echo "<meta http-equiv=refresh content=3;url=$PATH_INFO>";
    }
    }
    ?>


    quello del form è questo...

    <form method=POST action=<? $PATH_INFO ?>>
    </b></td>
    </tr>
    <tr>
    <td width=18%><h3><b>Nome
    </b></h3></td>
    <td width=82%><input type=text name=nome size=20></td>
    </tr>
    <tr>
    <td width=18%><h3><b>Mail</b></h3></td>
    <td width=82%><input type=text name=mail size=20></td>
    </tr>
    <tr>
    <td width=18%><b><input type=submit value=Inserisci nuovi dati></b></td>
    <td width=82%></form></td>
    </tr>
    <tr>
    <td width=18%><b><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td> <label>
    <input type=radio name=iscriviti value="yes" checked>
    iscriviti</label></td>
    <td> <label>
    <input type=radio name=iscriviti value="no">
    cancella</label></td>
    </tr>
    </table>
    </b></td>
    <td width=82%></form>


    il problema è che non funziona...non inserisce i dati nel database e quindi.nemmeno li puo cancellare...
    aru culu

  2. #2
    L'avatar di madbad
    madbad non è connesso AlterVistiano
    Data registrazione
    25-08-2002
    Messaggi
    842

    Predefinito

    lA PAGINA DEL FORM SPUTATA FUORI E' QUESTA
    <form method=POST action=>

    DEVI METTERE
    <form method=POST action=<? ECHO $PATH_INFO ?>>

    se non metti l'echo non stampa la variabile!! :)

  3. #3
    L'avatar di sliver
    sliver non è connesso Utente storico
    Data registrazione
    09-03-2001
    Messaggi
    505

    Predefinito

    :?????:
    è la prima riga di codice del secondo blocco che ho postato che ho postato...quello sul blu per intenderci
    aru culu

  4. #4
    Guest

    Predefinito

    $nome, $mail

    ti conviene passarli come $_POST['$nome']; ect

    magari c'è un prbl di versione php, ed hai i messaggi di warning esclusi..


    $dati=" INSERT INTO mail VALUES ('', '$nome', '$mail')";

    controlla bene la sintassi, non dovresti specificare in quali campi dei inserire questi valori?

    tipo:

    $query = "INSERT INTO `news` (`data`, `testo`, `sign`) VALUES (CURDATE(), '$testo', '$firma')";

    (esempio dal mioo script)

    beh vedi e fammi sapere!!

  5. #5
    L'avatar di madbad
    madbad non è connesso AlterVistiano
    Data registrazione
    25-08-2002
    Messaggi
    842

    Predefinito

    Citazione Originalmente inviato da sliver
    :?????:
    è la prima riga di codice del secondo blocco che ho postato che ho postato...quello sul blu per intenderci
    Si devi rimpiazzarla con

    Codice:
    <form method=POST action=<? ECHO $PATH_INFO; ?>>
    Il primo blocco a dire ilvero non l'ho neanche guardato perchè ho visto subito questo errore.

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    ECHO fa molto DOS :grin:

    perché non semplicemente e più canonicamente:
    <form method=POST action=<?= $PATH_INFO ?>>

    Il segno uguale <?= indica che il valore (o espressione) va semplicemente in output e non devi neanche mettere il ; finale.

    Comunque è vero, è da correggere.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    thx heracleum non sapevo di questa scorciatoia!

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Sì è una forma tipica di tutti gli script di documenti dinamici (ASP, JSP, PHP, ..) tutti con l'uguale = dopo l'apertura dei loro tag, solo per restituire il valore di una espressione o variabile.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

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