Visualizzazione risultati 1 fino 9 di 9

Discussione: [PHP] Leggere file .txt come database...

  1. #1
    Guest

    Unhappy [PHP] Leggere file .txt come database...

    Ciao a tutti, voglio creare una lista e dopo un $_GET che corrisponde all'id nel file (in questo caso) lista.txt ed ecco il tutto:
    index.php ---> (sotto)
    Codice PHP:
    <?php
    $nomefile
    = getcwd()."/lista.txt";
    $nomefile = file($nomefile);
    if(
    $_GET["id"]) {
    $idget = trim(htmlspecialchars($_GET["id"]));
    list(,
    $file) = each($nomefile);
    list(
    $id,$link) = split("[|]",$file);
    $id = trim($id); $link = trim($link);
    if(
    $idget == $id) { echo "<b>$idget = $id --- $link</b>"; }
    else { echo
    "<b>$idget non esiste!!</b>"; }
    }
    else {
    echo
    "<table><tr><td>ID</td><td>Collegamento</td><td>Visitare?</td></tr>";
    while(list(,
    $file) = each($nomefile)) {
    list(
    $id,$link) = split("[|]",$file);
    $id = trim($id); $link = trim($link);
    echo
    "<tr><td>$id</td><td>$link</td><td><a href=\"index.php?id=$id\">Si!</a></td></tr>";
    }
    echo
    "</table>";
    }
    ?>
    lista.txt ---> (sotto)
    Solo che mi dice che non esiste (else { .. }) ...perchè? E' il mio scriptino che interagisco con i file di database...Grazie mille...ciao Davide! ^^
    PS. Se vi può interessare ho usato questo http://www.mrwebmaster.it/php/artico...tabase_90.html

  2. #2
    Guest

    Predefinito

    ahh l'indentazione.. questa sconosciuta
    Codice PHP:
    <?php
    $nomefile
    = getcwd()."/lista.txt";
    $nomefile = file($nomefile);
    if(
    $_GET["id"]) {
    $idget = trim(htmlspecialchars($_GET["id"]));
    $sFile = NULL;
    foreach(
    $nomefile as $a) {
    $app = explode("|",$a);
    if(
    $app[0] == $idget)
    $sFile = $app;
    }

    if(
    $sFile!= NULL)
    echo
    "<b>$idget = ".$sFile[0]." --- ".$sFile[1]."</b>";
    else
    echo
    "<b>$idget non esiste!!</b>";

    }else {
    echo
    "<table><tr><td>ID</td><td>Collegamento</td><td>Visitare?</td></tr>";
    foreach(
    $nomefile as $a) {
    $app = explode("|",$a);
    $id = trim($app[0]);
    $link = trim($app[1]);
    echo
    "<tr><td>$id</td><td>$link</td><td><a href=\"index.php?id=$id\">Si!</a></td></tr>";
    }
    echo
    "</table>";
    }
    ?>
    indenta la prossima volta, se no non si capisce nulla.
    Ultima modifica di stoner : 20-04-2009 alle ore 20.50.05

  3. #3
    Guest

    Predefinito

    Non è vero..il mio codice era molto pulito! Io non sopporto tutti quei tab che dopo finisce la pagina e incomincia lo scroolbal laterale! XD
    Comunque mi dice questo:
    Warning: Invalid argument supplied for foreach() in index.php on line 31
    ecco il codice modificato:
    Codice PHP:
    <?php
    echo <<<style
    <style type="text/css">
    table tr td { border-right: 1px solid #000000; }
    td+td+td { border-right: 0; }
    table { border: 3px solid #000000; }
    table tr.tit { font-weight: bold; }
    a, a:hover { text-decoration: none; }
    a { color: #c6c6c6; }
    a:hover { color: #000000; font-weight: bold; }
    </style>
    style;
    echo
    "<h1>Shop di Davide</h1>";
    $nomefile = getcwd()."/lista.txt";
    if(@
    $_GET["id"]) {
    $idget = trim(htmlspecialchars($_GET["id"]));
    $sFile = NULL;

    foreach(
    $nomefile as $a) {
    $app = explode("|",$a);
    if(
    $app[0] == $idget)
    $sFile = $app;
    }

    if(
    $sFile!= NULL) { echo "<b>$idget = ".$sFile[0]." --- ".$sFile[1]."</b>";}
    else { echo
    "<b>$idget non esiste!!</b>"; }

    } else {
    echo
    "<table><tr class=\"tit\"><td>ID</td><td>Collegamento</td><td>Visitare?</td></tr>";

    foreach(
    $nomefile as $a) { # --------------------> linea 31 dove c'è l'errore! xD
    $app = explode("|",$a); $id = trim($app[0]); $link = trim($app[1]);
    echo
    "<tr><td>$id</td><td>$link</td><td><a href=\"index.php?id=$id\">Si!</a></td></tr>";
    }

    echo
    "</table>";
    }
    ?>

  4. #4
    Guest

    Predefinito

    Hai levato la riga
    Codice PHP:
    $nomefile = file($nomefile);
    che serviva... rimettila al suo posto (dopo $nomefile = getcwd()."/lista.txt";)

  5. #5
    Guest

    Predefinito

    Ok Grazie! Invece c'è un modo di fare tipo una cosa pagina.php?login
    ho provato a fare al posto dell'else { ... mostra tutto ... } ho messo:
    Codice PHP:
    if($_GET["id"]) { /* mostra codice singolo */ } else if(empty($_GET["login"])) { /* mostra altro */}
    else {
    /* mostra echo vuoto */ }
    Ma non funziona!!! XD

  6. #6
    Guest

    Predefinito

    Non ho capito nulla

  7. #7
    Guest

    Predefinito

    Vorrei fare un $_GET nullo...tanto per far vedere il link di dove sei tipo ciao.php?home
    Come faccio...? xD

  8. #8
    Guest

    Predefinito

    ah.. beh in quel modo non pui farlo. Perchè anche se sei in ciao.php usando empty($_GET['home']) ti darà sempre true. Nel tuo caso $_SERVER['QUERY_STRING'] può aiutare

  9. #9
    Guest

    Predefinito

    Grazie mille...ciaoooooooooooooooooo! ;D

Regole di scrittura

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