Ich entwickle eine Seite mit HTML und PHP ...

Was ich bisher für die Schaltfläche "Gefällt mir" auf meiner Seite getan habe, ist wie folgt (das Konzept ist gleich, nur der Name ist auf Facebook unterschiedlich, es ist wie und auf meiner Website ist es "Punkte hoch").

<form method="post">
<input type="hidden" value="<?php echo $posts[postid]; ?>" name="postid">
<input type="submit" name="pointsup" value="Points Up" />
</form>

Mit dem obigen Befehl wird die Schaltfläche mit dem Namen Points Up erstellt.

if(isset($_POST['pointsup'])) { in this if block i have written all queries to update database and user interface and all }

Was ich will ist, anstelle dieser Schaltfläche sollte es einen Link geben, der meinen SQL-Code ausführt.

Ich habe auch JavaScript ausprobiert, aber es hilft nichts

Vielen Dank im Voraus für Ihre Antworten!

0
sumit 7 Okt. 2012 im 17:00

3 Antworten

Beste Antwort

Wenn Sie mit einem einzelnen Ankertag (Hyperlink) arbeiten, sollten Sie Ihre Parameter per GET-Methode senden. falls /your/address/rate.php?id= und $_GET['id'] in PHP überprüfen (validieren / bereinigen / ...)

Sie können Ihre Anfragen auch mithilfe von AJAX als POST senden. Dies ist ein Beispiel für jQuery:

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

Schauen Sie sich hier an

Wenn Sie jedoch reines JavaScript verwenden möchten, sollten Sie mit dem Objekt XMLHttpRequest arbeiten. Schauen Sie sich hier an.

0
Hashem Qolami 7 Okt. 2012 im 13:42

Sie können einfach einen Link mit einer ID hinzufügen, damit Sie ihn mit jquery leicht erreichen können.
Erstellen Sie eine PHP-Seite, auf der Sie die Abfrage und andere Dinge erledigen (Sicherheitsüberprüfung, Cookie, was auch immer Sie tun möchten), und fügen Sie dem Link schließlich ein Ajax-Ereignis hinzu, um Ihre PHP-Seite aufzurufen.

Drucken Sie den Link auf Ihrer Seite aus:

<a href="" id="voteup">Vote up</a>

Erstellen Sie PHP

<?php
  // do the query and other stuff, return the result in json format
  // if you want to do something with the result (for example display the votes)

Javascript

$('#voteup').click(function(e){
  $.ajax({
  url: "your/url/to/phpfile",
}).done(function(data) { 
  // rewrite link to undo vote or whatever you want
  // do something with the returned data
});
});
0
n2o 7 Okt. 2012 im 13:29

Sie sollten etwas tun wie:

  1. Finden Sie heraus, wohin Sie Ihren Link verweisen sollten und welche Parameter benötigt werden. Ich werde es $ url nennen. Dies kann Dinge wie das Erstellen zusätzlicher Dateien, das Umgestalten Ihres Codes usw. beinhalten.
  2. Schreiben Sie eine js-Methode, die eine Anfrage an $ url sendet. Ich werde diese Methode sendPointsUp aufrufen;
  3. Erstellen Sie einen Link, der auf das Ereignis onClick reagiert, und rufen Sie von dort aus sendPointsUp mit den gewünschten Parametern auf.
0
Marek Skórkowski 7 Okt. 2012 im 13:27