Campo di testo che non funziona !???!?!!?

searedone

Utente Attivo
11 Giu 2010
508
0
0
Gentilmente chi mi puo' spiegare questo arcano ......

Ho fatto 5 campi :

id int auto_increment
tipo varchar 255
titolo varcchar 255
descrizione ( questo è il campo incriminato )
Url varchar 255

Ho provato a mettere descrizione come varchar 255 com text, come longtext insomma li ho provati tutti , ma quando vado ad inserire tramite form i dati , nel campo descrizione non c'è mai nulla , o meglio delle volte mi prende i dati e delle volte no ?!?!? secondo voi qual'è il problema , io ho bisogno che nella descrizione , ci sia una breve descizione e quindi che cosa devo mettere per farmi prendere il testo ?!!?!?

Tipo Spazio Richiesto Lunghezza massima
CHAR(x) x caratteri 255 characters
VARCHAR(x) x caratteri più 1 o 2 bytes 65,535 caratteri (soggetto a limitazioni)
TINYTEXT x caratteri + 1 byte 255 caratteri
TEXT x caratteri + 2 bytes 65,535 caratteri
MEDIUMTEXT x caratteri + 3 bytes 16,777,215 caratteri
LONGTEXT x caratteri + 4 bytes 4,294,967,295 caratteri
 

micio86

Utente Attivo
mmmmmmmmm

il nome del campo nella query è uguale a quello nel db????
Attento a maiuscole/minuscole. Inserisce cmq il record? Stai attento agli apostrofi!

Prova a dargli un valore a manoni:
INSERT INTO tabella (.....,descrizione) VALUES ('descrizione di prova').

Usa character varyng senza numero di caratteri
Magari stampati la query prima di eseguirla, copiala e provala direttamente su mysql myadmin
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao ... grazie mille inanzitutto per la risposta ...

Cmq è stranissimo e ho controllato più volte ieri , il campo nel form e il campo nel db, e sono corretti.

Il fatto strano è che se faccio delle prove togliendo il campo descrizione gli altri 4 campi me li prende correttamente, ma come metto il campo descrizione non mi inserisce il testo all'interno .... :)

Cosa intendi quando scrivi questo ?!?!
Prova a dargli un valore a manoni:
INSERT INTO tabella (.....,descrizione) VALUES ('descrizione di prova').
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
dimenticavo , può essere che sbaglio perchè metto text 255 oppure lo lascio vuoto !?!?!? devo mettere altro ???
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Ciao ecco il risultato ...

PAgina bianca se provo a stamparla a video ...

ti posto tutto

form inserimento

PHP:
<body>
<form id="form1" name="form1" method="post" action="ricette_invio_database.php">
  nome:
  <p>
    <label for="nome"></label>
    <input type="text" name="tipo" id="tipo" />
  </p>
  cognome:
  <p>
    <label for="cognome"></label>
    <input type="text" name="titolo" id="titolo" />
  </p>
  telefono:
    <p>
    <label for="telefono"></label>
    <input type="text" name="url" id="url" />
  </p>
  email:
 
   <p>
    <label for="note"></label>
    <input type="text" name="descrizione" id="descrizione" />
  </p>
  <p>
    <input type="submit" name="invio" id="invio" value="Submit" />
  </p>
</form>

inserimento database

PHP:
<?php

require ("db_connect.php"); 

?>

 	<?php

    $id = $_POST['id'];
	$tipo = $_POST['tipo'];
	$titolo = $_POST['titolo'];
	$url = $_POST['url'];
	$descrizione = $_POST['descrizone'];
	
	$insert = mysql_query("INSERT INTO ricette_cucina VALUES ('', '$tipo', '$titolo', '$url', '$descrizione')",$db);

	
	
	
	?>

stampa

PHP:
<?php

require ("db_connect.php"); 

?>

 	<?php

	
	$result = mysql_query("SELECT * FROM ricette_cucina", $db);
	
	while ($records = mysql_fetch_array($result))  {

echo "<tr><td>".$records['id'] ."</td><td>" .$records['tipo'] ."</td><td>" .$records['titolo'] . "</td><td>".$records['url'] ."</td><td>".$records['descrizione'] . "</td>";
}

?>


