Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.
Moderators:
Super-Moderators, WebDev Moderators
| Αποστολέας | Μήνυμα |
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
Στις: 07 Ιουν 2012 11:13 Θέμα:
Post φόρμας χωρίς να γίνεται ανανέωση σελίδας |
|
|
Καλησπέρα σε όλους, έχω τις παρακάτω φόρμες και θέλω όταν κάνω ενημέρωση, διαγραφή ή προσθήκη δεδομένων να μην γίνεται ανανέωση στην σελίδα μου. Επειδή δεν γνωρίζω καλά Ajax μπορείτε να με βοηθήσετε? Eυχαριστώ εκ τον προτέρων!
| κώδικας: | <?php session_start();
if ($_SESSION['user']=='dimos_mitel')
{?>
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>Λίστα Παικτών</TITLE>
</HEAD>
<body bgcolor="#1F7797">
<?php
mysql_query("SET NAMES 'utf8'");
$con = mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("fillo_agwna",$con);
mysql_query("SET NAMES 'utf8'");
if (isset($_POST['x'])) {
if ($_POST['x']=="update") {
$UpdateQuery = "UPDATE stoixeia_paiktwn SET ar_deltiou='$_POST[ar_deltiou]', onoma='$_POST[onoma]', epwnimo='$_POST[epwnimo]', ar_fanelas='$_POST[ar_fanelas]', imer_gennisis='$_POST[imer_gennisis]' WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
}
else if($_POST['x'] == 'delete'){
$DeleteQuery = "DELETE FROM stoixeia_paiktwn WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
}
else if($_POST['x'] == 'add'){
$AddQuery = "INSERT INTO stoixeia_paiktwn (ar_deltiou, onoma, epwnimo, ar_fanelas, imer_gennisis) VALUES ('$_POST[uar_deltiou]','$_POST[uonoma]','$_POST[uepwnimo]', '$_POST[uar_fanelas]', '$_POST[uimer_gennisis]')";
mysql_query($AddQuery, $con);
}
}
$sql = "SELECT * FROM stoixeia_paiktwn order by ar_deltiou";
$myData = mysql_query($sql,$con);
echo "<table border=1>
<tr>
<th>Αριθμός Δελτίου</th>
<th>Όνομα</th>
<th>Επώνυμο</th>
<th>Αριθμός Φανέλας</th>
<th>Ημερομηνία Γέννησης</th>
</tr>";
while($row = mysql_fetch_array($myData)){
echo "<form action=superuser_panel.php method=POST>";
echo "<tr>";
echo '<td>' . '<input type="text" name="ar_deltiou" readonly=readonly value="' . $row['ar_deltiou'] . '" </td>';
echo '<td>' . '<input type="text" name="onoma" value="' . $row['onoma'] . '" </td>';
echo '<td>' . '<input type="text" name="epwnimo" value="' . $row['epwnimo'] . '" </td>';
echo '<td>' . '<input type="text" name="ar_fanelas" value="' . $row['ar_fanelas'] . '" </td>';
echo '<td>' . '<input type="text" name="imer_gennisis" value="' . $row['imer_gennisis'] . '" </td>';
echo '<td>' . '<input type="hidden" name="hidden" value="' . $row['ar_deltiou'] . '" </td>';
echo "<td>" . "<input type=submit name='x' value='update'" . " </td>";
echo "<td>" . "<input type=submit name='x' value='delete'" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=superuser_panel.php method=POST>";
echo "<tr>";
echo "<td><input type=hidden name=uar_deltiou></td>";
echo "<td><input type=text name=uonoma></td>";
echo "<td><input type=text name=uepwnimo></td>";
echo "<td><input type=text name=uar_fanelas></td>";
echo "<td><input type=text name=uimer_gennisis></td>";
echo "<td>" . "<input type=submit name='x' value='add'" . " </td>";
echo "</form>";
echo "</table>";
mysql_close($con);
?>
</body>
</html>
<?} else
{echo '<meta http-equiv="refresh" content="0;url=./index.php">';
die();}?>
| [/code] _________________ miteletsis
|
|
|
|
alou
Μέλος από: 24 Αυγ 2007 Μηνύματα: 256+
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
|
|
|
alou
Μέλος από: 24 Αυγ 2007 Μηνύματα: 256+
|
Στις: 07 Ιουν 2012 15:40 Θέμα:
|
|
|
_________________ alou
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
Στις: 07 Ιουν 2012 19:20 Θέμα:
|
|
|
Το δοκίμασα, επειδή θέλω απλά στο post να ΜΗΝ γίνεται ανανέωση της σελίδας, το παίδεψα αλλά τίποτα. Όταν λέω post εννοώ είτε πατήσω update, delete ή add. Ο κώδικας που προσπάθησα να προσαρμόσω είναι αυτός:
| κώδικας: | <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$().ajaxStart(function() {
$('#loading').show();
$('#result').hide();
}).ajaxStop(function() {
$('#loading').hide();
$('#result').fadeIn('slow');
});
$('#contactform').submit(function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
$('#result').html(data);
}
})
return false;
});
})
</script> |
Το κομμάτι με το #loading και το #result τα αφαίρεσα γιατί δεν τα χρησιμοποιώ πουθενά.
Ακολουθεί ο κώδικας όπως τον προσάρμοσα:
| κώδικας: | <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#form').submit(function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
}
})
return false;
});
})
</script>
<?php
mysql_query("SET NAMES 'utf8'");
$con = mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("fillo_agwna",$con);
mysql_query("SET NAMES 'utf8'");
if (isset($_POST['x'])) {
if ($_POST['x']=="update") {
$UpdateQuery = "UPDATE stoixeia_paiktwn SET ar_deltiou='$_POST[ar_deltiou]', onoma='$_POST[onoma]', epwnimo='$_POST[epwnimo]', ar_fanelas='$_POST[ar_fanelas]', imer_gennisis='$_POST[imer_gennisis]' WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
}
else if($_POST['x'] == 'delete'){
$DeleteQuery = "DELETE FROM stoixeia_paiktwn WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
}
else if($_POST['x'] == 'add'){
$AddQuery = "INSERT INTO stoixeia_paiktwn (ar_deltiou, onoma, epwnimo, ar_fanelas, imer_gennisis) VALUES ('$_POST[uar_deltiou]','$_POST[uonoma]','$_POST[uepwnimo]', '$_POST[uar_fanelas]', '$_POST[uimer_gennisis]')";
mysql_query($AddQuery, $con);
}
}
$sql = "SELECT * FROM stoixeia_paiktwn order by ar_deltiou";
$myData = mysql_query($sql,$con);
echo "<table border=1>
<tr>
<th>Αριθμός Δελτίου</th>
<th>Όνομα</th>
<th>Επώνυμο</th>
<th>Αριθμός Φανέλας</th>
<th>Ημερομηνία Γέννησης</th>
</tr>";
while($row = mysql_fetch_array($myData)){
echo '<form action=superuser_panel.php method=POST id="form" name=form>';
echo "<tr>";
echo '<td>' . '<input type="text" name="ar_deltiou" readonly=readonly value="' . $row['ar_deltiou'] . '" </td>';
echo '<td>' . '<input type="text" name="onoma" value="' . $row['onoma'] . '" </td>';
echo '<td>' . '<input type="text" name="epwnimo" value="' . $row['epwnimo'] . '" </td>';
echo '<td>' . '<input type="text" name="ar_fanelas" value="' . $row['ar_fanelas'] . '" </td>';
echo '<td>' . '<input type="text" name="imer_gennisis" value="' . $row['imer_gennisis'] . '" </td>';
echo '<td>' . '<input type="hidden" name="hidden" value="' . $row['ar_deltiou'] . '" </td>';
echo "<td>" . "<input type=submit name='x' value='update'" . " </td>";
echo "<td>" . "<input type=submit name='x' value='delete'" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=superuser_panel.php method=POST id=form name=form>";
echo "<tr>";
echo "<td><input type=hidden name=uar_deltiou></td>";
echo "<td><input type=text name=uonoma></td>";
echo "<td><input type=text name=uepwnimo></td>";
echo "<td><input type=text name=uar_fanelas></td>";
echo "<td><input type=text name=uimer_gennisis></td>";
echo "<td>" . "<input type=submit name='x' value='add'" . " </td>";
echo "</form>";
echo "</table>";
mysql_close($con);
?>
</body>
</html>
<?} else
{echo '<meta http-equiv="refresh" content="0;url=./index.php">';
die();}?> | [/code] _________________ miteletsis
|
|
|
|
Christianago
 Μέλος από: 12 Νοε 2009 Μηνύματα: 256+
