- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sono niubbi anche in php...prime query!
-
Sono niubbi anche in php...prime query!
Ciao!
Sto imparando il php...
E sto battagliando con la connessione ad un database mysql.
Il problema è che voglio implementare tutte le operazioni CRUD...
mi sono fermato all'inserimento nella base di dati...
(non sfottetemi, vi prego!)!ho un piccolo problema nella "insert":
Questo è il codice:$query = "insert into rubrica (Id, Nome, Cognome, Telefono) values('$nome', '$cognome', '$numTel')";
e mi dà un errore di sintassi...qualcuno sà spiegarmi qual'è?
(ripeto senza infierire...:))altro problemino:
nella tabella, l'Id è auto_increment...come cavolo si fà a far effettuare l'inserimento in automatico?Ovviamente tutti i dati vengono passati da una form tramite metodo POST e vengono assegnati a delle variabili nella pagina in questione...
Vi ringrazio anticipatamente...
-
$query = "insert into rubrica (Nome, Cognome, Telefono) values('$nome', '$cognome', '$numTel')";
...prova così
autoincrement si inserisce da solo appena si crea una nuova riga
-
io ti consiglio una lettura di questi brevi tutorial scritti dal sottoscritto
http://www.albertobottarini.com/phpschool/le-sinergie-tra-php-e-mysql-come-e-quando-usare-un-database/
-
Ora sto leggendo l'articolo...
Cmq, mi da sempre errore...
Parse error: parse error in c:\programmi\easyphp1-8\www\php\mysql\inseriscicontatto.php on line 16
dove in linea 16 c'è la query prima postata...
cmq, vi posto tutteddue le pagine:
Questa è la pagina "aggiungiContatto.php"
<html> <head> <title>Connessione base di dati</title> </head> <body> <? require "connessione.php"; mysql_close($conn); ?> <h3>Inserisci un contatto:</h3> <div> <form action="inserisciContatto.php" method="post"> <p>Nome: <input type="text" name="nome"></p> <p>Cognome: <input type="text" name="cognome"></p> <p>Numero di telefono: <input type="text" name="numTel"></p> <p> <input type="submit" name="Invia" value="Invia i dati"> <input type="reset" name="Reset" value="Reset"> </p> </div> <p>Torna alla <a href="index.php">home</a>.</p> </body> </html>
Questa è la pagina "inserisciContatto.php"
(non esiste ancora la convalida sui dati inseriti...)<html> <head> <title>Connessione base di dati</title> </head> <body> <? require "connessione.php"; $maxId = mysql_query("select max(Id) from rubrica"); $nome = $HTTP_POST_VARS["nome"]; $cognome = $HTTP_POST_VARS["cognome"]; $numTel = $HTTP_POST_VARS["numTel"] $query = "insert into rubrica (Nome, Cognome, Telefono) values('$nome', '$cognome', '$numTel')"; mysql_query($query) or die("Si è verificato un errore: " . mysql_error()); mysql_close($conn); ?> <div> <p>L' Id massimo prensente nella base di dati è: <? echo $maxId ?> </p> </div> <div> <h2>Contatto inserito!</h2> <h3>I dati da te inseriti sono:</h3> <p>Nome: <? echo $nome ?></p> <p>Cognome: <? echo $cognome ?></p> <p>Numero di telefono: <? echo $numTel ?></p> </div> <p>Torna alla <a href="index.php">home</a>.</p> </body> </html>
Mentre leggo l'articolo, se mi date n'occhiata al codice...grazie!
Veramente gentili...
-
trovato l'errore:
$numTel = $HTTP_POST_VARS["numTel"]
manca il punto e virgola alla finea volte ti segna un errore su una riga ma devi capire che anche il php è stupido quindi leggi le righe precedenti e leggi pure le righe dei file che includi
-
Dieci minuti di vergogna...
Infatti funziona...
Giusto che ci siamo:
Potete darmi alcune dritte sulla convalida dei dati?
-
in che senso convalida? vuoi che i dati inseriti siano controllati?
-
Ora vi spiego i miei dubbi da neofita nel campo:
Premessa il tutto è dovuto al fatto che ho imparato a programmare in java per la connessione con una base di dati postgres e jsp, quindi mi trovo un po spiazzato ancora...
Cmq, dicevo:
ero abituato a fare la convalida dai dati inseriti in una form tramite una classe java scritta appositamente...
Ora non so come fare la convalida dei suddetti in php...tenendo conto dei file già postati dove devo mettere quella "catasta" di if che immagino di mettere?
Poi, più in là vi scasserò gli zebedei per quanto riguarda l'ottimizzazione del codice e la programmazione ad oggetti...sempre se siete disposti a darmi retta (o se avete tanta, ma tanta pazienza!)
-
mi sa proprio che ti tocca fare gli if XD
-
@Wantley said:
mi sa proprio che ti tocca fare gli if XD
Scusa la mia enorme ignoranza...ma che cavolo sono?
-
in pratica tu devi controllare che l'utente nn scrivi delle cag**e giusto?
quindi ad esempio se l'utente mette come nome ">_35656!'2)9394" devi dirgli: "ma cosa stai scrivendo?"quindi farai:
if(!ctype_alpha($_REQUEST['nomeUtente']))
{
echo 'errore';
}
else if(...)
{
...
}quindi in ogni if controllerai se i dati inseriti sono giusti o sbaglaiti
-
infatti è quello che vorrei fare...
ma le convalide, dove vanno messe, in che file? nel file dove inserisco i dati o in quello successivo?
-
devi emtterlo nel file successivo (se nn sbaglio quello aggiungiContatto.php) li metti tutti gli if e se almeno 1 ti segna che i dati sn sbagliati gli carichi una pagina di errore altrimenti gli carichi una pagina del tipo: "complimenti!! sai come ti chiami" XD
-
Occhei...
Infatti ora farò una bella pagina d'errore in cui stamperò gli eventuali errori...Ma non è più semplice reindirizzarlo alla pagina degli inserimenti?
Cmq grazie per il tempo che mi stai concedendo...
Menzionerò tutti coloro i quali mi aiuteranno in questa tremenda battaglia (:D) sui ringraziamenti nella mia tesi!
-
tesi? che scuola fai?
per i reindirizzamenti puoi usare
header("Location: /url/pagina.php");
ma di solito i professori sconsigliano l'uso di header() sia xke nn è standard sia xke la puoi usare solo a inizio pagina
-
Dovrei, molto teoricamente, prendere una laurea di tre anni in informatica...e devo fare un progetto(quello finale,di cui dovrò scrivere la relazione, o tesi) in php (Argomento non studiato durante il corso di laurea...)
Devo modificare in cms (Joomla) e non sapendo un BEEP di php mi sto istruendo...Cmq, ho visto molte volte
header("Location: /url/pagina.php");
e mi devo istruire pure in materia....
-
ah... io faccio le superiori XD
un consiglio nn usare header()
piuttosto fai una pagina errore.php
e la chiami in facendo include(errore.php);
nn reindirizza la pagina ma hai lo stesso risultato nel tuo caso
-
infatti...sono più orientato a fare così...
Ora ci lavorerò su...e ti farò sapere...
Preparati ad altre scocciature!
-
ho fatto una specie di convalida dei dati...
e per ora funziona.
Ora sto battagliando con le sessioni:Domanda:
Se devo far passare dei dati da una pagina all'altra tramite sessione, devo per forza mettere, prima dell' head della pagina session_start(); ???Poi ho messo un controllo nella index:
<?
if(isset($_SESSION))
session_destroy();?>
è una fesseria o funziona?
Per ora grazie...
-
x le sessioni devo ancora vedermele...
cmq x registrare una variabile fai session_register("nomeVar"); (se nn sbaglio)
poi con $_SESSION["nomeVaribile"] leggi la varibile in ogni pagina del sitox quanto riguarda il tuo codice io lo metterei nella pagina di logout e nn userei quella condizione... cosa te ne fai li?