come usare il metodo GET

ymod

Utente Attivo
14 Dic 2020
21
0
1
Sto creando un blog, dove all'interno l'utente può creare dei post. Nel mio database (phpmyadmin), io ho una tabella chiamata POST dove ho l'attributo IDpost. Nella pagina blog.php creo il post e lo visualizzo. Quello che vorrei fare è dare la possibilità all'utente di eliminare il post. Per questo mi servirebbe passare con una GET l'IDpost dalla pagina blog.php alla pagina eliminapost.php per poter fare una query DELETE FROM post WHERE IDpost = '$idPost'.

Come si usa la GET?
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
nel caso dell'esempio, tra le parentesi quadre devi mettere "colore", e il valore di $idpos diventerà "verde"
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
nel caso dell'esempio, tra le parentesi quadre devi mettere "colore", e il valore di $idpos diventerà "verde"
però forse non mi sono spiegata bene io. Io dovrei fare una DELETE del post. DELETE FROM post WHERE IDpost = $idpost'..questo valore devo passarlo per GET e non so come fare. Perchè io creo il post nella pagina blog.php, e poi lo elimino nella pagina eliminapost.php. Devo passare il valore dell ID
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Nella pagina blog.php metti un link a eliminapost.php?id=$idpost, poi nella pagina eliminapost lo recuperi così:
PHP:
$idpost = $_GET['id'];
$query = "DELETE FROM ...";
...
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
Nella pagina blog.php metti un link a eliminapost.php?id=$idpost, poi nella pagina eliminapost lo recuperi così:
PHP:
$idpost = $_GET['id'];
$query = "DELETE FROM ...";
...
però io l'ID non ce l'ho nel mio codice html, ma è solo un attributo nel database. Quindi nel link quando faccio eliminapost.php?IDpost = $idPost, non prende nessuna variabile. Come faccio?
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
Quindi il problema non è su come usare GET, ma su come prendere un dato dal database?
Ora si, ho anche questo problema. Perchè ho provato a farlo cosi:
nella pagina blog.php io ho il pulsante elimina post, e l'ho scritto così
HTML:
<a><?php  echo "<a href=\"eliminapost.php?IDpost=$idPost\">";?> <input type="submit" name = "eliminapost" id = "eliminapost" value="Elimina Post"></a>

dove IDpost è il nome dell'attributo all'interno del database, e $idPost è il nome che voglio dare io alla variabile. Poi nella pagina eliminapost.php ho invece inserito

PHP:
$idPost=$_GET["IDpost"];
$query = "DELETE FROM post WHERE IDpost = '$idPost'";

Non mi da nessun errore, ma non mi elimina niente.
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
Il link ti indirizza all'url giusto? Cioè al posto di $idPost nella barra dell'url vedi l'id giusto?
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
Il link ti indirizza all'url giusto? Cioè al posto di $idPost nella barra dell'url vedi l'id giusto?
Si, va al link giusto. In questa pagina eliminapost c'è scritto "sei sicuro di voler eliminare il post?" e poi ci sono due pulsanti 'ok' e 'annulla'.
Ho notato che, se elimino il primo post che vedo, me lo elimina correttamente. Se invece voglio eliminare gli altri post che non sono i primi, allora non mi elimina niente.
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
<a><?php echo "<a href=\"eliminapost.php?IDpost=$idPost\">";?> <input type="submit" name = "eliminapost" id = "eliminapost" value="Elimina Post"></a>
Qua è sbagliato... non devi mettere un link con dentro un input submit (e tra l'altro il link php non ha neanche il tag di chiusura). Devi cambiare così:
PHP:
<?php echo "<a href=\"eliminapost.php?IDpost=$idPost\">Elimina</a>";?>
Tutto il resto cancellalo
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
Qua è sbagliato... non devi mettere un link con dentro un input submit (e tra l'altro il link php non ha neanche il tag di chiusura). Devi cambiare così:
PHP:
<?php echo "<a href=\"eliminapost.php?IDpost=$idPost\">Elimina</a>";?>
Tutto il resto cancellalo
ho sostituito il pulsante elimina con quello che mi hai scritto tu, ma non è cambiato niente. Non credo sia questo il problema.
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
Manda il codice completo.
PHP:
<?php
session_start();
include("Connessione.php");

if (isset ($_SESSION['loggato'])){
    $nomeutente= $_SESSION['loggato'];
    

    if(isset($_GET["blog"])){
    $blog = $_GET['blog'];
    setcookie ("cookieblog", $blog, time()+3600, "/");
    } else {
        $blog = $_COOKIE["cookieblog"];
    }
    
    $query = "SELECT * FROM post WHERE titoloBlog = '$blog'";
    $result = mysqli_query($mysqli, $query);
    
    $row= mysqli_fetch_assoc($result);
    $titoloblog = $row["titoloBlog"];
    $titolopost=$row["titoloPost"];
    $testopost=$row["testo"];
    $datapost=$row["data"];
    $orapost=$row["ora"];
    
}

if (isset($_POST["ok"])){
    
    $idPost=$_GET["IDpost"];
    $query = "DELETE FROM post WHERE IDpost = '$idPost' AND titoloPost = '$titolopost' AND testo = '$testopost' AND data = '$datapost' AND ora = '$orapost'";
           $result = mysqli_query($mysqli, $query);
            
            if(!$result){
                echo "Errore nella query $query: ", mysqli_error($mysqli);
            } else {
                header("Location: blog.php?blog=$titoloblog");
            }
  
}

if (isset($_POST["annulla"])){
    header("Location: blog.php?blog=$titoloblog");
    
}

    
?>
 


<!DOCTYPE html>
<html>
 <head>
  <meta charset = "utf-8">
  <title> Elimina Post </title>
  <link rel = "stylesheet" href = "blog.css">
  <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
  </script>
 </head>
 
 <body>
 
  <h3 id = "sicuro"> Sei sicuro di eliminare il post? </h3>
  <form method = "post">
  <input type = "submit" id = "ok" name = "ok" value = "Ok" />
  <input type = "submit" id = "annulla" name = "annulla" value = "Annulla" />
  </form>
 </body>
</html>

 
<?php
mysqli_close($mysqli);
?>
 

Tommy03

Utente Attivo
6 Giu 2018
616
58
28
20
Vicenza
La logica di sto codice mi convince poco.. Comunque manda anche blog.php così magari capisco meglio
 

ymod

Utente Attivo
14 Dic 2020
21
0
1
La logica di sto codice mi convince poco.. Comunque manda anche blog.php così magari capisco meglio
PHP:
<?php
session_start();
include("Connessione.php");

    if (isset ($_SESSION['loggato'])){
    $nomeutente = $_SESSION['loggato'];
    }
    
    if(isset($_GET["blog"])){
    $blog = $_GET['blog'];
    setcookie ("cookieblog", $blog, time()+3600, "/");
    } else {
        $blog = $_COOKIE["cookieblog"];
    }
    
    $error="";
    
    $query = "SELECT * FROM `blog` WHERE titoloBlog = '$blog'";
    $result = mysqli_query($mysqli, $query);
    
    $row= mysqli_fetch_assoc($result);
    $autoreblog = $row["nomeUtente"];
    
    if(isset ($_POST['creapost'])){
    $uploadDir = __DIR__.'\immagini';
    
    $allowedextension = array("png", "jpg", "jpeg", "gif" );
        if  (!empty($_FILES)){
            foreach ($_FILES as $file) {
                if (UPLOAD_ERR_OK === $file['error']) {
                    $fileName = basename($blog.$file['name']);
                    // prendo l'estensione del file
                    $fileextension = pathinfo($fileName, PATHINFO_EXTENSION);
                    if (! in_array($fileextension, $allowedextension)) {
                        $error= "il file che hai caricato non ha un' estensione valida!<br>Per favore, seleziona un immagine in formato png, jpg, jpeg o una gif"  ;
                        $fileName= "";
                    }
                    else{
                        move_uploaded_file($file['tmp_name'], $uploadDir.DIRECTORY_SEPARATOR.$fileName);
                    }
                }
                else{
                    if ($file['error']==4){
                        $fileName= NULL;
                    }
                    else{
                    $error=" errore nel caricamento del file";
                    }
                }
            }
        }
        else{
            $fileName= NULL;
        }
    
    if (($fileName != "") or (is_null($fileName))){
    $titolopost = $_POST['titolopost'];
    $testo = $_POST['areapost'];
    $img = $_POST['img'];
    
    
    $query2 = "INSERT INTO post(titoloPost,data,ora,testo,nomeUtente,titoloBlog,img) VALUES ('$titolopost', SYSDATE(), NOW(), '$testo',(SELECT nomeUtente FROM utentiregistrati WHERE nomeUtente = '$nomeutente'),(SELECT titoloBlog FROM blog WHERE titoloBlog = '$blog'),'$img')";
    $result2 = mysqli_query($mysqli, $query2);
    
    if(!$result2){
    echo 'errore';
    } 
    }
}
    
    if(isset($_COOKIE['cookiesfondo'])) {
    $sfondo = $_COOKIE['cookiesfondo'];

    switch ($sfondo) {
        case '1':
            $class = 'uno';
            break;
        case '2':
            $class = 'due';
            break;
        case '3':
            $class = 'tre';
            break;
        case '4':
            $class = 'quattro';
            break;
        default:
            $class = 'default';
            break;
    }
}
    
?>

<!DOCTYPE html>
<html>
 <head>
 
  <meta charset = "utf-8">
  <title> Blog </title>
  <link rel = "stylesheet" href = "blog.css">
  <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
  </script>
    
<style type="text/css">
  
    .uno {
        background-color: red;
    }
    .due {
        background-color: yellow;
    }

    .tre {
        background-color: white;
    }

    .quattro {
        background-color: black;
    }

    .default {
        background-color: pink;
    }


</style>   
 </head>
 
 <script>
 
     <?php if ($autoreblog == $nomeutente){ ?>
    
     $(document).ready(function(){
         $("#post").show();
     });
     <?php } ?>
          
    
 </script>
 
 <body class="<?php echo $class; ?>">
 <input type="checkbox" id="nav-toggle" hidden />
        <nav class="nav">
            <label for="nav-toggle" class="nav-toggle" onclick></label>
            <ul>
                <li class = "" ><a href="home.html"> Home </a> </li>
                <li class ="" ><a href="tuttiiblog.php">Tutti i blog</a> </li>
            </ul>
        </nav>
 
    <p id = "nomeutente"> Autore Blog: <?php echo $autoreblog ?></p>
    <h1 style = "color:black"> <?php echo $blog ?> </h1>
    
    
    <form method = "post" action = "blog.php">
        <div id = "post" style = "display:none">
            <input type = "text" placeholder="Scegli un titolo" id = "titolopost" name = "titolopost"/> <br />
            
            <label for "immagine">Inserisci un'immagine (GIF, JPEG, JPG, PNG): </label>
                <input type="file" value="scegli immagine" name="img" />
        
            <input type = "text" placeholder="Scrivi un post" id = "areapost" name = "areapost"/> <br />
            <br />
            
            <input type = "submit" value = "Crea Post" id = "creapost" name = "creapost" />
        
        </div>
    </form>
    <?php

    $query3 = "SELECT * FROM post WHERE titoloBlog = '$blog'";
    $result3 = mysqli_query($mysqli, $query3);
    
    while($row3= mysqli_fetch_assoc($result3)){
    $postdititolo = $row3["titoloPost"];
    $testopost = $row3["testo"];
    $imgpost = $row3["img"];
    $datapost = $row3["data"];
    $orapost = $row3["ora"];
    $idPost = $row3["IDpost"];

    ?>
    
    <div id ='visualizzapost'>
    
        <p id = "dataora"> <?php echo $datapost ?> - <?php echo $orapost?> </p>
        <h3 id = "Tpost"> <?php echo $postdititolo ?> </h3>
        
        <?php
            if (empty($imgpost)){ ?>
                <script>
                    $(document).ready(function(){
                        $('#img<?php echo $idPost; ?>').hide();
                    });
                </script>
            <?php } else{ ?>
                <script>
                     $(document).ready(function(){
                        $('#img<?php echo $idPost; ?>').show();
                    });
                </script>
            <?php }; ?>
            <img  id="img<?php echo $idPost; ?>" src="immagini/<?php echo $imgpost ?>" style="display:block; margin:10% auto; text-align:center;  width:40%; ">
            </img>
            
        
        <p id = "Testopost"> <?php echo $testopost ?> </p>
        <a><?php  echo "<a href=\"modificapost.php\">";?> <input type="submit" name = "modificapost" id = "modificapost" value="Modifica Post"></a>&ensp;
        <!--<a><?php  echo "<a href=\"eliminapost.php?IDpost=$idPost\">";?> <input type="submit" name = "eliminapost" id = "eliminapost" value="Elimina Post"></a> -->
        
        <?php echo "<a href=\"eliminapost.php?IDpost=$idPost\">Elimina</a>";?>
        
    
    </div>
    <?php }    ?>
    


    <p><a href="personalizzablog.php">Personalizza Blog</a> </p>
 </body>
</html>


<?php
mysqli_close($mysqli);

?>
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
ho notato, però, che usi ancora le veccihie, e oramai deprecate, funzioni mysql; ti consiglio invece di passare alle nuove e più performanti mysqli, quella che ti ho scritto l'ho 'estrapolata' da una funzione mysqli. Io la uso abitualmente ed ha sempre funzionato. Buon Natale
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
K Come posso usare un'immagine al posto di un bottone? HTML e CSS 2
voldemort SAS vs SATA: quali usare nei server? Server Dedicati e VPS 1
napuleone visualizzare il codice senza usare gli & HTML e CSS 1
D Come usare funzione php PHP 6
F Come usare i meta Language Attribute tag? HTML e CSS 4
felino Esportare tabella HTML in PDF, quale libreria usare? Javascript 1
felino Bootstrap alert: usare lo stesso div per due messaggi consecutivi jQuery 1
L Usare Avro in PHP PHP 0
P [Visual Basic] Copiare file piu' grandi di 2 gb in vb6 senza usare filecopy,usando get e put Visual Basic 6
giancadeejay Codice php come testo-quale tag usare? PHP 9
M Come usare la nuova versione di phpmailer? PHP 2
G [PHP] usare il nas Synology come git server PHP 0
O E' possibile usare NVR solo IP camere remote? IP Cam e Videosorveglianza 2
G [Javascript] non riesco a usare ace - ReferenceError: define is not defined 1 ace.js:37:1 Javascript 0
KILLERIX Usare wordpress solo per i plugin CMS (Content Management System) 2
Marcolotto [MS Access] Usare mscomctl.ocx su Windows 64 bit e 32 bit MS Access 1
Z Traffico geolocalizzato su ricerca molto basso: usare rete display? Google Ads (AdWords) 0
C usare un foglio php per la creazione di un excel: piccolo problema PHP 2
R Ciao a tutti! sono nuovo e spero che qualcuno possa aiutarmi ad imparare a usare un mac book apple Presentati al Forum 1
M Quale linguaggio usare per il mio progetto? Programmazione 0
F I titolari di P. IVA, possono usare la versione non commerciale di Microsoft Word? Leggi, Normative e Fisco 0
C Che hosting usare per fare video con molti video? Hosting 1
D Il JOIN che non imparerò mai ad usare MySQL 2
M Usare template creato con muse con wordpress WordPress 5
J usare delle immagini al posto di checkbox Javascript 1
G Usare il timbro clone da un punto ben preciso senza uscire Photoshop 2
felino Web Scraping: qualche programma usare? Windows e Software 2
neo996sps [risolto] Usare PHP per leggere da file XML PHP 3
S Consiglio usare framework o no PHP 4
S quando usare webkit? HTML e CSS 3
P Impossibile usare socket_connect PHP 2
G Nel mio caso posso usare javascript o devo avere un web server? Javascript 2
D Che logica usare per suddividere immagini per artisti? Database 4
M Prendere i valori da un input type="text" senza usare il bottone "submit" PHP 2
U Usare script PHP come server web PHP 6
G Usare clone per colorare ma senza sbavare, come posso procedere? Photoshop 2
novello88 Usare GParted per creare partizione Win Windows e Software 1
M Vantaggio nell'usare le classi PHP 1
A Quale CSM consigliate di usare per la realizzazione di un sito per una agenzia di viaggi? CMS (Content Management System) 4
S Usare l'hover jQuery 4
D Come fare ad usare il reCaptcha senza uso delle librerie??? PHP 1
G aiuto, non so che linguaggio usare Java 0
T Usare FPDF PHP 0
valient13 Usare file txt PHP 9
A usare onclick automaticamente senza cliccare HTML e CSS 13
alessandro1997 [LEGGERE] Come usare questa sezione Presenta il tuo Sito 0
O Creazione Portale intranet... COME FARE E COSA USARE?? CMS (Content Management System) 1
P Quale smartphone posso usare per visualizzare internet sul pc? Smartphone e tablet 5
F Quali linguaggi usare? (era: Ma si usano tutti?) HTML e CSS 1
Monital Funzione CONCAT si può usare LIKE? PHP 2

Discussioni simili