Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502

    Problema con PHP e HTML - Impostazione pagina.

    Lo accorcio un po'. Pagina: delete.php Questa pagina viene richiamata dalla pagina edit.php che visualizza i dati della tabella news. visualizza anche una colonna dove posso eliminarli, o meglio, collegamento ipertestuale che mi manda alla pagina delete.php?id=(id)
    Ed ecco la pagina:
    Codice PHP:
    <?php
    $cookie 
    $_COOKIE['accesso_effettuato'];
    $id $_GET['id'];
    $action $_GET['action'];

    if (
    $cookie == "accesso_effettuato")
        {echo 
    ?>
    <html>
     <head>
      <title><?php echo $titolo ?> | Razers</title>
      <link rel="stylesheet" type="text/css" href="style.css" />
     </head>
     <body>
        <table border="0" align="center">
         <tr>
          <td colspan="2">
           [b]Attenzione![/b]

           Sei sicuro di voler eliminare il modulo: <?php echo $titolo ?> ?

          </td>
         </tr>
         <tr>
          <td align="center">
           <form method="post" action="edit.php" name="nuova_news">
            <input type="submit" value="No!" style="width: 100px;">
           </form>
          </td>
          <td align="center">
           <form method="post" action="delete.php?id=<?php echo $id ?>?action=delete" name="nuova_news">
            <input type="submit" value="Si!" style="width: 100px;">
           </form>
          </td>
         </tr>
       </table>
     </body>
    </html>
    <?php
        
    }
    else{
        
    header("location: login.php");
        }
    ?>
    Fin qua, non fa una piega. Se vedete nel form, c'è un "No!" e un "Si". Il primo ti riporta alla pagina edit.php il secondo in un certo senso ti refresha la pagina (ovvero ti rimanda alla pagina delete.php?id=(id)?action=delete. VIsto che non vorrei creare duemila pagine per eliminare un record avevo pensato di aggiungere una cosa del genere: (sopra)
    Codice PHP:
    <?php
    $cookie 
    $_COOKIE['accesso_effettuato'];
    $id $_GET['id'];
    $action $_GET['action'];

    if (
    $cookie == "accesso_effettuato")
        {
        if (
    $action == 'delete'// se l'url è delete.php?id=(id)?action=delete, allora...
            
    {
            
    header("location: prova.php");
            }
        elseif (!isset(
    $action)) // se l'url è delete.php?id=(id)?action=, allora...
            
    {
            
    header("location: errore.php");
            }
        else{ 
    // se non c'è action allora esci dal primo if
            
    exit;
            }
            echo 
    ?>
    [B]IL RESTO DELLA PAGINA[/B]
    <?php
        
    }
    else{
        
    header("location: login.php");
        }
    ?>
    Naturalmente dove leggete: header("location: prova.php"); ci metterò la connessione e la query che eliminerà il row della tabella news, però non funziona. Nel senso... mi manda sempre alla pagina prova.php NONOSTANTE l'url sia delete.php?id=(id) senza nessuna action. Dove sbaglio?

    EDIT: Ho provato a cambiare header("location: prova.php"); con un'altra pagina, ma me le visualizza entrambe. (Esempio
    Codice PHP:
    <?php
    $cookie 
    $_COOKIE['accesso_effettuato'];
    $id $_GET['id'];
    $action $_GET['action'];

    if (
    $cookie == "accesso_effettuato")
        {
        if (
    $action 'delete'// se l'url è delete.php?id=(id)?action=delete, allora... 
            
    {echo ?>
    [b]QUI CANCELLA IL ROW E POI MI DICE CHE L'HA CANCELLATO (con una pagina)[/b]
    <?php
            
    }
        elseif (!isset(
    $action)) // se l'url è delete.php?id=(id)?action=, allora... 
            
    {
            
    header("location: errore.php");
            }
        else{ 
    // se non c'è action nell'url allora esci dal primo if ...
            
    exit;
            }
        echo 
    ?>
    [b]PAGINA DI BASE[/b]
    <?php
        
    }
    else{
        
    header("location: login.php");
        }
    ?>
    MI vede sia pagina di base che quella sopra!
    Personal Home Page

  2. #2
    cosa significa questa riga?

    <form method="post" action="delete.php?id=<?php echo $id ?>?action=delete" name="nuova_news">

    Non dovresti mettere:

    action = "delete.php?id=<?php echo $id ?>&action=delete"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Azz scusa, sì... per il significato... beh se clicchi "si" portami alla pagina delete.php?id=(id) con la differenza di avere anche &action=delete. E, avendo &action=delete, nella pagina delete c'è un if:

    Codice PHP:
    if ($action 'delete'// se l'url è delete.php?id=(id)?action=delete, allora... 
            
    {echo ?> PAGINA 
    <form method="post" action="action = "delete.php?id=<?php echo $id ?>&action=delete"" name="nuova_news">
    Ma non cambia molto, visualizza sempre tutte e due le pagine insieme...
    Personal Home Page

  4. #4
    Non ho letto tutto, ma di sicuro

    if ($action == 'delete');

  5. #5
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Hem.... perfetto... :look: scusate. L'unico problema è che quando clicco si mi va in delete.php?id=(id)&action=delete (e va bene), ma non mi visualizza la pagina che dovrebbe visualizzare ovvero

    if ($action == 'delete') // se l'url è delete.php?id=(id)&action=delete, allora...
    {echo ?>Pagina...
    Personal Home Page

  6. #6
    Fai un bel

    echo $cookie;
    echo $action;

    e verifica se le variabili contengano davvero quello che devono contenere

  7. #7
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Si, il problema è che non riesco a richiamare con quell'if la pagina. C'è mi da l'errore 404, mentre in realtà dovrebbe chiamarmi quel pezzo di pagina...

    Quindi è sbagliato sicuro l'if non di sintassi, ma di come richiamo la pagina.


    EDIT RISOLTO:
    Ho sbagliato questo:
    <form method="post" action="delete.php?id=<?php echo $row['id_news']?>&action=delete" name="si">

    Prima era:
    <form method="post" action="delete.php&action=delete" name="si">
    Personal Home Page

  8. #8
    Scusa non sono sicuro di capire bene, ma quel 404 dice semplicemente che http://razers.altervista.org/delete.php non esiste

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.