Just nu i M3-nätverket
Jump to content

Kontrollera om epost redan finns i databas


happyfejs

Recommended Posts

Förresten, pröva att använda GET som metod istället.

 

Alltså:

type: "GET",

istället för

type: "POST",

 

(på php-sidan får du också ändra så att den använder $_GET istället)

Link to comment
Share on other sites

  • Replies 66
  • Created
  • Last Reply
alltså den returnerar ju rätt värde i firebug nu, men knappen inaktiveras inte

Jag testade själv nu och fick det inte att fungera med POST (har inte klurat ut varför än), men med GET gick det bra.

Link to comment
Share on other sites

status kan vara ett reserverat ord eller annat konstigt.

 

testa med detta:

success: function (msg) {
    if (msg== "1") jQuery("#submit").attr('disabled', 'disabled');
alert(msg);
}

 

Är du säker att det inte skrivs ut några mellanslag före/efter siffran?!

Link to comment
Share on other sites

Har inte kollat igenom koden här alls men tänkte påminna om att eforums-kodfunktion ibland ändrar om skiftläge (versaler/gemener) på vissa (i vbscript reserverade ord) vilket tyvärr kan ställa till det.

Link to comment
Share on other sites

Hittar ni nått sånt ord guys? Har inte en aning om vilka som ska vara gemener eller versaler :S

 

Tack som fan för att ni orkar hjälpa föresten :) mycket uppskattat

Link to comment
Share on other sites

Det är dags att du lär dig felhantering.

 

missing ) after argument list
[break on this error] });\n

addMember.inc.php (rad 19)

 

Ett "}" för mycket efter successmetoden

Link to comment
Share on other sites

På vilket sätt då menar du? Har aldrig kikat på felkoder mer än de jag får direkt när det är fel i phpkoden. Vart hittade du den felkoden och vad menas med den? :S

Link to comment
Share on other sites

jag kontrollerade antalet tecken som skickas med svaren (som egentligen skall vara "0" eller "1") och fick 5 tecken.

 

Ta bort alla blankrader och mellanslag i php-sidan före, efter och i php-koden.

 

Felkoden fick jag i Firebug

Link to comment
Share on other sites

Nu kommer det ju upp ett meddelande med returvärdet :D, yay. Men knappen inaktiveras fortfarande inte :S

 

Missade en "}" när jag klistrade in din kod, sorry..

Link to comment
Share on other sites

Okay, nu har jag tagit bort alla blankrader, hur kontrollerar man tecken? Finns det nån bra sida/bok man kan lära sig mer om felkoder/felsökning i? Har som sagt aldrig tidigare använt firebug och vet egentligen inte vad jag gör när jag klickar runt där, hehe

Link to comment
Share on other sites

Nu vet jag inte vad du gjort - allt verkar returnera "1" nu.

 

Dock har jag sett att borttagning av fnuttar i success-metoden fungerar.

if (msg== 1) 

 

Felhantering är mera ett arbetssätt i utvecklingen för att undersöka var man får fel

 

 

T ex:

jQuery(document).ready(function () {
     alert("jquery har laddats");
       jQuery('#email').blur(function () {
               alert("#email blur har triggats");

               var email = jQuery(this).val();
               alert("email value: " +email);                
               jQuery.ajax({
                       type: "GET",
                       url: "checkMail.php",
                       async: true,
                       data: "email=" + email,
                       success: function (msg) {
               alert("ajax success! response value: " +msg);        
    if (msg== 1) jQuery("#submit").attr('disabled', 'disabled');
                       }
               });
       });
});

 

När allt fungerar skall man ta bort alla alert.

Vid förändring borde man återinsätta alla alerts igen.

Link to comment
Share on other sites

Skumt, jag får bara 1 när jag skriver in en mail som finns, annars får jag 0 :S

Ska jag ta bort fnuttarna i success eller ska de ligga kvar?

Link to comment
Share on other sites

Nu har jag lagt in den php koden som du skrev i början för att att den skulle kolla så man hade skickat med mail osv

 

<?php
	if(!isset($_GET["email"])) die("1");
	include '../includes/db_settings.inc.php';
	$conn = mysql_connect($sql_host, $sql_user, $sql_pass) or die ("1");
	$database = mysql_select_db($sql_db,$conn);
	$email = $_GET["email"];
	$query  = "SELECT email FROM members WHERE email = '" . $_GET["email"] . "'";
 		$result = mysql_query($query) or die("1");
 		echo ($result) ? "1" : "0";
	include '../includes/closedb.php';
?> 

 

Testa den på den här sidan http://www.gallstad.nu/pages/checkMail.php?email=sebastian@happyfejs.se. Funkar dock inte så bra, returnerar alltid 1

Link to comment
Share on other sites

testade att ändra

if(!isset($_GET["email"])) die("1");

till die 0 och inte skicka med en mail, men det blev ändå 1.

och så testade jag att ändra

echo ($result) ? "1" : "0";

till 0,1 istället för 1,0 och då skrev den ut 0 :S

 

testade även att ändra de andra ställen där det stog 1 till 0 men skrev fortfarande ut 1

 

fattar ingenting

Link to comment
Share on other sites

Lugna dig lite nu.

PHP-koden du hade innan fungerade uppenbarligen så du får gå tillbaka till den versionen.

 

Men den php-koden skall ajaxen fungera. if-satsen jag skickade senast skall gälla, med den fungerade det för mig.

Link to comment
Share on other sites

Sweet bananas, nu funkar det :D, sista prylen kvar då, att skriva en text vid mailrutan att den redan existerar. Hur gör jag det? Samt att knappen ska aktiveras igen om den retunerar 0 efter den returnerat 1.

 

Tack som fan för hjälpen :D

Link to comment
Share on other sites

1. Skapa rutan i html-koden med ett id (valfritt). (styla om, och hur du vill)

2. I js - innan du lägger till blur-eventet på #email, göm meddelanderutan med jquery:

jQuery("#felmeddelandet").hide();

 

efter successmetoden ändra if-satsen till

if (msg==1)
{
jQuery("#submit").attr('disabled','disabled');
jQuery("#felmeddelandet").html("Epostadressen finns redan").show();
}
else{
jQuery("#submit").attr('disabled','');
jQuery("#felmeddelandet").html("").hide();
}

Link to comment
Share on other sites

fint. Ha som vana att klicka i lite poäng som tack (gröna plus-ikonen).

 

Köp en php- och en javascriptbok. Det kan behövas i framtida produktioner för ökad inlärning och förståelse.

Link to comment
Share on other sites

Lite generella tips:

1. Jag hade gjort en div eller span för felmeddelandetexten, inte en textarea.

2. Label runtom behövs inte.

3. Om du vill - ändra om till POST igen.

Eller du kan testa det iaf, då vi antagligen löst det ursprungliga felet.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.




×
×
  • Create New...