Visualizzazione dei risultati da 1 a 2 su 2

Discussione: SCREAM/Undefined index

  1. #1

    SCREAM/Undefined index

    Buonasera, stavo tentando di fare una semplice query a un Database per inserire dati, quando carico da localhost mi viene fuori questo errore:

    SCREAM: Error suppression ignored for

    Notice: Undefined index: nome in C:\wamp\www\Test\index.php on line 20

    dove

    <h1> Contatti </h1>

    <form name="testform" method="post" action="">

    <input name="nome" type="text">
    <input name="cognome" type="text">
    <input type="submit">

    </form>

    <?php

    $db_host = 'localhost';
    $db_user = 'root';
    $db_pass = '';
    $database = 'prova';

    $id_db = mysql_connect($db_host,$db_user,$db_pass)
    or die('Errore di connessione al Database');

    mysql_select_db($database,$id_db)
    or die('Errore di selezione del Database');

    $sql_query = "INSERT INTO contatti (nome,cognome) VALUES ('$_POST[nome]', '$_POST[cognome]')";

    $result = mysql_query($sql_query)
    or die('Errore di inserimento nel Database');

    ?>

    Cos'è "Undefined"?

    Quello che succede è che quando avvio la pagina e mi dà questi errori vengono scritti dei 'nome' e 'cognome' vuoti in tabella, se poi inserisco i dati gli errori spariscono e vengono inseriti.

    Cosa devo modificare? Non mi è mai successo

  2. #2
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Significa che i dati che cerchi di inserire tramite $_POST sono vuoti, questo perchè come viene caricata la pagina, viene fatta eseguire anche la query.

    Dovresti separare il form dall'esecuzione di query in questo modo

    Codice PHP:
    <?php
    if(!empty($_POST["nome"]) && !empty($_POST["nome"])){
    $db_host 'localhost';
    $db_user 'root';
    $db_pass '';
    $database 'prova';

    $id_db mysql_connect($db_host,$db_user,$db_pass
    or die(
    'Errore di connessione al Database');

    mysql_select_db($database,$id_db
    or die(
    'Errore di selezione del Database');    

    $sql_query "INSERT INTO contatti (nome,cognome) VALUES ('$_POST[nome]', '$_POST[cognome]')";

    $result mysql_query($sql_query
    or die(
    'Errore di inserimento nel Database');
    }
    ?>
    Facendo questo passaggio solo se i campi nome e cognome sono pieni, il php fa partire l'inserimento dati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.