• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Hilfe ich brauche bei einer if abfrage

Dragneel

New member
Hallo miteinander ich habe folgendes problem nähmlich bei linie 85 bei der funktion session(), die if abfrage dort funktioniert nicht richrtig und ich kan es mir nicht erklären.
würde mich freuen wen mir jemand den fehler aufzeigen könnte vielen dank

HTML:
<html>
<head>
<script language="JavaScript" src="jquery.js"></script>
<script type="text/javascript">
function chkFormular () {
  if (document.anmeldung.vorname.value == "") {
    alert("Bitte IhrenVornamen eingeben!");
    document.anmeldung.vorname.focus();
    return false;
  }
  if (document.anmeldung.nachname.value == "") {
    alert("Bitte Ihren Nachnamen eingeben!");
    document.anmeldung.nachname.focus();
    return false;
  }
  if (document.anmeldung.Ort.value == "") {
    alert("Bitte Ihren Wohnort eingeben!");
    document.anmeldung.Ort.focus();
    return false;
  }
  if (document.anmeldung.e-mail.value == "") {
    alert("Bitte Ihre E-Mail-Adresse eingeben!");
    document.anmeldung.e-mail.focus();
    return false;
  }
  if (document.anmeldung.Mail.value.indexOf("@") == -1) {
    alert("Keine E-Mail-Adresse!");
    document.anmeldung.e-mail.focus();
    return false;
  }
  if (document.anmeldung.strasse.value == "") {
    alert("Bitte Strasse angeben!");
    document.anmeldung.strasse.focus();
    return false;
  }
}

function prufedaten(){
    if (document.loggin.mail.value == "") {
		alert("Bitte email angeben!");
		document.loggin.mail.focus();
		return false;
	}
    else{
		if(document.loggin.pw.value == "") {
		alert("Bitte passwort angeben!");
		document.loggin.pw.focus();
		return false;
		}
		else{
			prufe();
		}
	}
}

function prufe(){

 if (window.XMLHttpRequest)
    {
        // AJAX nutzen mit IE7+, Chrome, Firefox, Safari, Opera
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // AJAX mit IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
			var qay = xmlhttp.responseText;
			document.getElementById("ch").value = qay;
			session(qay);

        }
    }
    xmlhttp.open("GET","loggin_pruefen.php?mail="+document.loggin.mail.value+"&pw="+document.loggin.pw.value,true);
    xmlhttp.send();
			
}

 function session(values){
 alert(values);
 if(values == "false"){
	/*session_start();
	$_SESSION["Login"] = "YES";
	alert($_SESSION["Login"]); */
	alert("korrekt");
}
else{

alert("bitte überprüfen sie ihre email oder das Passwort");

} 
}
</script>
</head>
<body>
<?php 
$link= $_POST['link'];
//echo $contents;
$savename = "zugeschnitten_verandert.png";
$contents = explode(',', $link);
$savefile = fopen("upload/auftrag".$_POST['numm']."/$savename", "w");
fwrite($savefile,base64_decode( $contents[1]));
fclose($savefile);
$datei = fopen("upload/auftrag".$_POST['numm']."/änderungen.txt","w");
fwrite($datei,$_POST['obje']."\r\n\r\n\r\n".$_POST['text']."");
fclose($datei);

?>
Neu Kunden
<form name="anmeldung" action="bezahlen.php" onsubmit="return chkFormular()">
  <p>Vorname:<br><input id="ch" name="vorname" type="text" size="30" maxlength="30"></p>
  <p>Nachname:<br><input name="nachname" type="text" size="30" maxlength="40"></p>
  <p>E-Mail:<br><input name="e-mail" type="text" size="30" maxlength="30"></p>
  <p><table><tr><td>Strasse</td><td>Haus Nr.</td></tr><tr><td><input name="strasse" type="text" size="30" maxlength="40"></td><td><input name="hnr" type="text" size="4" maxlength="4"></td></tr></table></p>
  <p>Ort:<br><input name="Ort" type="text" size="30" maxlength="30"></p>
  <p>PLZ:<br><input name="plz" type="text" size="30" maxlength="40"></p>
  <p>Telefonnummer:<br><input name="tele" type="text" size="30" maxlength="40"></p>
  <p>Passwort:<br><input name="pw" type="text" size="30" maxlength="40"></p>
  <input type="submit" value="Senden" />
