qualitum logo
JS till PHP post ???

PHPportalen Forum Index » HTML/CSS/JavaScript/Design
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724676
Inlägg Skrivet: 2012-07-23 12:26      Ämne: JS till PHP post ??? Citera

Hej.

Är nog jag som är ganska korkade... men hur fan får man över js till php för att sedan stoppa in i db ?..

Min validering ser ut så här ..


(function($,W,D)
{
var JQUERY4U = {};

JQUERY4U.UTIL =
{
setupFormValidation: function()
{
//form validation rules
$("#register-form").validate({
rules: {
firstname: "required",
lastname: "required",
email: {
required: true,
email: true
},
password: {
required: true,
minlength: 5
},
agree: "required"
},

messages: {
firstname: "Please enter your firstname",
lastname: "Please enter your lastname",
password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long"
},
email: "Please enter a valid email address",
agree: "Please accept our policy"
},
submitHandler: function(form) {
/* form.submit(); */

// Här skall väl det vara ??


}
});





}
}

//when the dom has loaded setup form validation rules
$(D).ready(function($) {
JQUERY4U.UTIL.setupFormValidation();
});

})(jQuery, window, document);
</script>
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724677
Inlägg Skrivet: 2012-07-23 13:14      Ämne: Citera

Skall det gå med "AJAX", alltså utan sidladdning eller skall man komma till en ny sida?

