PhpAdmin-MySQL com MAMP

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Cliccando su Apri la Home page di MAMP si apre phpmyadmin, come si configura?
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Da quello che capisco c'è già dentro tutto, Apache, MySQL perché mi si apre questo


img03pq.jpg
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non devi configurarlo.
a sx vedi (se presenti) i database esistenti, ti convine lasciarli così come sono.
per prima cosa devi crerati un database "crea nuovo database" dandogli un nome che ti piace, dentro quel db poi andrai a costruire la/le tabella/e che ti serviranno.
qando hai creato il db apparirà il suo nome nella colonna a sx, per fare poi le tabelle lo selezioni (apri) e vedrai (a sx se esistono le tabelle fatte) se iniziarne una nuova "crea tabella"
intanto prova a creare il db, poi passiamo alla/e tabella/e.
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
non devi configurarlo.
a sx vedi (se presenti) i database esistenti, ti convine lasciarli così come sono.
per prima cosa devi crerati un database "crea nuovo database" dandogli un nome che ti piace, dentro quel db poi andrai a costruire la/le tabella/e che ti serviranno.
qando hai creato il db apparirà il suo nome nella colonna a sx, per fare poi le tabelle lo selezioni (apri) e vedrai (a sx se esistono le tabelle fatte) se iniziarne una nuova "crea tabella"
intanto prova a creare il db, poi passiamo alla/e tabella/e.
Quello che non ho ancora capito è se scaricare MySQL o se è già dentro.

Ho già creato il db col nome, poi, che tabelle creo, a che servono, come le imposto in base alla mia pagina? Io non so niente di queste cose
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per crere la tabella che ti serve con phpmyadmin (per ora ti dico senza molte spiegazioni) e segui
1) selezioni il db che hai creato e trovi (a sx le tabelle se ci sono già create) e il campo per il nome di una tabella nuova con il pulsante "crea" o "GO"
2) dai un nome alla tabella (es.) messaggi e ti chiede di quanti campi è composta nel tuo caso se guardi cosa mettevi nel file
$mess_da_ins=$data_localeS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."|".$messaggioS.
ti accorgi che ti servono 7 campi da aumentare di 1 quindi gli dirai 8 campi.
3) fatto questo vedrai l'elenco dei campi da definire: nome, tipo e altre opzioni
4) partiamo dal primo (metti i nomi sempre tutti in minuscolo si evitano poi errori) che comporta qualche passaggio in più
su field scrivi id (questo è il campo in più che poi gestira i record)
su type selezioni INT (numero intero)
su lenght/value scrivi 12 (grandezza del numero = num max di record archiviabili = 999999999999)
ti sposti a dx fino alla colonna Extra e selezioni autoincrement
appena a dx (iconcina con la chiave) e la spunti (= primary key), tutto il resto non serve toccarlo
passiamo ai campi successivi (per ora ci limitiamo solo alle prime tre colonne), ti metto nell'ordine cosa devi scrivere/selezionare in field, type e lenght/value
data_locale INT 12 (per ora scrivila così poi questa te la spiego in php)
nome VARCHAR 50 (dove 50 è il numero mmassimo di caratteri, il massimo dei massimi è 250)
citta VARCHAR 50
email VARCHAR 250
ip VARCHAR 20
bandierina VARCHAR 50
messaggio TEXT (e non serve altro il campo tipo text serve per scrivere messaggio anche molto lunghi)
fatto questo dai SAVE e, se non hai fatto errori, phpmyadmin crea la tabella e ti appare il messaggio
Codice:
SQL query
CREATE TABLE `messaggi` (
`id` INT( 12 ) NOT NULL AUTO_INCREMENT PRIMARY KEY  ,
`data_locale` INT( 12 ) NOT NULL ,
`nome` VARCHAR( 50 ) NOT NULL ,
`citta` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 250 ) NOT NULL ,
`ip` VARCHAR( 20 ) NOT NULL ,
`bandierina` VARCHAR( 50 ) NOT NULL ,
`messaggio` TEXT NOT NULL
) ENGINE = MYISAM ;
e il nome della tabella appare nell'elenco a sx
a questo punto puoi chiudere phpmyadmin, tanto volendo potrai sempre tornare alla tabella selezionando prima il db dove si trova e poi il suo nome e fare (se serve) tutte la modifiche che ti pare
tutto ora è pronto per passare a php dove col form (uguale a quello che hai fatto) potrai riempirla e visualizzare cosa contiene