Uffff che sbaglio :(
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
immagine impostazione database

ishot-90.jpg
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto prova a scrivere la querry
PHP:
 $insert = mysql_query("INSERT INTO ricette_cucina VALUES ('', '$tipo', '$titolo', '$url', '$descrizione')",$db);
in questo modo

PHP:
$insert = mysql_query("INSERT INTO ricette_cucina(tipo,titolo,url,descrizione) VALUES ('$tipo', '$titolo', '$url', '$descrizione')",$db);
cioè con i nomi dei campi (controlla che abbia messo i nomi giusti)
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
ciao, eccolo la il problema come sempre ...

Allora mi ha preso la prima prova e tutto ok , come inserisco la seconda non mi inserisce più niente ...

MA perchè ??!?!

In poche parole ho fatto un motore di ricerca interno al sito che funziona davvero bene , ma volevo che quando uno cerca oltre al tipo al titolo e la url ci fosse anche la descrizione era carino .. ancor meglio pensavo descrizione e url un po come un motore di ricerca per capirci , ma non mi prende sta cavolo di descrizione .. :(
 

micio86

Utente Attivo
Si vede ke...

sicuramente cerchi di dare a un campo univoco tipo l'id, lo stesso valore?!?!
E' sicuro quello perchè la prima volta lo inserisce bene e alla seconda ti da errore perchè esiste già un record con ql valore in ql campo univoco!
Guarda le impostazioni dei campi della tabella!
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
La tabella l'ho postata ieri ...

Te la riscrivo ormai la so a memoria

id int auto_increment
tipo varchar 255
titolo varchar 255
url varchar255
descrizione text

LA cosa strana è che se tolgo il campo descrizione funziona tutto alla meraviglia .....

Perchè :(((((
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa separa la query, poi metti dei vardump.
guarda cosa ti restituiscono

PHP:
<?php
//......
$query_str="INSERT INTO ricette_cucina(tipo,titolo,url,descrizione) VALUES ('$tipo', '$titolo', '$url', '$descrizione')";
var_dump($query_str);
$insert = mysql_query($query_str,$db);  
var_dump($insert);
//......
?>
con il primo vedi se la query è esattamente quello che deve essere, con il secondo ti dice se andata a buon fine
es. se la prima ti restituisce

string(xk) INSERT INTO ricette_cucina(tipo,titolo,url,descrizione) VALUES ('antipasto', '', 'ant.php', 'ecc..ecc...')"
vedi subito che $titolo è vuoto e quindi devi risalire al perchè.
se invece da giusto e il secondo ti da null o false devi verificare la corrispomdenza dei nomi dei campi tra la query e la tabella

dimenticavo: la tabella che hai postato mi sembra giusta
 
Ultima modifica:

searedone

Utente Attivo
11 Giu 2010
508
0
0
Poi provo il tuo suggerimento ...

Adesso pero' ti chiedo questo ...

Ho tolto sia dal motore di ricerca, dal form di inserimento ecc descrizione ...

Ho provato a scrivere tipo url titolo e ogni volta che invio il database memorizza correttamente tutto ....

e il progressivo dell'id cresce normalmente ... non so perchè il mio database rifiuta descrizione ... e cosi potrebbe andare ...

L'unica cosa è che ora non posso mettere mano al datbase ma il campo titolo che è diventato descrizione mi memorizza un testo non tanto lungo ...

es

se metto : fjdsjfgdjsfgdsjkfgdkjgfdjfgdjgfjgfdskjfgdsjgfdkjsgfdsjgfdsjgfkdsgfjdfkjjfdsj

ok

se metto : fhdsfhdsifhiosdfhiodsfiodsfiodsfiodsfiodsfiodsfiodsfiodsfiodsufiodfiodsfuiodsfiof

No .. ora non posso come ti dicevo entrare nel database ma vorrei provare a cambiare il titolo da varchar 255 in text :) ma ho paura che mi dia lo stesso errore di descrizione comunque questa sera provo e poi ti so dire ....

Cmq dato che non sono praticissimo a text devo dare un valore !??! oppure lo devo lasciare vuoto !?!??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non so se è opportuno mettere il titolo in text, un titolo che supera 255 caratteriri mi sembra più una descrdcizione che altro.
in tex, mediumtex e longxtext non devi mettere la lunghezza
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
volevo dirti verifica la tabella (ho provato a crearla nel mio sql)

Codice:
CREATE TABLE `ricette_cucina` (
`id` INT( 6 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tipo` VARCHAR( 255 ) NOT NULL ,
`titolo` VARCHAR( 255 ) NOT NULL ,
`url` VARCHAR( 255 ) NOT NULL ,
`descrizione` MEDIUMTEXT NOT NULL 
) ENGINE = MYISAM ;
dovrebbe essere così
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
Purtroppo come ti dicevo prima adesso non posso toccare il database lo faccio questa sera e provo ad inserire la tua tabella ....

PS intendevo che il titolo è diventato descrizione , solo che l'ho lasciato titolo perchè descrizione ormai mi sta facendo impazzire ... e che per provare non potendo modificare il db è ancora in varchar 255 volevo infatti dire che questa sera provo a metterlo in text longtext ecc e vedo se mi da' errore ..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ok.
comunque prova i vardump, spesso gli errori nascono a monte
dimenticavo !!importante!! : nei testi metti addslshes, se hai degli apici (apostrofi) nei testi questi altrimenti ti mandano in pallino il db
 

searedone

Utente Attivo
11 Giu 2010
508
0
0
mhhhhhhhhhh ne ho sentito parlare ma non so come si fa'

ho visto da una discussione questo ...

PHP:
function strip_magic ($value)
{
    $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
    return $value;
}
$campo = strip_magic($_POST['campo']); //ATTENZIONE: i campi di input vanno validati attentamente!!
$campoPerDb = mysql_real_escape_string($campo,$conn);


if(get_magic_quotes_gpc())
{
$numero =stripslashes($numero);
$parola =stripslashes($parola);
$tipo =stripslashes($tipo);
$anno=stripslashes($anno);

$numero =mysql_real_escape_string($numero);
$parola =mysql_real_escape_string($parola);
$tipo =mysql_real_escape_string($tipo);
$anno =mysql_real_escape_string($anno);

}

Ma non ho capito come doveva essere fatto e ho lasciato perdere .... ti posto cosa avevo fatto io ... ma non mi inseriva niente nel db::.

PHP:
  <?php

require ("db_connect.php"); 

?>

 	<?php

   

$id = $_POST['id'];
$tipo = $_POST['tipo'];
$url = $_POST['url'];
$titolo = $_POST['titolo'];

	
function strip_magic ($value)
{
    $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
    return $value;
}
$campo = strip_magic($_POST['campo']); //ATTENZIONE: i campi di input vanno validati attentamente!!
$campoPerDb = mysql_real_escape_string($campo,$conn);


if(get_magic_quotes_gpc())
{
$id =stripslashes($id);
$tipo =stripslashes($tipo);
$url =stripslashes($url);
$titolo =stripslashes($titolo);

$id =mysql_real_escape_string($id);
$tipo =mysql_real_escape_string($tipo);
$url =mysql_real_escape_string($url);
$titolo =mysql_real_escape_string($titolo);

}


	
	$insert = mysql_query("INSERT INTO ricette_cucina(tipo,url,titolo) VALUES ('$tipo', '$url', '$titolo')",$db);  

	
	
	
	?>


Potresti verificare cosa avevo sbagliato ?!?! grazie mille sei gentilissimo
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Come creare un campo di testo e un pulsante che linka ad una pagina? CMS (Content Management System) 3
S da casella di testo a campo tabella Database 0
A [MS Access] Somma Campi se in altro campo presente un determinato testo MS Access 1
gandalf1959 [PHP] Dividere un campo di testo in più campi PHP 9
LalaGp [PHP] Incremento di un campo numerico in base a incremento campo di testo PHP 2
I espandere un campo(testo) di una tabella Javascript 0
T3KN Click & Scrivi in Campo Testo Utente e Psw Java 1
M Come andare a campo in un campo di testo in automatico PHP 9
P Supporto per inserimento campo testo + tasto invio collegato ad un db PHP 1
P Campo testo con input pre-formattato HTML e CSS 2
M Aggiungere campo di testo nel form.... PHP 5
M processare un form con campo testo e radio button PHP 4
I Ricavare campo testo database PHP 1
S Ingrandire testo in un campo input HTML e CSS 6
G modifica campo testo in url Classic ASP 8
R mysql stored procedure (conversione testo in nome campo) Database 1
P Aggiungi evento di controllo campo testo Ajax 11
G Access 2003 Runtime: Campo Calcolato in Origine controllo di una casella di testo MS Access 1
C focus su campo di testo Flash 0
F Campo di testo e decimali Flash 0
S controllo campo testo Javascript 2
T cambiare campo testo da popup Javascript 3
F Problema coi Form: disabilitare campo testo Javascript 3
shee bloccare campo di testo HTML e CSS 4
L Prelevare testo da campo di testo Classic ASP 2
R Scorrere una SELECT con un campo testo Classic ASP 6
steveaustin Apostrofo non visualizzato su campo di testo PHP 1
U script in campo di testo nascosto Classic ASP 1
G Valore del campo id maggiore di 9999 MySQL 0
M Vendo il mio sito web teknosurfng.com, che trasmette nel campo della tecnologia Compravendita siti e domini 0
F errore 1062 su campo nuovo MySQL 4
R Aprire maschera con Openform filtrando un campo testuale con un valore recuperato da un'altra maschera MS Access 10
D Visualizzazione pagina basata sul valore di un campo del database PHP 2
A pulsante di update campo mysql con javascript Javascript 2
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
D riempire campo inserendo un valore in un altro campo PHP 2
S riflettere valore di campo input range in live Javascript 0
P Ricerca campo data PHP 1
M Aggiornare stesso campo in due tabelle PHP 0
U Campo vuoto data errore Fatal error: PHP 2
Alex_70 Aggiornare campo da un altro campo PHP 16
F Steps campo input field Javascript 1
N Chiave Primaria in Campo Calcolato Windows e Software 1
I Focus su un campo Javascript 9
Alex_70 Nascondere label tab se campo vuoto PHP 2
G Impostare suggerimenti campo text di un form Javascript 2
Shyson Inserire placeholder nel campo cerca PHP 5
B Campo ricerca domini HTML e CSS 4
D verifica codice fiscale persona fisica /aziendale stesso campo HTML e CSS 1
G Campo Not null a condizione MySQL 8

Discussioni simili