Visualizzazione risultati 1 fino 7 di 7

Discussione: Variabili e passaggio [PHP]

  1. #1
    Guest

    Predefinito Variabili e passaggio [PHP]

    Salve a tutti programmatori. Io sono un programmatore come voi, ma non riesco ad individuare il mio errore. Allora, io ho questa pagina chiamata "segnalazioni.php"

    Codice PHP:
    <form method="POST">

    <select name="motivo">

    <option style="font-family: verdana;">Insulta me o altre persone</option>

    <option style="font-family: verdana;">Insulta religioni o nazioni diverse</option>

    <option style="font-family: verdana;">Comportamento poco rispettoso</option><option

    </select>

    </form>

    <input class="delete" id="del<?php echo $id_user; ?>" type='button' onclick="seg<?php echo $id_user; ?>(); return false;" name="inviad" value='Invia segnalazione'>

    <?php

    $motivo
    = addslashes($_POST['motivo']);

    ?>

    <script>

    function seg<? echo $id_user; ?>(){

    $.ajax({

    type: "POST",

    url: "/query/segnalazioni/segnala.php?segnala=<?php echo $id_user; ?>&motivo=<?php echo $motivo; ?>",

    </script>

    e questa pagina chiamata /query/segnalazioni/segnala.php

    Codice PHP:

    <?php

    mysql_connect
    ('localhost','root','');

    mysql_select_db('utenti');

    $id_user = addslashes($_GET['segnala']);

    $motivo = addslashes($_GET['motivo']);

    mysql_query("INSERT INTO segnala (post, motivo) VALUES ('$id_user','$motivo')") or die(mysql_error());
    il problema è questo: quando clicco sul tasto "invia segnalazione", mi esegue la query, ma il motivo della segnalazione non me lo inserisce. Facciamo finta che sto segnalando la news numero 3. Segnalo la news, ma nel database viene inserito solo il numero della news segnalata e il motivo no. Come mai? Dove sto sbagliando? Quando eseguo la query non ritorna nessun errore. Però, se vado nell url query/segnalazioni/segnala.php?segnala=11&motivo=nonsaprei mi inserisce "nonsaprei" come motivo della segnalazione, ma perché se eseguo la query non lo fa? Grazie mille.

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

    Predefinito

    Perché il testo devi specificarlo nel value delle option.

    Ciao!

  3. #3
    Guest

    Predefinito

    Ciao @alemoppo, ho provato a scrivere il testo nel value delle option, ma niente da fare.

  4. #4
    Guest

    Predefinito

    Codice PHP:
    <select name="motivo">

    <
    option style="font-family: verdana;">Insulta me o altre persone</option>

    <
    option style="font-family: verdana;">Insulta religioni o nazioni diverse</option>

    <
    option style="font-family: verdana;">Comportamento poco rispettoso</option><option

    </select>
    in questa parte come fai a distinguere se il risultato è il primo il secondo o il terzo?
    mi spiego se non imposti il select così:
    Codice PHP:
    <select name="motivo">

    <
    option style="font-family: verdana;" value='1'>Insulta me o altre persone</option>

    <
    option style="font-family: verdana;" value='2'>Insulta religioni o nazioni diverse</option>

    <
    option style="font-family: verdana;" value='3'>Comportamento poco rispettoso</option><option

    </select>
    il programma non può sapere quale opzione è stata selezionata e quindi non può salvare il motivo nel database.

  5. #5
    Guest

    Predefinito

    Niente da fare. Ho lasciato anche un solo <option> all'interno del select, ma niente

  6. #6
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    Ho creato un piccolo DEMO

    che in modo molto semplificato legge il valore del SELECT OPTION e lo invia ad un file PHP , il quale controlla il dato e restituisce una risposta (chiaramente nel mio esempio non legge il dato dal DB poiche' non serve per questo piccolo demo)
    Codice HTML:
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
    function loadXMLDoc()
    {
    var motivo = $("#motivo").val();
    var xmlhttp;
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("risposta").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","provaform.php?Motivo="+motivo,true); 
    xmlhttp.send();    
    }
    </script>  
    </head>
    <body>
    <select id="motivo">
    
    <option style="font-family: verdana;">Insulta me o altre persone</option>
    
    <option style="font-family: verdana;">Insulta religioni o nazioni diverse</option>
    
    <option style="font-family: verdana;">Comportamento poco rispettoso</option>
    
    </select> 
    
    <button onclick="loadXMLDoc()">INVIA</button>
    
    <div id="risposta"></div>
    </body>
    </html>
    Codice PHP:
    <?php

    $motivo
    = $_GET['Motivo'];

    switch(
    $motivo){
    case
    "Insulta me o altre persone":
    $risposta = "risposta1";
    break;
    case
    "Insulta religioni o nazioni diverse":
    $risposta = "risposta2";
    break;
    case
    "Comportamento poco rispettoso":
    $risposta = "risposta3";
    break;
    }

    echo
    "motivazione:".$motivo;
    echo
    "risposta:".$risposta;

    ?>

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

    Predefinito

    Il method del form è POST. Per prendere i dati da PHP utilizzi $_POST[] o $_GET[] ?

    Ciao!

Regole di scrittura

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