Visualizzazione risultati 1 fino 9 di 9
Like Tree4Likes
  • 1 Post By alemoppo
  • 1 Post By alemoppo
  • 1 Post By alemoppo
  • 1 Post By alemoppo

Discussione: ajax mysql

  1. #1
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Smile ajax mysql

    e' lo so...so matto, ma mi devo imparare...

    sto provando ad inserire in mysql dei dati da form senza ricaricare la pagina,ci sono riuscito, ma ho un

    problema..

    allora: il nome e il cognome me li inserisce bene, invece il file, me lo mette ma senza estensione,

    come mai?

    allego i codici:

    Codice HTML:
    <form >
       
        <p><input type="text" name="nome" id="nome">
        
         <input type="text" name="cognome" id="cognome"><br>
    
      <input  type="file"   name="file"  id="file">
       <input type="button" id="bottone" value="Invia i dati">
    </form>

    Codice:
    <script type="text/javascript">
    
    $(document).ready(function() {
    
    
      $("#bottone").click(function(){
    
        var nome = $("#nome").val();
        var cognome = $("#cognome").val();
        var file = $("#file").val();
     
        $.ajax({
    
       
          type: "POST",
    
    
          url: "/animali/ajax/upload-ajax.php",
    
       
          data: "nome=" + nome + "&cognome=" +  cognome    +    "&file=" + file,
          dataType: "html",
    
        
       
        });
      });
    });
    </script>
    e questa e' il codice per mysql

    Codice PHP:

    <?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    $file_salvato = rand(1, 100000000).'.'.pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);

    $nomefile = ($file_salvato);




    move_uploaded_file($_FILES["file"]["tmp_name"], "animali/ajax/".$file_salvato);




    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $file= $_POST['file'];

    $db_host = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }


    $sql = "INSERT INTO sito_prova( nome , file , cognome ) VALUES ("


    . "'" . $nome. "',"
    . "'" . $nomefile. "',"
    . "'" . $cognome. "');";








    if (!
    $cn->query($sql)) {

    echo
    "Errore della query: " . $cn->error . ".";
    }


    ?>
    in mysql ho, il nome, il cognome, ma il file e' senza estensione, grazie.
    Ultima modifica di noncecapisco : 07-05-2024 alle ore 22.59.33

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

    Predefinito

    Puoi indicare l'URL della pagina?

    Ciao!
    noncecapisco likes this.

  3. #3
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    eccoloooooooooo

    Codice HTML:
    http://noncecapisco.altervista.org/animali/ajax/sito%20ajax.php

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

    Predefinito

    Ho provato ad eseguire la richiesta, viene inviato:
    Codice:
    nome=alemoppo&cognome=cognome&file=C:\fakepath\img_test.png
    Quindi l'estensione c'è.

    Prova a fare un po' di debug: inserisci delle echo per vedere cosa valgono le varie variabili. Intendo ad esempio $_FILES["file"]["name"] etc.

    Ciao!
    noncecapisco likes this.

  5. #5
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    si l'ho visto in mysql eccolo:


    alemoppo
    60978646.
    cognome

    ma perche' dice fakepath?



    il file nella cartella non me lo mette

    ho fatto echo"$nomefile";

    mi stampa questo 15459765. che e' quello che mette in mysql
    Ultima modifica di noncecapisco : 07-05-2024 alle ore 23.25.18

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

    Predefinito

    Non ho mai inviato un file tramite ajax, però non devi inviare semplicemente il nome per parametro POST. Prova questo esempio.

    Ciao!
    noncecapisco likes this.

  7. #7
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    e' da diventa' matto..

    alemoppo ..un 'ultima cosa poi giuro non ti disturbo piu'..

    dato che ho visto che il codice per mettere il nome e il cognome funziona bene, possiamo trovare un modo per far

    madare contaclick tramite ajax con $_POST, ci ho provato tutto il giorno ma non ci sono riuscito..

    es: questo e' i il codice che ho sistemato...:





    Codice:
    <script type="text/javascript">
    
    $(document).ready(function() {
    
     
      $("#bottone").click(function(){
    
      
        var contaclick = $("#contaclik").val();
        
    
    
        $.ajax({
    
         
          type: "POST",
    
     
          url: "/animali/ajax/upload-ajax.php",
    
       
          data: "contaclick=" + contaclick ,
          dataType: "html",
    
        
        });
      });
    });
    </script>
    come faccio per far associare il nome "id bottone" per mandarlo nel upload-ajax.php, tramite ajax con il codice:
    Codice PHP:

    echo "<form name='contaclick'><input type='hidden'name='contaclick' id='bottone'value='".$row['id']."'><input type='image' id='bottone' src='http://noncecapisco.altervista.org/animali/download.png'style='width:28px;height:28px;margin-left:22px;'><div style='margin-left:55px;color:#666666;margin-top:-37px;'>".$row['contaclick']."</div><img src ='".$row["file"]."'style='width:450px;height:auto;margin-left:8px;margin-top:10px;border-radius:15px;'>".PHP_EOL;
    in fondo gli deve arrivare solo il nome...


    e questo e' il tuo codice peri click:

    Codice PHP:

    <?php
    $db_host
    = 'localhost';
    $db_user = 'noncecapisco';
    $db_pass = '';
    $db_name = 'my_noncecapisco';

    $cn = new mysqli($db_host, $db_user, $db_pass, $db_name);

    if (
    $cn->connect_errno) {
    echo
    "Connessione fallita: ". $cn->connect_error . ".";
    exit();
    }

    if(isset(
    $_POST["contaclick"]))
    {

    $sql = 'UPDATE sito_italia SET contaclick = contaclick + 1 WHERE id = '.$_POST["contaclick"];

    if (!
    $cn->query($sql))
    {
    echo
    "Errore della query: " . $cn->error . ".";
    }
    }
    else
    {
    echo
    '$_POST[contaclick] non esiste';
    }
    Ultima modifica di noncecapisco : 08-05-2024 alle ore 00.07.07

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

    Predefinito

    Codice:
    dataType: "html",
    Non credo tu riesca ad inviare un file impostando il formato html. Vedi l'esempio che ti ho indicato prima.
    Per la cronaca, personalmente non ho mai provato ad inviare un file con ajax.


    Ciao!
    noncecapisco likes this.

  9. #9
    noncecapisco non è connesso Utente Blog
    Data registrazione
    16-09-2023
    Messaggi
    387

    Predefinito

    ce' so riuscito.......posso stampare a schermo senza ricaricare la pagina...prova..ah ah

    scrivi solo il nome...

    http://noncecapisco.altervista.org/a...ito%20ajax.php
    Ultima modifica di noncecapisco : 08-05-2024 alle ore 01.41.18

Regole di scrittura

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