1Danke
ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
525
525
EMPFEHLEN
-
30.01.12 16:30 #1
- Registriert seit
- Sep 2009
- Beiträge
- 7
Hallo zusammen,
ich versuche bei einer Regestrierung zu überprüfen,
ob der Loginname bereits vergeben ist.
Jquery:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
var regform = $('#regform'); var msg = function (nachr){ regform.find('#reg_info') .html(nachr); } $('.reg_loginname').keyup(function (){ var valu = this.value; $.getJSON("design/jpreq/loginname.php", {id: valu}, function(data) { if(data.ln == 'ok'){ $(this).css('border','1px solid green'); msg('okay'); }else{ $(this).css('border','1px solid red'); msg('Der Loginname ist bereits vergeben!'); } }); });
PHP:
Leider funktioniert das überhaupt nicht,PHP-Code:$host = "xxx";
$user = "xxx";
$pwd = "xxx";
$dbase = "xxx";
$sqlconn = mysql_connect($host,$user,$pwd);
$sqlconn = mysql_select_db($dbase);
$sqlconn;
$name = htmlentities($_GET['id']);
$loginnamen = mysql_num_rows(mysql_query("SELECT * FROM hp_user WHERE loginname = '$name'"));
if($loginnamen != 0){
$json = array(
'ln' => 'notok');
}else{
$json = array(
'ln' => 'ok');
}
echo json_encode($json);
die Firebugkonsole giebt folgenden Fehler aus:
"500 Internal Server Error"...
Was ist daran falsch?
LG
-
30.01.12 17:03 #2
Hallo,
erstmal würde ich dir raten das htmlentities() unbedingt gegen mysql_real_escape_string() auszutauschen!
Probiere mal, ob dein Skript funktioniert, wenn du es direkt mit deinem Browser aufrufst.mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
30.01.12 19:36 #3
- Registriert seit
- Sep 2009
- Beiträge
- 7
danke,
ich habe jetzt mal htmlentities() -> mysql_real_escape_string() ersetzt.
Sobald ich print_r ($json); eingebe, erhalte ich auch eine ausgabe, klar um das array auszulesen,
sollte ich durch das echo json_encode($json); ebenfalls eine Ausgabe erhalten?
Dort erhalte ich wohl keine....
-
Hi,
ich hab mir dein Problem heute "dank" Langeweile im Zug mal etwas angesehen.
Auf meiner XAMPP - Installation auf meinem Netbook klappt das ganze einwandfrei.
Ein "500 Internal Server Error" heißt erstmal, dass die Ausführung des PHP-Scripts auf dem Server Probleme macht. Eine häufige Ursache ist eine falsche Rechtevergabe für die Scripte, es gibt aber auch noch zig andere Ursachen für diesen Fehler. Wenn du an die Errorlogs des Servers kommst können diese weiterhelfen.
Was mein Vorposter schon schrieb:
Was passiert wenn du das PHP-Script direkt im Browser aufrust also z.b
URL/design/jpreq/loginname.php?id=name
Bekommst du dann ebenfalls einen "500 Internal Server Error"?
Beim Testing ist mir noch etwas anderes aufgefallen.
Wenn in dieser Zeile:
der mysql_query fehlerhaft ist gibt dieser boolean false aus. mysql_num_rows bekommt ein boolean false geliefert und erzeugt ein "Warning". Je nach Servereinstellung wird das Script dennoch weiter ausgeführt und mysql_num_rows(false) ergibt entgegen der PHP-Dokumentation kein "false" sondern "NULL".PHP-Code:$loginnamen = $loginnamen = mysql_num_rows(mysql_query("SELECT * FROM hp_user WHERE loginname = '$name'"));
Da if(NULL == 0) ein TRUE ergibt liefert das Script dem Benutzer trotz eindeutigem Fehler in der SQL-Abfrage d ein ok zurück. In der IF-Abfrage also besser:
Solche Verschachtelten Abfragen und Konstrukte sind natürlich platzsparend und vllt. auch übersichtlicht. Für Debugging, Fehlersuche und Programmanalyse sind sie jedoch äußerst störend.PHP-Code:if($loginnamen > 0){
//ok
}else{
//not ok
}
Ich kann dir nur empfehlen, dein Script ordentlich zu debuggen, um zu sehen an welcher Stelle Fehler auftreten. Für einen Livebetrieb sollten diese Fehlerquellen später sowieso abgefangen werden (natürlich nicht in dieser Form). Ums mal leicht übertrieben darzustellen:
Schau mal ob du den Fehler auf diese Weise findest.PHP-Code:$host = "xxx";
$user = "xxx";
$pwd = "xxx";
$dbase = "xxx";
$sqlconn = mysql_connect($host,$user,$pwd);
if(!$sqlconn){
die('sql connect error');
}
$select_db = mysql_select_db($dbase);
if(!$select_db){
die('select database error');
}
if(!empty($_GET['id'])){
$name = mysql_real_escape_string($_GET['id']);
$result = mysql_query("SELECT * FROM hp_user WHERE loginname = '$name'");
if(!$result){
die('mysql select error');
}
$count_result = mysql_num_rows($result);
if(!$count_result){
die('error count');
}
//[...and so on..]
}
else{
die('no id given');
}
Gz
geheim
-
01.02.12 16:26 #5
- Registriert seit
- Sep 2009
- Beiträge
- 7
hallo,
vielen dank, allerdings erhalte ich keine Fehlermeldung.
Ich benutze Plesk auf dem Server,
da Plesk bereits mit File "sprüngen" bereits probleme macht (../) habe ich
derzeit die Vermutung, dass dort dieses "JSON" blockiert oder sogar nicht enthalten ist.
Ich werde mal dieses Script local versuchen, allerdings bin ich zur Zeit krank -.-,
vondaher schau ich mal morgen..
Bin mal gespannt
LG
-
Zu Plesk und Ajax hab ich auf die schnelle nur diesen Link gefunden:
http://wordpress.org/support/topic/a...-with-plesk-90
Es scheint, dass Plesk seinen eigenen Ajax-Handler mitbringt um auf die xmlHttpRequests zu reagieren.
Vllt. hilft dir der Link ja in irgend einer Form, ansonsten mal direkt zum Thema Plesk und Ajax googlen
-
08.02.12 14:59 #7
- Registriert seit
- Sep 2009
- Beiträge
- 7
hallo zusammen,
endlich funktioniert es!
für jeden der das problem auch hat ->
http://www.joomlaportal.de/allgemein....html?langid=2
http://de.opensuse.org/Portal:YaST
LG
Ähnliche Themen
-
Überprüfung, ob JPasswordField Inhalt hat, funktioniert nicht
Von Tinipieps im Forum JavaAntworten: 4Letzter Beitrag: 14.04.10, 10:04 -
[Perl]: DATA und JSON funktioniert nicht
Von perl-fan im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 4Letzter Beitrag: 10.11.09, 23:30 -
Überprüfung ob es id gibt, funktioniert nicht!
Von harderph im Forum PHPAntworten: 4Letzter Beitrag: 17.01.08, 20:26 -
Wieso funktioniert die überprüfung nicht?
Von crashx im Forum PHPAntworten: 6Letzter Beitrag: 07.08.06, 18:03 -
Com Port Überprüfung funktioniert nicht richtig
Von sucher im Forum C/C++Antworten: 4Letzter Beitrag: 27.02.06, 18:00





Zitieren

Login





