Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 44

Discussione: <img src"variabile_php"> problema

  1. #1
    Data registrazione
    20-04-2014
    Messaggi
    149

    Thumbs down <img src"variabile_php"> problema

    Ho un problema a richiamare una variabile con img src.
    Premetto che ho googlato un sacco.

    Il mio form html:
    Codice HTML:
    <form action="risultato.php" method="POST">
    <input type="text" name="search"><input type="submit" value="Cerca">
    </form>
    La mia pagina risultato.php:
    Codice PHP:
    <?
    $_POST
    ["search"] = $search;
    $immagine=$valore.".gif";
    echo
    '<img src="$immagine">';
    ?>
    Perchè non funziona? Se premo Ctrl + U mi dice
    <img src="$immagine">
    La colpa è mia?
    Vi prego di aiutarmi

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

    Predefinito

    Le stringhe tra singoli apici non sostituiscono le variabili. Quelle a doppi apici sì. Quindi i vari modi corretti sono:
    Codice PHP:
    <?php
    echo '<img src=\''.$immagine.'\'>';
    echo
    '<img src="'.$immagine.'">';
    echo
    "<img src=\"$immagine\">";
    echo
    "<img src='$immagine'>";
    ?>
    <img src='<?= $immagine ?>'>
    <img src="<?= $immagine ?>">
    Ciao!
    Ultima modifica di alemoppo : 20-04-2014 alle ore 20.26.53

  3. #3
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Grazie

    Scelgo questo:
    Codice HTML:
    <img src='<?= $immagine ?>'>
    Perchè ci vuole "=" dopo a <? ?

  4. #4
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Ops non funziona :(

    Riposto il codice:
    Codice:
     //qui il php:
    <?
    $_POST["search"] = $search;
    $immagine=$search.".gif";
    echo '<img src="$immagine">';
    ?> 
    //qui il form:
    <form action="risultato.php" method="POST">
    <input type="text" name="search"><input type="submit" value="Cerca">
    </form>
    dice <img src=".gif">
    Come lo faccio funzionare?
    Credo dipenda dalla riga $immagine=$search.".gif"; ma non ne sono sicuro

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

    Predefinito

    Codice PHP:
    <?=
    è l'abbreviazione di
    Codice PHP:
    <?php echo
    L'errore è sopra la riga che pensi sia l'errore: assegni $search che è una variabile non definita a $_POST["search"], che è il dato che invece dovresti leggere...

    Ciao!

  6. #6
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Codice PHP:
    <?=
    è l'abbreviazione di
    Codice PHP:
    <?php echo
    L'errore è sopra la riga che pensi sia l'errore: assegni $search che è una variabile non definita a $_POST["search"], che è il dato che invece dovresti leggere...

    Ciao!
    Grazie :)
    Mi confondo sempre

    La cosa dell'echo non la conoscevo

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

    Predefinito

    Citazione Originalmente inviato da pkspritesearch Visualizza messaggio
    Mi confondo sempre
    L'assegnamento è da destra a sinistra. Agli inizi forse non è scontato, ma dopo un po' diventa una cosa automatica!

    Ciao!

  8. #8
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    L'assegnamento è da destra a sinistra. Agli inizi forse non è scontato, ma dopo un po' diventa una cosa automatica!

    Ciao!
    Anche nel vecchio sito c'era qualche opzione simile...
    Spero di imparare perchè il PHP mi affascina

    Ora vorrei fare una cosa particolare...
    L'immagine che visualizzo mettiamo che sia "macchina.gif", come faccio con un select a far diventare il link "macchina-mega.png"?
    Qui prendo un esempio di select:
    Codice HTML:
    <select>
      <option value="normale">Normale</option>
      <option value="mega">Mega</option>
    </select>
    Non saprei da dove iniziare.

    Grazie!

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

    Predefinito

    Devi dare un name alla select, quindi da PHP prelevi il value selezionato tramite $_POST['<name_select>']

    Ciao!

  10. #10
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Devi dare un name alla select, quindi da PHP prelevi il value selezionato tramite $_POST['<name_select>']

    Ciao!
    Ho risolto così
    Codice HTML:
    <select name="select">
      <option value="">Normale</option>
      <option value="-mega">Mega</option>
    </select>
    grazie :)

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

    Predefinito

    Occhio però a "validare" i valori in ingresso: in generale tutti i dati provenienti da form devi controllarli, perché è molto facile modificare quei dati.

    Ciao!

  12. #12
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Occhio però a "validare" i valori in ingresso: in generale tutti i dati provenienti da form devi controllarli, perché è molto facile modificare quei dati.

    Ciao!
    Non è un form :/

    Prova a guardare il risultato:
    http://www.pkspritesearch.altervista.org/

    Insersci nel campo di ricerca "blue" (anche il maiuscolo).
    Ora seleziona "Seconda animazione".

    A seconda del brower visualizzerai cose diverse, ma mai un'immagine corretta. (scrivendo per sbaglio ho premuto Ctrl + Maiusc + T su Firefox, e ho scoperto un nuovo comando rapido).
    Vorrei che se l'immagine si visualizzasse male, comparisse del codice.

    Googlando ho trovato la function isImage().

    Non saprei come integrarla.
    Nei risultati non compaiono guide/tutorials.

    Sapresti come procedere?

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

    Predefinito

    Cosa intendi per "visualizzarsi male"?
    Scegliendo alcune opzioni differenti, a volte l'immagine non esiste e quindi per controllarlo, puoi usare file_exists().
    Comunque quello è un form:
    Codice PHP:
    <form action="risultato.php" method="POST">
    <
    select name="select">
    <
    option selected="selected" value="">Normale</option>
    <
    option value="-mega">Mega</option>
    </
    select> <select name="animazione">
    <
    option value="">Animazione normale</option>
    <
    option value="-2">Seconda animazione</option>
    <
    option value="-3">Terza animazione</option>
    <
    option value="-4">Quarta animazione</option>
    <
    option value="-5">Quinta animazione</option>
    </
    select><br>
    <
    input name="search" type="text"><input value="Cerca" type="submit">
    </
    form>
    E dovresti tener presente che nei value delle option potrebbe esserci qualsiasi cosa (magari in questo caso lo script al massimo da un 404 e quindi nulla di particolare, però in generale devi tenerlo sempre presente).

    Se vuoi essere più sicuro che il file sia un'immagine, dovresti controllare ad esempio il terzo elemento dell'array ritornato dalla getimagesize(), tipo così.

    Ciao!

  14. #14
    Guest

    Predefinito

    Si, anch'io ero finito su quella pagina.

    $immagine=$valore.".gif";
    echo*'<img*src="$immagine">';


    l'immagine trovata finirà sempre in .gif
    quindi quel codice troverà l'immagine sempre corretta.

    servono più opzioni :paura:

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

    Predefinito

    Ma non ho capito cosa intendi con "visualizzare male". Se non esiste, usa file_exists() come ti ho detto sopra.

    Ciao!

  16. #16
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Grazie é proprio quello che cercavo.
    L'ho associato ad un file txt, l'ho richiamato ed é risultato "1".

    Codice PHP:
    <?php
    $esist
    = file_exists("test.txt");

    if (
    $esiste == "1")
    {
    echo
    "&nbsp;";
    }
    else
    {
    echo
    "L'immagine non esiste. <br>Vuoi contribuire segnalandolo? E dove lo troveresti il file?";
    }
    ?>
    ho tirato giú queste righe e non funziona. Rimanda all'else.

    Mi sa che sbaglio il confronto
    Come lo si puó far funzionare?

    Bruno

  17. #17
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Fatto. L'ho corretto e ora va benissimo. Grazie!

    Codice PHP:
    <?php
    if (file_exists($immagine)) {
    echo
    "";
    } else {
    header('Location: /');
    }
    ?>
    Se non funziona manda alla directory principale.
    Però senza messaggi di erorre.

    Io lo voglio questi messaggi di errore:
    Ultima modifica di pkspritesearch : 22-04-2014 alle ore 11.21.44

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

    Predefinito

    Beh, invece di
    Codice PHP:
    header('Location: /');
    Puoi mettere un messaggio di errore o un'altra immagine con un errore...

    Ciao!

  19. #19
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Beh, invece di
    Codice PHP:
    header('Location: /');
    Puoi mettere un messaggio di errore o un'altra immagine con un errore...

    Ciao!
    E invece far ritornare sulla prima pagina?

    Una volta fatto... Come faccio a richiamare la variabile della pagina precedente?

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

    Predefinito

    Ah, quindi vorresti tornare indietro e mostrare un messaggio di errore.
    Un modo molto banale può essere settando un parametro "GET" nel redirect, tipo:
    Codice PHP:
    header('Location: /?errore=1');
    Poi, nella index.php se esiste $_GET['errore'], puoi mostrare un errore, ovvero:
    Codice PHP:
    if(isset($_GET['errore']))
    {
    echo
    '<img src="errore.jpg"> Errore!';
    }
    Ciao!
    Ultima modifica di alemoppo : 22-04-2014 alle ore 17.06.08

  21. #21
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    eh no! questa non l'ho capita! il tempo di un giorno; lo studio e ti faccio sapere ;)

  22. #22
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da pkspritesearch Visualizza messaggio
    eh no! questa non l'ho capita! il tempo di un giorno; lo studio e ti faccio sapere ;)

    Capito. Ora imparo ad aggiungere uno di quei cosi=così tramite una variabile in un documento e sono felicissmo.

    Nell'echo si può inserire un foglio di stile?

    Nel redirect che funzione svolge exit;?

    Grazie,
    Ciao

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

    Predefinito

    Nell'echo puoi inserire qualsiasi cosa di HTML e javascript e css.

    exit serve per bloccare l'esecuzione di eventuali istruzioni da non eseguire in caso di redirect (le istruzioni dopo header()).

    Ciao!

  24. #24
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Quindi il browser non si blocca a leggere il codice oltre header D:

    Grazie, lo aggiungerò.

    PS
    Tanti aguri. Tanti.

  25. #25
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Codice PHP:
    header('Location: /?errore=1');
    exit;
    perchè questo non va bene?
    mi torna alla directory principale senza mettere ?errore=1

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

    Predefinito

    Citazione Originalmente inviato da pkspritesearch Visualizza messaggio
    Tanti aguri. Tanti.
    Grazie mille!

    Citazione Originalmente inviato da pkspritesearch Visualizza messaggio
    Codice PHP:
    header('Location: /?errore=1');
    exit;
    perchè questo non va bene?
    prova così:
    Codice PHP:
    header('Location: ./?errore=1');
    In questo modo ti riferisci alla cartella corrente.

    Ciao!

  27. #27
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Grazie mille!


    prova così:
    Codice PHP:
    header('Location: ./?errore=1');
    In questo modo ti riferisci alla cartella corrente.

    Ciao!
    Riporta errore
    Parse error: syntax error, unexpected $end in /membri/pkspritesearch/index.php on line 27


    Codice PHP:
    <head>
    <link href="stile.css" rel="stylesheet" type="text/css">
    <meta charset="utf-8">
    <meta name="generator" content="AlterVista - Editor HTML">
    <title>Pokèmon Sprites Search</title>
    </head>
    <body>

    <form action="risultato.php" method="POST">
    <select name="select">
    <option selected="selected" value="">Normale</option>
    <option value="-mega">Mega</option>
    </select> <select name="animazione">
    <option value="">Animazione normale</option>
    <option value="-2">Seconda animazione</option>
    <option value="-3">Terza animazione</option>
    <option value="-4">Quarta animazione</option>
    <option value="-5">Quinta animazione</option>
    </select><br>
    <input name="search" type="text"><input value="Cerca" type="submit">
    </form>
    </body>
    <?
    if(isset($_GET['errore']))
    {
    echo
    '<img src="images/XX.gif"> Errore!';
    ?>

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

    Predefinito

    Non hai chiuso la parentesi graffa dell'if. Comunque fai in modo che l'immagine sia dentro il tag <body>.

    Ciao!

  29. #29
    Data registrazione
    20-04-2014
    Messaggi
    149

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non hai chiuso la parentesi graffa dell'if. Comunque fai in modo che l'immagine sia dentro il tag <body>.

    Ciao!
    Grazie.

    Per quanto riguarda il body... C'è un motivo particolare per il quale dovrei dovrei inserirci il php?
    Speravo così di non attivare il font del css :ºD

    PS
    nella mia homepage scrivi ":D" senza virgolette

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

    Predefinito

    Citazione Originalmente inviato da pkspritesearch Visualizza messaggio
    Per quanto riguarda il body... C'è un motivo particolare per il quale dovrei dovrei inserirci il php?
    Perché il contenuto della pagina deve essere dentro il tag <body> per avere un codice HTML corretto.

    Citazione Originalmente inviato da pkspritesearch Visualizza messaggio
    Speravo così di non attivare il font del css :ºD
    Cioé? Hai specificato un font al body{} ed "Errore" vuoi farlo in un altro font? In questo caso puoi includerlo in un <p> o <span> o <div> specificando il font per la stringa "errore".

    Ciao!

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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