Pagina 3 di 4 PrimoPrimo 1234 UltimoUltimo
Visualizzazione risultati 61 fino 90 di 104

Discussione: inserire foto in mysql

  1. #61
    Guest

    Predefinito

    Citazione Originalmente inviato da seprova Visualizza messaggio
    allora ricapitoliamo se devo inserire 10 immagini nel database devo inserire 10 volte il campo file?
    giusto?
    Esatto. Ma non è la via corretta e neppure la migliore.
    E se poi saranno 11? che fai ri-modifichi il DB?
    La via corretta è quella di usare due tabelle con relazione uno-a-molti con gli articoli lato uno e le immagini lato molti.

  2. #62
    Guest

    Predefinito

    devo creare un altra tabella solo con le immagini?
    come posso fare

  3. #63
    Guest

    Predefinito

    cmq per adesso mi servirebbe solo per max 10 immagini. più in la vedremo come fare quest'altro. voglio imparare prima questo. la prego di aiutarmi su internet gli appunti che ci sono non si capisce niente.solo da lei riesco a capire

  4. #64
    Guest

    Predefinito

    Citazione Originalmente inviato da seprova Visualizza messaggio
    cmq per adesso mi servirebbe solo per max 10 immagini. più in la vedremo come fare quest'altro. voglio imparare prima questo. la prego di aiutarmi su internet gli appunti che ci sono non si capisce niente.solo da lei riesco a capire
    In questo caso aggiungi alla tabella altri 9 campi (file2, file3, ecc...).

    e modifichi lo script di inserimento nella sola parte dell'upload in modo che venga reiterato per il numero di file inviati.

    In realtà le guide presenti su internet al riguardo sono di livello comprensibilissimo. Certamente è più facile e comodo fare copia e incolla di codice già impostato per lo scopo. E stai sicuro che non ti aiuta. E ancora una volta mi confermi che non stai apprendendo.
    Ultima modifica di vplaza : 13-05-2015 alle ore 13.20.43

  5. #65
    Guest

    Predefinito

    la tabella verra cosi'
    scrivo solo i file.
    Codice:
    file1 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file2 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file3 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file4 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file5 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file6 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file7 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file8 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file9 varchar(200) NOT NULL DEFAULT 'noimage.jpg,
    file10 varchar(200) NOT NULL DEFAULT 'noimage.jpg
    PRIMARY KEY(id)
    );
    ho scritto solo la parte finale
    Ultima modifica di karl94 : 13-05-2015 alle ore 17.12.26 Motivo: Formattazione del codice

  6. #66
    Guest

    Predefinito

    si va bene.

    Occhio che devi chiudere l'apice su ogni noimage.jpg subito prima della virgola.

  7. #67
    Guest

    Predefinito

    si certo. forse ci sono riuscito pero c'e' un problema quando inserisco 1 immagine me ne li inserisce automaticamente 10 tutte uguali e sulla cartella uploads non ci sono le immagini ma un file in codice
    Ultima modifica di seprova : 13-05-2015 alle ore 17.37.36

  8. #68
    Guest

    Predefinito

    Probabile che hai scritto in tutti i campi lo stesso valore, oppure ne leggi solo uno e lo riporti 10 volte.

  9. #69
    Guest

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Probabile che hai scritto in tutti i campi lo stesso valore, oppure ne leggi solo uno e lo riporti 10 volte.
    ti faccio vedere il codice

  10. #70
    Guest

    Predefinito

    codice inserisci.php
    Codice PHP:
    <?php
    $con
    = @new mysqli("localhost", "sperimento", "", "my_sperimento");

    if (
    $con->connect_errno){
    echo
    "Non riesco a connetermi a MYSQL: " .$con->connect_error;
    exit();
    }

    $titolo = $con->real_escape_string($_POST['titolo']);
    $corpo_testo = $con->real_escape_string($_POST['corpo_testo']);
    $now = date('Y-m-d H:i:s');

    if(!
    $titolo) {
    echo
    "<p>Non è stato inserito il TITOLO.<br>Non è possibile proseguire.</p>";
    echo
    "<a href=\"datinews.htm\">Indietro</a>";
    exit();
    }

    if(!
    $corpo_testo) {
    echo
    "<p>Non è stato inserito il CORPO DELL'ARTICOLO.<br>Non è possibile proseguire.</p>";
    echo
    "<a href=\"datinews.htm\">Indietro</a>";
    exit();
    }

    $sql = "INSERT INTO dottore (data, titolo, corpo_testo) VALUES ('{$now}', '{$titolo}', '{$corpo_testo}')";

    if ( !
    $con->query($sql) ){
    echo
    "<p>Non è stato possibile inserire l'articolo a causa di un errore.</p>";
    echo
    "<p>" . $con->error . "</p>";
    exit();
    }else{
    $last_id = $con->insert_id;
    }

    $target_dir = "uploads/";

    for(
    $i = 1; $i<11; $i++){

    $target_file = $target_dir . $last_id . "_" . basename( $_FILES['immagine'.$i]['name'] );
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);

    if(
    file_exists($target_file) ) {
    echo
    "Spiacente, il file esiste già.";
    $uploadOk=0;
    }

    if(
    $_FILES["immagine".$i]["size"] > 1000000) {
    echo
    "Spiacente, il file è troppo grande.";
    $uploadOk=0;
    }

    if (
    $_FILES["immagine".$i]["size"] >0) {
    if (
    $imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif"){
    echo
    "Spiacente,sono permessi solo file JPG, JPEG, PNG E GIF.";
    $uploadOk=0;
    }
    }

    }


    if (
    $uploadOk ==0){

    $sql="DELETE FROM news WHERE id= " . $last_id;
    $con->query($sql);
    echo
    "<p>Il file non è stato caricato</p>";
    echo
    "<a href=\"visualizzo.html\">Indietro</a>";


    }else{


    for(
    $i = 1; $i<11; $i++){

    if (
    $_FILES["immagine".$i]["size"] >0){

    if(
    move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    $con->query($sql);
    }

    }

    }

    echo
    "<p>Articolo inserito correttamente.</p>";
    echo
    "<a href=\"visualizzo.php\">Vedi elenco</a>";

    }

    $con->close();
    ?>

  11. #71
    Guest

    Predefinito

    pagina visualizza.php
    Codice PHP:
    <?php
    $con
    = new mysqli("localhost", "sperimento", "", "my_sperimento");
    $sql = ( "SELECT * FROM news" );
    $risultati = $con->query( $sql );
    echo
    "<h1>Benvenuti </h1>";
    while(
    $row = $risultati->fetch_array( MYSQLI_ASSOC)) {
    echo
    "<center><p>{$row['titolo']}</center></p>";
    echo
    "<p>". nl2br($row['corpo_testo']) . "</p>";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file1']}\" alt=\"{$row['file1']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file2']}\" alt=\"{$row['file2']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file3']}\" alt=\"{$row['file3']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file4']}\" alt=\"{$row['file4']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file5']}\" alt=\"{$row['file5']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file6']}\" alt=\"{$row['file6']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file7']}\" alt=\"{$row['file7']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file8']}\" alt=\"{$row['file8']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file9']}\" alt=\"{$row['file9']}\" /><br />";
    echo
    "<img src=\"uploads/{$row['id']}_{$row['file10']}\" alt=\"{$row['file10']}\" /><br />";
    echo
    "<hr />";
    }
    $risultati->free();
    $con->close();
    ?>

  12. #72
    Guest

    Predefinito

    Scusa perchè DUE cicli for?

  13. #73
    Guest

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Scusa perchè DUE cicli for?
    per l'inserimento delle immagini. dove ho sbagliato?
    Ultima modifica di seprova : 13-05-2015 alle ore 17.58.21

  14. #74
    Guest

    Predefinito

    inserisco 1 immagine e me la mette anche per le atre 9 uguale
    poi ho visto che nella uploads non ci sono piu' le immagini ma dei file se apro ci sono dei codici.ti faccio vedere(sembra tipo criptato)
    ‰PNG
    IHDR   M§n sRGB ®Îé gAMA ± üa ÿºIDATx^¬ýxdIv߉žD"‘HxÊÛ6UÕÕÞ»q=Ë!‡vDJ¢Dî“ô¾Of ÅOï}»OÚ^iõÞ¾]‘2+iW»+‘")‘œš
    ecc...

  15. #75
    Guest

    Predefinito

    oltre ai già detti due cicli for, nel form i campi si chiamano inserisciimmagine1,2... e poi richiami immagine1,2,3...

  16. #76
    Guest

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    oltre ai già detti due cicli for, nel form i campi si chiamano inserisciimmagine1,2... e poi richiami immagine1,2,3...
    no ho sbagliato a incollare qua ma tranquillo che e sempre inseriscimmagine
    l'ho copiato da dove stavo modificando lo script.avevo fatto una prova a modifica il tutto con name=immagine.
    ma adesso ho rimesso inseriscimmagine come prima
    Ultima modifica di seprova : 13-05-2015 alle ore 18.24.00

  17. #77
    Guest

    Predefinito

    Intanto togli il secondo for

    Codice PHP:
    <?php
    $con
    = @new mysqli("localhost", "sperimento", "", "my_sperimento");

    if (
    $con->connect_errno){
    echo
    "Non riesco a connetermi a MYSQL: " .$con->connect_error;
    exit();
    }

    $titolo = $con->real_escape_string($_POST['titolo']);
    $corpo_testo = $con->real_escape_string($_POST['corpo_testo']);
    $now = date('Y-m-d H:i:s');

    if(!
    $titolo) {
    echo
    "<p>Non è stato inserito il TITOLO.<br>Non è possibile proseguire.</p>";
    echo
    "<a href=\"datinews.htm\">Indietro</a>";
    exit();
    }

    if(!
    $corpo_testo) {
    echo
    "<p>Non è stato inserito il CORPO DELL'ARTICOLO.<br>Non è possibile proseguire.</p>";
    echo
    "<a href=\"datinews.htm\">Indietro</a>";
    exit();
    }

    $sql = "INSERT INTO dottore (data, titolo, corpo_testo) VALUES ('{$now}', '{$titolo}', '{$corpo_testo}')";

    if ( !
    $con->query($sql) ){
    echo
    "<p>Non è stato possibile inserire l'articolo a causa di un errore.</p>";
    echo
    "<p>" . $con->error . "</p>";
    exit();
    }else{
    $last_id = $con->insert_id;
    }

    $target_dir = "uploads/";

    for(
    $i = 1; $i<11; $i++){

    $target_file = $target_dir . $last_id . "_" . basename( $_FILES['immagine'.$i]['name'] );
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);

    if(
    file_exists($target_file) ) {
    echo
    "Spiacente, il file esiste già.";
    $uploadOk=0;
    }

    if(
    $_FILES["immagine".$i]["size"] > 1000000) {
    echo
    "Spiacente, il file è troppo grande.";
    $uploadOk=0;
    }

    if (
    $_FILES["immagine".$i]["size"] >0) {
    if (
    $imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif"){
    echo
    "Spiacente,sono permessi solo file JPG, JPEG, PNG E GIF.";
    $uploadOk=0;
    }
    }


    if (
    $uploadOk ==0){

    $sql="DELETE FROM news WHERE id= " . $last_id;
    $con->query($sql);
    echo
    "<p>Il file non è stato caricato</p>";
    echo
    "<a href=\"visualizzo.html\">Indietro</a>";


    }else{


    if (
    $_FILES["immagine".$i]["size"] >0){

    if(
    move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    $con->query($sql);
    }

    }

    }

    echo
    "<p>Articolo inserito correttamente.</p>";
    echo
    "<a href=\"visualizzo.php\">Vedi elenco</a>";

    }

    $con->close();
    ?>

  18. #78
    Guest

    Predefinito

    tolto il secondo ciclo for,ma il problema resta sempre uguale
    Ultima modifica di seprova : 13-05-2015 alle ore 18.38.18

  19. #79
    Guest

    Predefinito

    che errore?

    a me risultano 89 righe, che altro c'è nel file?
    Ultima modifica di vplaza : 13-05-2015 alle ore 18.34.07

  20. #80
    Guest

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    che errore?

    a me risultano 89 righe, che altro c'è nel file?
    no scusa nessun errore
    da sempre il solito problema

  21. #81
    Guest

    Predefinito

    Quei "codici" come li chiami tu non sono altro che ill codice binario delle immagini.
    Ma nella cartella di destinazione cosa vedi?

  22. #82
    Guest

    Predefinito

    il codice binario per ogni immagine.non vedo l'immagine

    esempio se io metto solo 1 foto mi esce cosi
    http://seprova.altervista.org/visualizzo.php

    dove sta il problema?
    Ultima modifica di seprova : 13-05-2015 alle ore 19.32.00

  23. #83
    Guest

    Predefinito

    Cominciamo a cercare cosa non va

    Prova a sostituire

    Codice PHP:
    if(move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    $con->query($sql);
    }
    con


    Codice PHP:
    if(move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    echo
    $sql;
    $con->query($sql);
    }
    e vediamo cosa scrive come query

  24. #84
    Guest

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Cominciamo a cercare cosa non va

    Prova a sostituire

    Codice PHP:
    if(move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    $con->query($sql);
    }
    con


    Codice PHP:
    if(move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    echo
    $sql;
    $con->query($sql);
    }
    e vediamo cosa scrive come query

    una volta che inserisco la news mi esce questo adesso.
    UPDATE dottore SET file1='fwfewfe.png' WHERE id='19'
    Articolo inserito correttamente.
    Vedi elencoUPDATE dottore SET file2='fwfwfwfwffdf.jpg' WHERE id='19'
    Articolo inserito correttamente.
    Vedi elencoUPDATE dottore SET file3='untitled.png' WHERE id='19'
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco
    Articolo inserito correttamente.
    Vedi elenco.
    Ho inserito solo 3 immagini
    non mi visualizza più le immagini. In cartella upoloand adesso escono nel formato immagine no come prima (codice binario)
    *poi un altro problema che se non inserisco o inserisco esempio 3 immagini mi escono sempre questi quadratini di mancata immagine
    http://seprova.altervista.org/visualizzo.php
    Ultima modifica di seprova : 13-05-2015 alle ore 20.52.43

  25. #85
    Guest

    Predefinito

    finalmente ci siamo riuscitiiiii
    solo che non mi piace che escono uno sotto l'altro e si vedono i quadratini dove non inserisco l'immagine

  26. #86
    Guest

    Predefinito

    sto provando a inserire la funzione file_exists()
    ke mi controlla se il file esiste inserisce se non esiste non lo fa visualizzare. ma non va.non mi piace che si vedono tutti quei quadratini nelle immagini che non inserisco.Anche perché da tutto quello spazio
    ho aggiunto questo. ma non va.
    Codice PHP:
    $filename = "uploads/";
    if (
    file_exists($target_file)) {
    echo
    "The file $filename exists";
    } else {
    echo
    "The file $filename does not exist";
    se il file esiste lo visualizzi se non esiste non lo visualizzi.(esempio se io aggiungo due foto non mi deve far vedere quei quadratini di foto mancanti)
    Ultima modifica di seprova : 14-05-2015 alle ore 07.15.54

  27. #87
    Guest

    Predefinito

    qual'è il codice che ti fa visualizzare le foto? lo mostri così vediamo come risolvere....

  28. #88
    Guest

    Predefinito

    Codice PHP:
    $target_dir = "uploads/";

    for(
    $i = 1; $i<11; $i++){

    $target_file = $target_dir . $last_id . "_" . basename( $_FILES['immagine'.$i]['name'] );
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);

    if(
    file_exists($target_file) ) {
    echo
    "Spiacente, il file esiste già.";
    $uploadOk=0;
    }

    if(
    $_FILES["immagine".$i]["size"] > 1000000) {
    echo
    "Spiacente, il file è troppo grande.";
    $uploadOk=0;
    }

    if (
    $_FILES["immagine".$i]["size"] >0) {
    if (
    $imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif"){
    echo
    "Spiacente,sono permessi solo file JPG, JPEG, PNG E GIF.";
    $uploadOk=0;
    }
    }


    if (
    $uploadOk ==0){

    $sql="DELETE FROM news WHERE id= " . $last_id;
    $con->query($sql);
    echo
    "<p>Il file non è stato caricato</p>";
    echo
    "<a href=\"visualizzo.html\">Indietro</a>";


    }else{


    if (
    $_FILES["immagine".$i]["size"] >0){

    if(
    move_uploaded_file($_FILES['immagine'.$i]['tmp_name'], $target_file)){
    $sql = "UPDATE news SET file".$i."='" .basename($_FILES['immagine'.$i]['name'] ) ."' WHERE id='".$last_id."'";
    $con->query($sql);
    }

    }

    }

    echo
    "<p>Articolo inserito correttamente.</p>";
    echo
    "<a href=\"visualizzo.php\">Vedi elenco</a>";

    }

    $con->close();
    ?>
    questa e la parte del codice dedicato all uploads dei file


    file di visualizza.php
    questa e la parte dedicata alla visualizzazione delle foto
    Codice PHP:

    echo "<center><img src=\"uploads/{$row['id']}_{$row['file1']}\" alt=\"{$row['file1']}\" /><br/><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file2']}\" alt=\"{$row['file2']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file3']}\" alt=\"{$row['file3']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file4']}\" alt=\"{$row['file4']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file5']}\" alt=\"{$row['file5']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file6']}\" alt=\"{$row['file6']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file7']}\" alt=\"{$row['file7']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file8']}\" alt=\"{$row['file8']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file9']}\" alt=\"{$row['file9']}\" /><center><br/>";
    echo
    "<center><img src=\"uploads/{$row['id']}_{$row['file10']}\" alt=\"{$row['file10']}\" /><center><br/>";
    echo
    "<hr />";
    }
    Ultima modifica di seprova : 14-05-2015 alle ore 08.38.44

  29. #89
    Guest

    Predefinito

    Ok!
    premetto che non ho provato il codice che ti sto scrivendo quindi potrebbero esserci degli errori ma tanto sono sempre qua:
    ti scrivo il codice html come lo farei io che è anche più "scorrevole"
    <div style="text-align: center">
    <?php
    $numeroFile = "file";
    for ($i = 0; $ <= 10; $i++) {

    $file = $row['id'] . "_" . $row[ $numeroFile . $i ];
    $file = "/uploads/" . $file;

    if(file_exists($file)) { ?>
    <img src = "http://forum.it.altervista.org/images/<?=$file?>" alt ="quello che vuoi tu" /><br /><br />
    <?php
    }
    ?>

    </div>

    più o meno

    [edit] <center> non si usa più[/edit]

  30. #90
    Guest

    Predefinito

    ah capito lo devo mettere invece sulla visualizzazione adesso provo
    Ultima modifica di seprova : 14-05-2015 alle ore 09.15.39

Pagina 3 di 4 PrimoPrimo 1234 UltimoUltimo

Regole di scrittura

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