[Ajax] Registrierungs Form leitet immernoch zur anderen Seite weiter.

Luckydude

Grünschnabel
Hallo Tutorianer,

nachdem ich nun schon alles mögliche versucht habe und auch nach langem Suchen auf Google nichts finden, hoffe ich nun hier Hilfe zu bekommen.
Ich versuche momentan die Registrierung auf meiner Website zu umzusetzen, dass man auf der gleichen Seite bleibt ohne von php zu php Seite geleitet zu werden.
Soweit so gut, ich habe mich mit dem Thema befasst und ein Tutorial nach dem anderen umgesetzt, immer mit dem Ergebnis, dass immernoch die andere Seite aufgerufen wird, obwohl ich dies ja vermeiden will.

Ich habe den Code mal auf ein minimum heruntergebrochen:

index.html:
HTML:
<html>
<head>
<title>Registration Form: jQuery</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="my_script.js"></script>
</head>
<body>
 
<form id="myForm" action="process.php" method="POST">
Username: <input type="text" name="username"/><br />
Password: <input type="password" name="pass"/><br />
First Name: <input type="text" name="fname"/><br />
Last Name: <input type="text" name="lname"/><br />
<button id="submit">register</button>
</form>
 
<div id="ack"></div>
</body>
</html>

process.php
PHP:
<?php

    $username = $_POST["username"];
	
	if($username == 'hallo')
	{
	  echo "1";
	}
	else
	{
	  echo "0";
	}

?>

my_script.js
Code:
$("#submit").click( function() {
 
	 $.post( $("#myForm").attr("action"),
	         $("#myForm :input").serializeArray(),
			 function(info) {
 
			   $("#ack").empty();
			   $("#ack").html(info);
				clear();
			 });
 
	$("#myForm").submit( function() {
	   return false;	
	});
});
 
function clear() {
 
	$("#myForm :input").each( function() {
	      $(this).val("");
	});
 
}

Ich hoffe, dass ihr mir helfen könnt.

MfG Luckydude
 
Hallo Luckydude

Ich bin mir nicht ganz sicher, ob ich deine Frage richtig verstanden habe, aber warum kombinierst du index.html und process.php nicht einfach (leitest dich also per Submit wieder auf die gleiche Seite)?

--> Sofern du nicht genau weisst, was ich damit meine:
  • Erstelle ein PHP-File "index.php" (Name ist selbstverständlich beliebig).
  • Beginne index.php mit folgendem Code:
PHP:
<?php 
if(isset($_POST["username"] ))
{
// dein PHP-Code (oder auch ein etwas sinnvollerer ;-) )

//sofern du den HTML-Code unten nun nicht mehr anzeigen möchtest, vergiss nicht:
die();
}?>
  • Füge deinen bisherigen HTML Code (inkl. includiertem Javascript) in index.php ein.


Sofern ich dein Probelm nicht richtig verstanden habe, versuche es doch noch in etwas anderen Worten zu umschreiben...

Gruss PI
 

Neue Beiträge

Zurück