|
Στις: 07 Ιουν 2012 20:27 Θέμα:
|
|
|
Υπαρχει και πιο απλος τροπος απο αυτον που προσπαθεις. Δε χρειαζεται σε ajax call να εκτελεις τη μεθοδο submit().
Μπορεις να αναθεσεις σε οποιοδηποτε element και σε οποιοδηποτε event να γινει η κληση.
Μια minimal ajax κληση ειναι αυτη:
Javascript
| κώδικας: | $(document).ready(function() {
$('#buttonAdd').click( function () { addphp(); });
});
function addphp (){
$.ajax({
type: 'POST',
url: "http://localhost/!for/free.php",
data: $(this).serialize(),
success: function(data) {
alert(data);
}
});
} |
PHP/HTML
Με μπερδεψε λιγο η δομη του κωδικα συν του οτι μου εδινε μερικα λαθη. Για δες αν δουλευει αυτο:
| κώδικας: | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="free.js"></script>
</head>
<body>
<?php
mysql_query("SET NAMES 'utf8'");
$con = mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("fillo_agwna",$con);
mysql_query("SET NAMES 'utf8'");
if (isset($_POST['x'])) {
if ($_POST['x']=="update") {
$UpdateQuery = "UPDATE stoixeia_paiktwn SET ar_deltiou='$_POST[ar_deltiou]', onoma='$_POST[onoma]', epwnimo='$_POST[epwnimo]', ar_fanelas='$_POST[ar_fanelas]', imer_gennisis='$_POST[imer_gennisis]' WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
}
else if($_POST['x'] == 'delete'){
$DeleteQuery = "DELETE FROM stoixeia_paiktwn WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
}
else if($_POST['x'] == 'add'){
$AddQuery = "INSERT INTO stoixeia_paiktwn (ar_deltiou, onoma, epwnimo, ar_fanelas, imer_gennisis) VALUES ('$_POST[uar_deltiou]','$_POST[uonoma]','$_POST[uepwnimo]', '$_POST[uar_fanelas]', '$_POST[uimer_gennisis]')";
mysql_query($AddQuery, $con);
}
}
$sql = "SELECT * FROM stoixeia_paiktwn order by ar_deltiou";
$myData = mysql_query($sql,$con);
echo "<table border=1>
<tr>
<th>Αριθμός Δελτίου</th>
<th>Όνομα</th>
<th>Επώνυμο</th>
<th>Αριθμός Φανέλας</th>
<th>Ημερομηνία Γέννησης</th>
</tr>";
while($row = mysql_fetch_array($myData)){
//echo '<form action=superuser_panel.php method=POST id="form" name=form>';
echo "<tr>";
echo '<td>' . '<input type="text" name="ar_deltiou" readonly=readonly value="' . $row['ar_deltiou'] . '" </td>';
echo '<td>' . '<input type="text" name="onoma" value="' . $row['onoma'] . '" </td>';
echo '<td>' . '<input type="text" name="epwnimo" value="' . $row['epwnimo'] . '" </td>';
echo '<td>' . '<input type="text" name="ar_fanelas" value="' . $row['ar_fanelas'] . '" </td>';
echo '<td>' . '<input type="text" name="imer_gennisis" value="' . $row['imer_gennisis'] . '" </td>';
echo '<td>' . '<input type="hidden" name="hidden" value="' . $row['ar_deltiou'] . '" </td>';
echo "<td>" . "<input type=submit name='x' value='update'" . " </td>";
echo "<td>" . "<input type=submit name='x' value='delete'" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=superuser_panel.php method=POST id=form name=form>";
echo "<tr>";
echo "<td><input type=hidden name=uar_deltiou></td>";
echo "<td><input type=text name=uonoma></td>";
echo "<td><input type=text name=uepwnimo></td>";
echo "<td><input type=text name=uar_fanelas></td>";
echo "<td><input type=text name=uimer_gennisis></td>";
echo "<td>" . "<input type=button id='buttonAdd' name='x' value='add'" . " </td>";
echo "</form>";
echo "</table>";
mysql_close($con);
?>
</body></html> |
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
Στις: 07 Ιουν 2012 22:01 Θέμα:
|
|
|
με αυτό που μου έστειλες σταματάνε να δουλεύουνε τα πάντα. Την συνάρτηση ποιο πάνω την προσάρμοσα στο αρχείο μου αλλά δεν γίνεται τπτ, όταν κάνω προσθήκη μια εγγραφής επειδή το παράδειγμα που μου έδωσες αφορά αυτό γίνεται ανανέωση. Ολόκληρο το αρχείο μου είναι το παρακάτω. έβαλα μέσα στο head τον κώδικα της συνάρτησης. το url: "http://localhost/!for/free.php" με μπέρδεψε, εμένα που ονομάζεται manage_paiktes.php πρέπει να βάλω το url που μου εμφανίζεται στον browser: http://localhost/fillo_agwna/superuser_panel.php ??
| κώδικας: | <?php session_start();
if ($_SESSION['user']=='dimos_mitel')
{?>
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#buttonAdd').click( function () { addphp(); });
});
function addphp (){
$.ajax({
type: 'POST',
url: "http://localhost/!for/free.php",
data: $(this).serialize(),
success: function(data) {
alert(data);
}
});
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>Λίστα Παικτών</TITLE>
</HEAD>
<body bgcolor="#1F7797">
<?php
mysql_query("SET NAMES 'utf8'");
$con = mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("fillo_agwna",$con);
mysql_query("SET NAMES 'utf8'");
if (isset($_POST['x'])) {
if ($_POST['x']=="update") {
$UpdateQuery = "UPDATE stoixeia_paiktwn SET ar_deltiou='$_POST[ar_deltiou]', onoma='$_POST[onoma]', epwnimo='$_POST[epwnimo]', ar_fanelas='$_POST[ar_fanelas]', imer_gennisis='$_POST[imer_gennisis]' WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
}
else if($_POST['x'] == 'delete'){
$DeleteQuery = "DELETE FROM stoixeia_paiktwn WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
}
else if($_POST['x'] == 'add'){
$AddQuery = "INSERT INTO stoixeia_paiktwn (ar_deltiou, onoma, epwnimo, ar_fanelas, imer_gennisis) VALUES ('$_POST[uar_deltiou]','$_POST[uonoma]','$_POST[uepwnimo]', '$_POST[uar_fanelas]', '$_POST[uimer_gennisis]')";
mysql_query($AddQuery, $con);
}
}
$sql = "SELECT * FROM stoixeia_paiktwn order by ar_deltiou";
$myData = mysql_query($sql,$con);
echo "<table border=1>
<tr>
<th>Αριθμός Δελτίου</th>
<th>Όνομα</th>
<th>Επώνυμο</th>
<th>Αριθμός Φανέλας</th>
<th>Ημερομηνία Γέννησης</th>
</tr>";
while($row = mysql_fetch_array($myData)){
echo '<form action=superuser_panel.php method=POST id="form" name=form>';
echo "<tr>";
echo '<td>' . '<input type="text" name="ar_deltiou" readonly=readonly value="' . $row['ar_deltiou'] . '" </td>';
echo '<td>' . '<input type="text" name="onoma" value="' . $row['onoma'] . '" </td>';
echo '<td>' . '<input type="text" name="epwnimo" value="' . $row['epwnimo'] . '" </td>';
echo '<td>' . '<input type="text" name="ar_fanelas" value="' . $row['ar_fanelas'] . '" </td>';
echo '<td>' . '<input type="text" name="imer_gennisis" value="' . $row['imer_gennisis'] . '" </td>';
echo '<td>' . '<input type="hidden" name="hidden" value="' . $row['ar_deltiou'] . '" </td>';
echo "<td>" . "<input type=submit name='x' id='form' value='update'" . " </td>";
echo "<td>" . "<input type=submit name='x' value='delete'" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=superuser_panel.php method=POST id=form name=form>";
echo "<tr>";
echo "<td><input type=hidden name=uar_deltiou></td>";
echo "<td><input type=text name=uonoma></td>";
echo "<td><input type=text name=uepwnimo></td>";
echo "<td><input type=text name=uar_fanelas></td>";
echo "<td><input type=text name=uimer_gennisis></td>";
echo "<td>" . "<input type=submit id='buttonAdd' name='x' value='add'" . " </td>";
echo "</form>";
echo "</table>";
mysql_close($con);
?>
</body>
</html>
<?} else
{echo '<meta http-equiv="refresh" content="0;url=./index.php">';
die();}?> | [/code] _________________ miteletsis
|
|
|
|
Christianago
 Μέλος από: 12 Νοε 2009 Μηνύματα: 256+
|
Στις: 07 Ιουν 2012 22:14 Θέμα:
|
|
|
Αλλαξα τα links για να μπορω να το τεσταρω. Αλλαξε τα κι εσυ αναλογα με την περιπτωση σου.
Κανε σχολιο τη γραμμη:
| κώδικας: | | echo "<form action=superuser_panel.php method=POST id=form name=form>"; |
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
|
|
|
Christianago
 Μέλος από: 12 Νοε 2009 Μηνύματα: 256+
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
|
|
|
Christianago
 Μέλος από: 12 Νοε 2009 Μηνύματα: 256+
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
|
|
|
Christianago
 Μέλος από: 12 Νοε 2009 Μηνύματα: 256+
|
|
|
|
dimos_mitel
 Μέλος από: 07 Αυγ 2009 Μηνύματα: 256+
|
|
|
|
|
Τώρα είναι 23 Μαη 2013 03:40 | All times are UTC + 3 (DST in action)
|