E possibile controllare se una tabella esiste un nome...
se si colore l'input di rosso e se non esiste di verde
E possibile controllare se una tabella esiste un nome...
se si colore l'input di rosso e se non esiste di verde
Si, devi usare Ajax. Ti consiglio di studiarti un framework tipo jQuery, è più facile lavora con il javascript e specialmente per Ajax
Ultima modifica di stoner : 24-08-2009 alle ore 19.29.25
Potresti darmi un esempio....
di codice ^^
Se vuoi usare jQuery, qui c'è la documentazione relativa ad Ajax. Dacci un'occhiata, non è difficile, ci sono anche esempi.
per ora sono riuscito a trovare e scrivere questo e giusto o sono fuori rotta?
^^
<script language="javascript" runat="server">
conn=Server.CreateObject("ADODB.Connection")
conn.Open("my_zappi")
rs=Server.CreateObject("ADODB.Recordset")
rs.Open("SELECT * FROM Miatabella", conn)
while(!rs.EOF){
response.write()
rs.MoveNext()
}
rs.Close()
conn.Close()
</script>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input id="name" type="text" onfocus="" onchange="" name="name">
<input type="submit" name="invia" value="INVIA">
</form>
Sei finito proprio su un altro pianeta.
A me quel codice ricorda molto da vicino il vecchio asp usando come linguaggio di scripting il javascript (non lasciarti ingannare dal tag <script>, quella parte viene interpretata dal server (runat="server"), se hai ASP - ovviamente).
Quindi non direi. Scusa, vorrei sapere come sei finito laggiù dalla pagina di jQuery contenente gli esempi in Ajax che ti ho linkato sopra :D
uno script che avevo trovato con una ricerca...
XD
dimmi il link preciso che mi interessa perche ce ne sono tante guide e non so quale mi serve...
Ma tel'ho linkata sopra la pagina!!
http://docs.jquery.com/Ajax
cosi va bene allora
<script type="text/javascript" language="Javascript">
function createXMLHttpRequest() {
var ua;
if(window.XMLHttpRequest) {
try {
ua = new XMLHttpRequest();
}catch(e) {
ua = false;
}}else if(window.ActiveXObject) {
try {
ua = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e) {
ua = false;
}}
return ua;
}
var req = createXMLHttpRequest();
function sendRequest(id) {
req.open('get', 'func.php?id=' + id);
req.onreadystatechange = handleResponse;
req.send(null);
}
function handleResponse() {
if(req.readyState == 4){
var response = req.responseText;
var update = new Array();
if(response.indexOf('||' != -1)) {
update = response.split('||');
document.getElementById(update[0]).innerHTML = update[1];
}}else
alert("loading" + req.readyState);
}
</script>
<a xhref="javascript:sendRequest('myRequest');">clicc ami.</a>
<span id="showDiv">
</span>
<?php
switch($_REQUEST['id']) {
case 'myRequest':
echo "showDiv||";
# inserite qui il nome del vostro sever MySQL , la username, e la password --> meglio utilizzare cmq una include in questi casi
$link = mysql_connect('my_zappi', 'zappi', '');
# se la connessione crolla allora manda echo dell'errore
if (!$link) {
die('Spiacenti ma è impossibile connettersi al server: ' . mysql_error());
}
# altrimenti la connessione è avvenuta con successo
echo 'Ok, connessione avvenuta con successo<br>';
# chiusura connessione
mysql_close($link);
break;
}
?>
Vabè, se vuoi usare direttamente javascript è inutile che ti linko la documentazione di jQuery, secondo me è più semplice, ma se vuoi farlo così problemi tuoi.
in ogni modo, quello che devi fare è mettere il controllo su un'altra pagina. Ad esempio, su pagina.html metti la registrazione, su pagina.php il controllo, che, dato un nome utente, controlla se è disponibile o meno, e restituisce 0 o 1. A seconda del valore di ritorno colori la casella dei corrispettivi colori. Per fare questo basta fare una richiesta tramite ajax alla pagina e controllare il valore di ritorno.
http://forum.it.altervista.org/php-m...ominciamo.html
Questa discussione può aiutarti
stoner..XD
allora ti faccio vedere un es.
di come vorrei farlo
https://signup.live.com/signup.aspx?...ollrs=12&lic=1
Windows Live ID lui controlla se esiste un mail o no e se esiste lo dice e consiglia casomai un id....
io non so da dove cominciare ho con ajax o jQuerty
sai per caso darmi una mano col codice il controllo deve avvenire subito...
Guarda il link di esempio.
Da quel che ho capito ha un'area di testo dove immette un nome utente, e deve controllare in tempo reale se quel dato è già presente in una tabella del database.
A seconda del risultato, poi, colora la casella di input.
Ci vogliono per forza ajax e javascript: il primo per sapere da uno script se il record esiste, il secondo per cambiare il colore dell'area di testo.
@zappi: quoto il consiglio di stoner di usare jQuery.
E' piuttosto semplice, guarda il primo listato qui e aguzza l'ingegno :D
Ciao!
Ultima modifica di programmazioned : 25-08-2009 alle ore 16.38.41
Hai ragione...^^
deve controllare se esiste prima che vengono inviati i dati....
@programmazioned:
gli ho dato uno occhiata ma non ci sto riuscendo ci penso pura la notte pensa...
non è che potresti darmi una mano col codice...
vedi se ti può essere d'aiuto
http://www.skipstorm.org/2008/12/int...un-form/all/1/
Non ci sto riuscendo a capire qualcuno che se ne intende di javascript o ajax o altro sa darmi a fare questa connessione con db in javascript...^^
vi prego
Ti faccio un esempio:
Questo è il form.
server.phpCodice HTML:<html> <head> <title>Prova Ajax</title> <script type="text/javascript"> /* <![CDATA[ */ function xmlhttp() { var xmlhttp = null; try { xmlhttp = new XMLHttpRequest(); } catch(e) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlhttp; } function utente(user) { var ajax = xmlhttp(); var dato = "user=" + unescape(user); ajax.open("POST", "server.php", true); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax.setRequestHeader("Content-length", dato.length); ajax.send(dati); ajax.onreadystatechange = function() { if(ajax.readyState == 4) { switch(ajax.responseText) { case "si": document.registrazione.r.removeAttribute("disabled"); document.registrazione.user.style.border = "1px solid green"; break; case "no": document.registrazione.r.setAttribute("disabled", "true"); document.registrazione.user.style.border = "1px solid red"; break; } } } ajax.setRequestHeader("Connection", "close"); } /* ]]> */ </script> </head> <body> <form name="registrazione"> Utente: <input type type="text" name="user" onkeyup="utente(this.value)" /> <!-- altri campi per la registrazione --> <input type="submit" name="r" value="Registrati" disabled="true" />
Codice PHP:
<?php
if(!isset($_POST["user"]))
exit();
$db = mysql_connect("localhost", "username", "password");
mysql_select_db("todatabase", $db);
$query = mysql_query("SELECT campo FROM tabella WHERE username = '" . mysql_real_escape_string($_POST["user"]) . "' LIMIT 1", $db);
if(mysql_num_rows($query) == 1)
echo "si";
else
echo "no";
mysql_close($db);
?>
Ricordati di impostare i parametri per la connessione e la query.
Spero che tu abbia capito.
Saluti!
ti ringrazio ma non sta funzionando li ho modificati cosi ma niente....^^
p.s.
oltre al campo nickname nella tabella nomi dovrei controllare se esiste nell tabella nomi un mail uguale dove devo modificare....
Codice PHP:
<?php
if(!isset($_POST["nickname"]))
exit();
$db = mysql_connect("localhost", "zappi", "");
mysql_select_db("my_zappi", $db);
$query = mysql_query("SELECT * FROM nomi WHERE
nickname = '" .mysql_real_escape_string($_POST["nickname"]). "' LIMIT 1", $db);
if(mysql_num_rows($query) == 1){
echo "si";
}else{
echo "no";
}
mysql_close($db);?>Codice PHP:
<html>
<head>
<title>Prova Ajax</title>
<script type="text/javascript">
function xmlhttp() {
var xmlhttp = null;
try {
xmlhttp = new XMLHttpRequest();
}
catch(e){
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}}
return xmlhttp;
}
function utente(nickname) {
var ajax = xmlhttp();
var dato = "nickname=" + unescape(nickname);
ajax.open("POST", "server.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.setRequestHeader("Content-length", dato.length);
ajax.send(dati);
ajax.onreadystatechange = function() {
if(ajax.readyState == 4) {
switch(ajax.responseText) {
case "si":
document.registrazione.r.removeAttribute("disabled");
document.registrazione.nickname.style.border = "1px solid green";
break;
case "no":
document.registrazione.r.setAttribute("disabled", "true");
document.registrazione.nickname.style.border = "1px solid red";
break;
}}}
ajax.setRequestHeader("Connection", "close");
}
</script>
</head>
<body>
<form name="registrazione">
Utente: <input type type="text" name="nickname" onkeyup="utente(this.value)">
<input type="submit" name="r" value="Registrati" disabled="true">
</form>