prova, tanto come detto, se sbagli qualcosa si puo sempre ritornare indietro e eliminare/aggiungere/modificare (senza i problemi dell'a capo)
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
per crere la tabella che ti serve con phpmyadmin (per ora ti dico senza molte spiegazioni) e segui
1) selezioni il db che hai creato e trovi (a sx le tabelle se ci sono già create) e il campo per il nome di una tabella nuova con il pulsante "crea" o "GO"
2) dai un nome alla tabella (es.) messaggi e ti chiede di quanti campi è composta nel tuo caso se guardi cosa mettevi nel file
$mess_da_ins=$data_localeS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."|".$messaggioS.
ti accorgi che ti servono 7 campi da aumentare di 1 quindi gli dirai 8 campi.
3) fatto questo vedrai l'elenco dei campi da definire: nome, tipo e altre opzioni
4) partiamo dal primo (metti i nomi sempre tutti in minuscolo si evitano poi errori) che comporta qualche passaggio in più
su field scrivi id (questo è il campo in più che poi gestira i record)
su type selezioni INT (numero intero)
su lenght/value scrivi 12 (grandezza del numero = num max di record archiviabili = 999999999999)
ti sposti a dx fino alla colonna Extra e selezioni autoincrement
appena a dx (iconcina con la chiave) e la spunti (= primary key), tutto il resto non serve toccarlo
passiamo ai campi successivi (per ora ci limitiamo solo alle prime tre colonne), ti metto nell'ordine cosa devi scrivere/selezionare in field, type e lenght/value
data_locale INT 12 (per ora scrivila così poi questa te la spiego in php)
nome VARCHAR 50 (dove 50 è il numero mmassimo di caratteri, il massimo dei massimi è 250)
citta VARCHAR 50
email VARCHAR 250
ip VARCHAR 20
bandierina VARCHAR 50
messaggio TEXT (e non serve altro il campo tipo text serve per scrivere messaggio anche molto lunghi)
fatto questo dai SAVE e, se non hai fatto errori, phpmyadmin crea la tabella e ti appare il messaggio
Codice:
SQL query
CREATE TABLE `messaggi` (
`id` INT( 12 ) NOT NULL AUTO_INCREMENT PRIMARY KEY  ,
`data_locale` INT( 12 ) NOT NULL ,
`nome` VARCHAR( 50 ) NOT NULL ,
`citta` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 250 ) NOT NULL ,
`ip` VARCHAR( 20 ) NOT NULL ,
`bandierina` VARCHAR( 50 ) NOT NULL ,
`messaggio` TEXT NOT NULL
) ENGINE = MYISAM ;
e il nome della tabella appare nell'elenco a sx
a questo punto puoi chiudere phpmyadmin, tanto volendo potrai sempre tornare alla tabella selezionando prima il db dove si trova e poi il suo nome e fare (se serve) tutte la modifiche che ti pare
tutto ora è pronto per passare a php dove col form (uguale a quello che hai fatto) potrai riempirla e visualizzare cosa contiene