Är det AJAX så kan du använda jQuery.post (http://api.jquery.com/jQuery.post/)
Annars använder du form.submit som du har avkommenterat.

Senast ändrad av marabou den 2012-07-23 14:30, ändrad totalt 1 gång
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724680
Inlägg Skrivet: 2012-07-23 14:02      Ämne: Citera

Yepp är ajax.

Jag vill att den skall skicka alla variabler till låt säga.. process.php där den lägger in dem i SQl och sen bekräftar registreringen.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724681
Inlägg Skrivet: 2012-07-23 14:33      Ämne: Citera

Har du kollat på den länken jag postade? Där har du svaret!
Endast en rad kod behövs.
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724682
Inlägg Skrivet: 2012-07-23 14:37      Ämne: Citera

Yepp..

submitHandler: function(form) {
/* form.submit(); */
var username = $("#username").val();//Get the value in the username textbox
var lastname = $("#lastname").val();

var dataString = 'username='+ username + '&lastname='+ lastname;

$.ajax({ //Make the Ajax Request
type: "POST",
url: "process.php", //file name
data: dataString,

})
}

Men nu skickar han inte vidare till process.php . . hmm


la till success: success efter data... verkar funkar bättre Wink
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724683
Inlägg Skrivet: 2012-07-23 14:58      Ämne: Citera

Du skulle ju inte skicka vidare?? Du skulle ju ha ajax?
Om du har både ajax och skickar vidare till samma php-fil så postas ju formuläret två gånger. Eller har jag missat något?
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724693
Inlägg Skrivet: 2012-07-24 04:37      Ämne: Citera

Nej men alltså..

hmm nu blev jag osäker..

From action=process.php


sen Post jag till Process.php som tar emot variablerna så jag kan lägga in dem i db ?

Finns det något annat sätt ? om hur skall jag då skriva koden ?

Det ända egentligen jag vill är att efter allt stämmer .. släng in värderna i db och visa ett meddelande att registreringen lyckades & skicka användaren vidare till sin "profilsida"
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724699
Inlägg Skrivet: 2012-07-24 10:57      Ämne: Citera

Det vanliga "klassiska" sättet är ett vanligt "post"-formulär. Då skickas besökaren till en annan sida (t.ex. process.php) som tar emot data från formuläret, behandlar den och visar något nytt för besökaren.
För detta behöver du i sin enklaste form, ett formulär och en submit-knapp. Vill du posta formuläret via javascript använder du form.submit() som du har i din kod men den är avaktiverad (kommenterad).

Det "nya" sättet att posta formulär "Web 2.0" är med AJAX. Det betyder "Asynchronous Javascript And Xml" och innebär att formuläret skickas "i bakgrunden" och besökaren stannar kvar på sidan utan omladdning. När man får svar från servern (i bakgrunden) kan man t.ex. visa ett meddelande på den aktuella sidan. Vill du använda detta är det jQuery.post eller jQuery.ajax som du skall använda.
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724710
Inlägg Skrivet: 2012-07-24 13:55      Ämne: Citera

Oki.
Menar du då att jag skall

form.submit(

$.ajax({
type: "GET",
url: "process.php",
data: dataString,
success: success

});
// Sen måste det väl ligga någon success true & false på process sidan , som han sedan skickar tillbaka om allt gick rätt till på process.php ?

);
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724713
Inlägg Skrivet: 2012-07-24 14:06      Ämne: Citera

Du får bestämma dig för en metod. Antingen form.submit (vanligt formulär som postar besökaren vidare till en annan sida) eller $.ajax som postar formuläret i bakgrunden utan att skicka besökaren vidare. Du ska inte använda båda!

Om du använder form.submit() så skall din process.php ge en helt ny sida till användaren. Han lämnar alltså den sidan han var på och skall presenteras med en ny sida, som t.ex. ger ett meddelande att det gick bra/dåligt.

KOD:
1:
submitHandler: function(form) {
2:
    form.submit();
3:
}


Använder du AJAX så måste process.php ge ett svar som du kan tolka i din success-metod. Det kan vara så enkelt som "OK" eller "FEL" eller så kan det vara xml-data med nya värden som du använder i javascript-funktionen för att uppdatera på sidan.

KOD:
1:
submitHandler: function(form) {
2:
 
3:
  var username = $("#username").val();//Get the value in the username textbox
4:
  var lastname = $("#lastname").val();
5:
 
6:
  var dataString = 'username='+ username + '&lastname='+ lastname;
7:
 
8:
  $.ajax({ //Make the Ajax Request
9:
    type: "POST",
10:
    url: "process.php", //file name
11:
    data: dataString,
12:
    success: function (data, status) {
13:
      alert(data); // Här skriver du ut resultatet från process.php
14:
    }
15:
  });
16:
}
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724795
Inlägg Skrivet: 2012-07-26 15:41      Ämne: Citera

Tack marabou för alla dina svar/inlägg.

Då kör vi med

$.ajax({ //Make the Ajax Request
type: "POST",
url: "process.php", //file name
data: dataString,
success: function (data, status) {

alert(data); // Här skriver du ut resultatet från process.php

}
})

hur skall det så i process.php efter

$sql = "INSERT INTO bud_users(firstname,lastname)
VALUES('{$firstname}','{$lastname}')";

mysql_query($sql) or die("error");

den borde väl returnera status ? om hur ?

Sen hur går man vidare då sql dör & det blir error, då vill man ju gärna returnera detta.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724933
Inlägg Skrivet: 2012-07-31 14:51      Ämne: Citera

Alltå..

i proccess.php måste ju den säga till om det är success eller inte med sql körningen,, om inte så kan ju inte scriptet bli success.. men hur fasiken skall man göra ?.. och hur hantera man datan då ?

Tips snälla ?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724934
Inlägg Skrivet: 2012-07-31 15:05      Ämne: Citera

I process.php kör du echo "success"; om det lyckades eller echo "failure"; om det misslyckades.

Om du sen har alert(data) i success-funktionen så kommer du se om det lyckades eller inte.

Du kan också köra echo "ay caramba!"; och echo "uh oh!" eller echo "jomenvisst!"; och echo "aj aj aj"; eller vilka meddelanden du själv önskar, så länge du hanterar dem i success-funktionen i javascript.

(success-funktionen i javascript/jQuery betyder att anslutningen lyckades och att den fick svar från servern, om du behöver hantera felmeddelanden från servern skall du göra det i success-funktionen)
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
ncc1701e



Medlem i: 2434 dagar

Status: Offline



#724935
Inlägg Skrivet: 2012-07-31 15:15      Ämne: Citera

Tack för ditt snabba svar.

Så alltså i process.php

efter:
mysql_query($sql) or die("error");

echo "success";

om nu error

echo "failure";

/////////////
Min fråga är hur hämtar success upp echo "success" eller failure från process.php ?


success: function (data, status) {

alert(data);

}

om då failure ?
hur visa detta , då låt säga att sql inte gick igenom ?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Moderator



Medlem i: 3147 dagar
Från: Sveriges framsida
Status: Offline



#724936
Inlägg Skrivet: 2012-07-31 16:00      Ämne: Citera

allt som skrivs ut från process.php kommer finnas i variabeln data i success-funktionen. Om process.php skickar ett felmeddelande så får du kolla det i success-funktionen.
"Success" i ajax/jQuery betyder att anslutningen/anropet till process.php har utförts. Vad process.php skrev ut finns i variabeln data.
Därför skrev jag alert(data) så du ser om det blev "success" eller "failure".

Istället för att alerta ut det så kan du ju kolla med en if-sats:
KOD:
1:
success: function (data, status) {
2:
 
3:
  if (data == "success") {
4:
      alert("Postningen till process.php lyckades");
5:
  }
6:
  else if (data == "failure") {
7:
      alert("Postningen till process.php misslyckades");
8:
  }
9:
  else
10:
  {
11:
      alert("Postningen till process.php returnerade varken success eller failure!");
12:
  }
13:
 
14:
}
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2  Nästa
PHPportalen Forum Index » HTML/CSS/JavaScript/Design
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo