Come risolvere l’errore “call to undefined function mysql connect”
10 Marzo 2024
Se ricevi questo errore vuol dire che hai eseguito l’aggiornamento da php5 a php7 e ora mysql_connect da errore questo vuol dire che stai utilizzando librerie deprecate.
Ora ti trovi di fronte al compito di aggiornare tutte le tue mysql_* funzioni con mysqli_* functions.
Per risolvere il problema abbiamo due possibilità:
- Modificare tutti gli script php che hanno le vecchie MySQL Function con le nuove funzioni (sto parlando di PDO e MySQLi).
- Con questo metodo è invece possibile bypassare il problema attraverso una semplice inclusione di uno script, una libreria che sovrascriva le vecchie funzioni MySQL
Lo script dovrà essere incluso nella prima riga di ogni pagina che richieda l’aggiornamento così:
include_once('mysql-fix.php');
Ottenere dati json da un database con php
12 Novembre 2019
Vediamo come recuperare dati da un database mysql e convertirli nel formato json tramite il linguaggio php.
<?php header("Content-Type: application/json; charset=iso-8859-1"); //Connessione al database $con = mysqli_connect("hostname", "username", "password", "database name"); // Effetto una query per recuperare tutti i dati dal database $query = "SELECT * from tabella"; $result = mysqli_query($con, $query); $arr = array(); if(mysqli_num_rows($result) != 0) { while($row = mysqli_fetch_assoc($result)) { $arr[] = $row; } } // Restituisce l'array json contenente i dati dal database echo $json_info = json_encode($arr); ?>
Vediamo ora come recuperare i dati dal database di Microsoft Access con php
<?php header("Content-Type: application/json; charset=iso-8859-1"); //percorso fisico per la connessione al database $db = "c:\inetpub\wwwroot\json_asp\mdb-database\database.mdb"; $sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" . $db . ";"; // Creo due oggetti COM contenenti gli oggetti Connection e Recordset $cn = new COM("ADODB.Connection"); $rs = new COM("ADODB.Recordset"); // Apro la Connection ed il Recordset $cn->Open($sc); $rs->Open("SELECT * FROM galleria", $cn); $outp = "["; while($rs->EOF == FALSE) { if ($outp != "[") {$outp .= ",";} $outp .= '{"Titolo":"' . $rs["titolo"] . '",'; $outp .= '"Immagine":"'. $rs["nome_file"] . '"}'; $rs->MoveNext(); } $outp .="]"; echo($outp); ?>
Nota bene: su Aruba con hosting windows la connessione al database access con php non è consentita per motivi di sicurezza.
Per verificare la correttezza di un file JSON è possibile utilizzare uno tanti tool online come JSONLint.
Upload multiplo di immagini con anteprima
18 Ottobre 2018
Vediamo come realizzare un upload multiplo, in un unico file php ad esempio upload.php, con le anteprime delle immagini prima di essere caricate sul server. Di seguito lo script:
Codice html
<form name="uploadform" enctype="multipart/form-data" action="" method="post"> <input id="files" name="file[]" type="file" multiple="multiple" accept="image/*" /> <input type="submit" name="invio" value="Invia"> <div id="selectedFiles"></div> </form>
Codice javascript per la visualizzazione delle anteprime delle immagini da inserire dopo la chiusura del tag </form>
<script type="text/javascript"> var selDiv = ""; document.addEventListener("DOMContentLoaded", init, false); function init() { document.querySelector('#files').addEventListener('change', handleFileSelect, false); selDiv = document.querySelector("#selectedFiles"); } function handleFileSelect(e) { if(!e.target.files || !window.FileReader) return; selDiv.innerHTML = ""; var files = e.target.files; var filesArr = Array.prototype.slice.call(files); filesArr.forEach(function(f) { if(!f.type.match("image.*")) { return; } var reader = new FileReader(); reader.onload = function (e) { var html = "<img src=\"" + e.target.result + "\"><br>" + f.name + "<br>"; selDiv.innerHTML += html; } reader.readAsDataURL(f); }); } </script>
Codice php per l’invio dei file da inserire prima dell’apertura del tag <form>
<?php $maxSize = 3000; //massima dimensione dei file in kilobyte $acceptType = array( //tipi di file accettati, in questo caso solo immagini 'png' => 'image/png', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'gif' => 'image/gif', 'bmp' => 'image/bmp', 'ico' => 'image/vnd.microsoft.icon', ); $cartella = "uploads/"; //cartella dove vengono caricati i file nel server for($i=0;$i<count ($_FILES['file']['name']);$i++) echo "Risultato file ".($i+1).": ".multipleUpload($i, $cartella, $maxSize, $acceptType)."<br>"; function multipleUpload($i, $cartella, $maxSize, $acceptType) { if(@$_FILES['file']['name'][$i] != "") { $destinazione = $cartella.basename( $_FILES['file']['name'][$i]); if($_FILES['file']['size'][$i] <= $maxSize*1024) { if(in_array($_FILES['file']['type'][$i], $acceptType)) { if(@move_uploaded_file($_FILES['file']['tmp_name'][$i], $destinazione)) return "File caricato con successo!"; else return "Errore nell'upload del file"; }else return "Tipo di file non accettato!"; }else return "Dimensione del file troppo grande, massima dimensione accettata: ".$maxSize." kilobyte"; }elseif(isset($_POST['invio'])) return "Nessun file inserito!"; } ?>
Qui puoi trovare la demo senza la parte lato server php
Personalizzare un tema wordpress
3 Novembre 2015
Vogliamo personalizzare un tema esistente ad esempio che si chiama miotema. Dentro la cartella themes creiamo una cartella e la chiamiamo miotema-child; a questo punto creiamo un file denominato style.css con questo codice:
/* Theme Name: miotema Child Tema Theme URI: http://www.sito.it Description: robi Child Theme Personalizzato Author: nome autore Author URI: http://www.sito.it Template: miotema Version: 1.0 Tags: 3 colonne, clean, minimal Text Domain: miotema-child */ /*qui inseriamo il codice css*/
Quello che non deve assolutamente mancare è la riga ‘Template: miotema’ che è il tema che andiamo a modificare. Ora possiamo richiamare il file css un un nuovo file denominato functions.php con questo codice:
<?php add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' ); function theme_enqueue_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); } ?>
Visualizzare i campi personalizzati in wordpress
1 Aprile 2015
I campi personalizzati sono degli strumenti che WordPress mette a disposizione per aggiungere ulteriori informazioni alla pagina o al post. Per poterli visualizzare in una pagina php basta inserire il seguente codice di esempio:
<?php $campo1 = get_post_meta($post->ID, 'codice_prodotto', true); if($campo1): ?> Codice: <?php echo $campo1;?> <?php endif; ?>
dove $campo1 rappresenta il il nome del campo personalizzato in questo caso ‘codice_prodotto’.