prova, tanto come detto, se sbagli qualcosa si puo sempre ritornare indietro e eliminare/aggiungere/modificare (senza i problemi dell'a capo)
A me i campi risultano 8

$mess_da_ins=$data_localeS."|".$oggettoS."|".$messaggioS."|".$nomeS."|".$cittaS."|".$suoemailS."|".$ip."|".$bandierina."\n";
e al tuo punto 4 non ho field

img01n.jpg
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Alla fine apro il form e mi trovo questo, ma non ho ancora capito se i vecchi codici devo tenerli o no

img02zm.jpg
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
mi ero dimenticato |".$oggettoS."|
quindi campi 9 poi non ho seguito l'ordine (mi sono basato su un tuo passato script)

id INT (12) AUTO_INCREMENT PRIMARY KEY
data_locale id INT (12)
oggetto VARCHAR 250
messaggio TEXT
nome VARCHAR 50
citta VARCHAR 50
suoemail VARCHAR 250
ip VARCHAR 20
bandierina VARCHAR 50

vedo che hai una versione leggermente diversa dalla mia (e in italiano) quindi per autoincrement e primarykey devi vedere tra le selezioni dove si trovano

ma non ho ancora capito se i vecchi codici devo tenerli o no
per ora si, poi vedrai quante molte meno righe diventano per salvare/visualizzare i messaggi
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
mi ero dimenticato |".$oggettoS."|
quindi campi 9 poi non ho seguito l'ordine (mi sono basato su un tuo passato script)

id INT (12) AUTO_INCREMENT PRIMARY KEY
data_locale id INT (12)
oggetto VARCHAR 250
messaggio TEXT
nome VARCHAR 50
citta VARCHAR 50
suoemail VARCHAR 250
ip VARCHAR 20
bandierina VARCHAR 50

vedo che hai una versione leggermente diversa dalla mia (e in italiano) quindi per autoincrement e primarykey devi vedere tra le selezioni dove si trovano

per ora si, poi vedrai quante molte meno righe diventano per salvare/visualizzare i messaggi
Attualmente si presenta così

img04iz.jpg


Nel post #9 c'era questa img


img02x.jpg
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
anche se il SOMMO e qualcun altro inorridirà, iniziamo ad usare il db con le classiche query mysql (secondo me più semplici e comunque più didattiche).
nelle pagine in cui usi il db ci devono essere le indicazioni per connettersi al server e scegliere il db
PHP:
<?php
//---variabili di connessione----------------------------------------
$host = 'localhost';     //nome host in questo caso locale
$username = 'root';      //user name che utilizzi per accedere a phpmyadmin
$password = 'password';  //password  che utilizzi per accedere a phpmyadmin
$db = 'nome_che_hai_dato_al_db';  // nome che hai dato data base
//---connessione----------------------------------------------------
$conn = @mysql_connect($host,$username,$password) or die (mysql_error());
//---e selezione del db----------------------------------------------------
$sel = @mysql_select_db($db) or die (mysql_error());
?>
quando pesserei gli scrip in remoto dovrai sostituirle con i dati di accesso del db che hai sull'hot (altervista se non ricordo male)
un consiglio: ti conviene fare un file php chiamato (es.) connessione.php con quanto sopra e poi nelle pagine in cui usi il db farai un'inclusione
PHP:
<?php
//.....
require_once "connessione.php";
//.......
?>
in questo modo eviti di riscrivere in ogni pagina i dati di connessione.
ti faccio uno schema di come inserire i dati che poi andrai a visualizzare, non ti riporto la parte del form e i controlli che fai sui vari post perche sono uguali a quelli che utilizzavi per crere il file html.

PHP:
<?php
session_start();
require_once "connessione.php";//se in un'altra cartella devi scrivere anche il percorso
/*
qui dopo mettermo la visualizzazione dei messaggi
*/
if(isset($_POST['invia'])){
	//$data_localeS = $_POST['WebDate_ScrivimiS']; // Questo codice richiama la funzione che si trova in questa pagina - WebDate_ScrivimiS()
	// per la data usa questa istruzione è meglio
	$data_localeS=time();
	$nomeS = stripslashes(htmlentities(ucfirst(trim($_POST['nomeS']))));
	$cittaS = stripslashes(htmlentities(ucfirst(trim($_POST['cittaS'])))); 
	$suoemailS = htmlentities($_POST['suoemailS']); 
	$messaggioS = stripslashes(htmlentities(trim($_POST['messaggioS']))); 
	$validatorS = stripslashes(htmlentities(trim($_POST['validatorS'])));
	//?? da dove provengono i dati per oggetto, ip e bandierina ????
	//*** INIZIO CONTROLLI
	$errori="";
	// come quanto gia fatto
	if($errori==""){
		//qui costruisco la query di inserimento del messaggio
		//divido le istruzioni per capirsi meglio
		//scrivo la query che servira per inserire nella tabella messaggi nei relativi campi i valori provenienti dal form
		//comunque verifica che i nomi dei campi che scrivo qui siano identici ai nomi che hai in tabella
		//compreso maiuscole/minuscole
		$q="INSER INTO messaggi(
			datalocaleS,
			oggettoS,
			messaggioS,
			nomeS,
			cittaS,
			suaemailS,
			ip,
			bandierina)
			VALUES(
			'$data_localeS',
			'$oggettoS',
			'$messaggioS',
			'$nomeS',
			'$cittaS',
			'$suaemailS',
			'$ip',
			'$bandierina'");
		//come detto non so da dove provengono alcuni valori
		//poi se al posto delle variabile (esempio) '$bandierina' scrivi un testo 'italia.gif'
		//nella tabella troverai italia.gif
		//nota che non ho indicato il campo id, avendolo definito autoincrement ci pensa
		//in automatico mysql ad incrementarlo ad ogni messaggio che viene inserito
		//quindi ogni messaggio avrà il suo id numerico unico
		//scritta la stinga di querry do l'istruzione di inserimento nella tabella
		$ris=mysql_query($q);
		session_destroy();
		echo "<meta http-equiv='REFRESH' content='0; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
	}else{
		//l'utente ha commesso errori quindi mostro il messaggio (in un div che farai) e torno al form dopo qulche secondo
		echo "<div class=\"pinco\">$errori</div>";
		echo "<meta http-equiv='REFRESH' content='4; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
	}
}else{
?>
    <!-- FORM CON IL TEXTAREA -->
<?php
}
?>
provalo, se non abbiamo fatto errori con phpmyadmin vai come al solito sulla tabella clicchi su mostra e dovrebbe appartiti quanto hai inserito
domani la parte per visualizzare
p.s.
quando sei in mostra della tabella accanto ad ogni record vedrai un'iconcina con matita per modificare i valori e una con la x per eliminarlo

p.s.
come puoi vedere se ogli i commenti sono molte meno righe di quante servano per inserire nel file html
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
guarda che se non hai modificato lo script quelle notifiche non c'entrano nulla con il db.
non so cosa hai modificato, ma es. l'avviso per l'include vuol dire che non trova il file 1.php
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
guarda che se non hai modificato lo script quelle notifiche non c'entrano nulla con il db.
non so cosa hai modificato, ma es. l'avviso per l'include vuol dire che non trova il file 1.php
Lo devo ancora provare, ma allora questi controlli della lunghezza non vanno messi? Nel campo $messaggioS vorrei mettere max 2000


PHP:
...
if (strlen($messaggioS) > 2000) { 
$erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;MESSAGGIO: max 2000 caratteri</span><br /><br />";
}
...
if (strlen($nomeS) > 20) { 
$erroreS .= "<span class=\"puntoS\">&bull;&nbsp;&nbsp;NOME: max 20 caratteri</span><br /><br />";
}
...
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Altro punto, solo questa parte la metto sopra il !doctype? E il resto?

PHP:
<?php 
session_start(); 
require_once "connessione.php";//se in un'altra cartella devi scrivere anche il percorso 
/*
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
prona del doc devi mettere solo session_start il resto puoi metterlo dopo
Devo proprio lasciarlo sopra il !doctype altrimenti non si apre la pagina.

Qui c'è qualcosa che non quadra, innanzitutto spiegami che funzione hanno questi codici, se le metto come li hai scritti tu, la pag non si apre, rimane bianca, per farla aprire ho dovuto metterli così (tolto VALUES)


PHP:
 //$erroreS=""; // Questo non so se serve
    // come quanto gia fatto 
    if($erroreS==""){ 
        
      $q="INSER INTO messaggi(data_localeS,oggettoS,messaggioS,nomeS,cittaS,suoemailS,ip,bandierina)"; 
              //VALUES('$data_localeS','$oggettoS','$messaggioS','$nomeS','$cittaS','$suoemailS','$ip','$bandierina'"); 
            
   $ris=mysql_query($q);
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non devi togliere values, ma correggere ho fatto un errore di scrittuta
....
'$bandierina'");
devi correggere in
....
'$bandierina')";

ho invertito la parentesi con gli apici
il codice dopo aver letto i valori dei post immessi da un utente li inserisce (salva) in un record della tabella messaggi
 
Discussioni simili
Autore Titolo Forum Risposte Data
N problemi con phpadmin PHP 1
K form Inserimento record mysql PHP 2
P Mysql lento a cancellare MySQL 1
P Codifica caratteri speciali mysql php PHP 0
N MAX() + ADD_DATE - per update su Mysql MySQL 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
W MySQL ciclo in SELECT MySQL 0
L Mysql gestionale multipiattaforma MySQL 0
W MySQL SELECT list dinamica MySQL 0
M utilizzo mysql in nodejs - crea createdAt e updateAt MySQL 1
T colonne di tabelle mysql ordinate MySQL 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
A Mysql MySQL 0
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
Z Controllo giorni MYSQL PHP 0
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
Z MySql injection PHP PHP 1
D controllare valore in tabella mysql PHP 0
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
T differenza fra mysql xampp e un mysql server Database 0
R Importazione csv su mysql tramite array PHP 2
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
D problema php mysql PHP 1
D problema php mysql PHP 1
N Server mysql non raggiungibile da connessione esterna MySQL 1
B Crea pdf da tabella mysql "ultima riga modificata" MySQL 4
D evitare di inserirre duplicati in mysql PHP 4
L salvare codice html in mysql PHP 3
L Google chart php mysql PHP 2
S Gestire scelta dropdown con dati da Mysql PHP 2
K cron job mysql PHP 3
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
R Errore UPDATE tabella mysql PHP 1
R Caricamento immagine su cartella remota + mysql PHP 3
D Emoji in mysql Database 0
L Aiuto per programma web php/mySQL PHP 2
S Problema esportazione tabelle Mysql in Excel PHP 0
S Cancellare una riga MYSQL PHP 1
L Ricerca valore mysql e incremento PHP 73
G database mysql contengono informazioni ? MySQL 0

Discussioni simili