</form>
<br>
<br>
<br>
<br>
Bereitskunde? Loggen sie sich ein
<form name="loggin" action="bezahlen.php" onsubmit="return chkloggin()">
  <p>E-Mmail:<br><input name="mail" type="text" size="30" maxlength="30"></p>
  <p>Passwort:<br><input name="pw" type="text" size="30" maxlength="40"></p>
  <input type="button" value="senden" onclick="prufedaten();" />
</form></body>
</html>


PHP:
<?php
require_once ('konfiguration.php');
$db_link = mysqli_connect (
                     MYSQL_HOST, 
                     MYSQL_BENUTZER, 
                     MYSQL_KENNWORT, 
                     MYSQL_DATENBANK
                    );
if (!$db_link) {
    die('Keine Verbindung möglich: ' . mysql_error());
}
$mail = $_GET['mail'];
$pw = $_GET['pw'];			 
$sql = "SELECT * FROM `User` WHERE `E-Mail` = '".$mail."' AND `Passwort` = '".$pw."'";
$db_erg = mysqli_query( $db_link, $sql );
if (mysqli_num_rows($db_erg) == 0)
{
  $ergebniss= "false";
}
else{
	$ergebniss= "true";
}

if($ergebniss=="true"){
$sql = "SELECT ID FROM `User` WHERE `E-Mail` = '".$mail."' AND `Passwort` = '".$pw."'";
$db_erg = mysqli_query( $db_link, $sql );
$a = mysqli_fetch_row($db_erg);
$ergebniss = $ergebniss.":".$a[0];
} 
echo $ergebniss;


mysqli_close($db_link);
?>
 
Also das ist ja mal eine enorme Sicherheitslücke:
PHP:
$pw = $_GET['pw'];			 
$sql = "SELECT * FROM `User` WHERE `E-Mail` = '".$mail."' AND `Passwort` = '".$pw."'";
$db_erg = mysqli_query( $db_link, $sql );
Du speicherst die Passwörter wirklich unverschlüsselt in der Datenbank und übergibst sie auch noch per GET???
 
HTML:
 function session(values){
 alert(values);
 if(values == "false"){
	/*session_start();
	$_SESSION["Login"] = "YES";
	alert($_SESSION["Login"]); */
	alert("korrekt");
}
else{

alert("bitte überprüfen sie ihre email oder das Passwort");

}
Du kannst in JS Code nicht einfach so PHP-Code ausführen... mach' dir mal den Unterschied zwischen clientseitiger und serverseitiger Programmierung klar.

PS: ein gescheiter Codestil würde dir auch nicht schaden. Ohne schöne Codeeinrückung ist jeder Code schwer le
 
HTML:
<script language="JavaScript" src="jquery.js"></script>
Das language-Attribut ist veraltet. Es genügt,
HTML:
<script src="jquery.js">
  //...
</script>
zu verwenden.
Da du jQuery anscheinend als lokale Kopie lädst, sei dir dieser Thread empfohlen!


Code:
 function session(values){
 alert(values);
 if(values == "false"){
	/*session_start();
	$_SESSION["Login"] = "YES";
	alert($_SESSION["Login"]); */
	alert("korrekt");
}
Wenn die Seite erst einmal geladen wurde, kannst du mit PHP nichts mehr hinzufügen! Wie kkapsner bereits sagte: informiere dich unbedingt über den Unterschied zwischen client- und serverseitiger Programmierung!
 
Zuletzt bearbeitet:
Zurück
Oben