WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- problem mit if und .....

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » problem mit if und ..... - 21 Dez 2024 Antworten
problem mit if und .....
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

ich habe mal wieder etwas versucht aber es will nicht richtig. ich habe für unsere alte schulklasse eine seite gebaut wo man sich so einloggen kann und seine daten reinschreiben kann, das geht ja nun alles, aber nun bin ich dabei ein skipt zu bauen, wo man sich seine daten zum einloggen zusenden lassen kann. es geht auch fast. das zusenden funst also die daten die ich will wenn ich die richtige email angegeben habe kommen auch dann per mail, aber wenn ich eine adresse reinschreibe die es nicht in der datenbank gibt kommt die fehlermeldung nicht eigendlich das was dann unter else steht.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42:
email;
	$namedb=$row->name;
	$vornamedb=$row->vorname;
	$userdb=$row->userdb;
	$passdb=$row->passdb;
	if($email==$emaildb)
	{
$empfaenger = "$emaildb";
$text = "Name: $namedb\n";
$text .= "E-Mail: $emaildb\n";
$text .= "Benutzername: $userdb\n";
$text .= "Passwort: $passdb\n";


mail($empfaenger, "Deine Daten von www..de.vu", $text, "From: ") or die("");
echo "Deine Daten sind an die angegebene Emailadresse versendet worden.\n"."
";
echo "Bitte schau in deinem Postfach nach dort sollten sich die Logindaten befinden.\n"."
";
echo "

";
echo "Deine Emailadresse: $emaildb"."
";
}
else
{
echo "Deine Adresse wurde nicht gefunden!";
}
}
?>


bitte helft mit bei der lösung kann ja nicht wild sein ist irgendwas mit dem else. also nee fehlermeldung kommt nicht bildschirm bleibt leer.


Diese Nachricht wurde geändert von: lugau45
  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

Das kann nicht funktionieren, da das Else-Statement innerhalb des While-Loops steht. Gibt es die E-Mail Adresse nicht in der Tabelle, gibt es auch keinen while-loop und dementsprechend auch kein else statement.
Du brauchst außerhalb des while loops einen ergebnis check:
1: 
2: 
3:
if(mysql_num_rows($mysql_result)<1) {
 print "nichts da";
}

http://www.php.net/mysql_num_rows

Diese Nachricht wurde geändert von: einstein
  Profil   Editieren   Zitieren
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

so habe das mal vor while geschieben:
1: 
2: 
3:
if(mysql_num_rows()<1) {
 print "nichts da";
}

ergebniss:
Warning: Wrong parameter count for mysql_num_rows() in /usr/local/httpd/htdocs/kunden/web770/html/klassentreffen/datensenden/datenvergessen.php on line 19
Die Emailadresse gibt es nicht!

  Profil   Editieren   Zitieren
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

habe es manchmal sollte man einfach mal denken und probieren so geht es hoffe das ist nicht falsch in sachen sicherheit oder so gehen tut es. das noch vor while dann gehts.
1: 
2: 
3:
if($email!==$result) {
 print "Die Emailadresse gibt es nicht!";
}


wenn noch was dagegen spricht dann schreibt es!!!
danke

  Profil   Editieren   Zitieren
Ehemaliges Mitglied (#644)
Forenheld




Beiträge: 832

if($email!==$result)

wusste gar nicht das das geht!
Mache das immer so

!=

wieder was gelernt

  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

lugau45 schrieb am 06.12.2003 12:39
Warning: Wrong parameter count for mysql_num_rows() in /usr/local/httpd/htdocs/kunden/web770/html/klassentreffen/datensenden/datenvergessen.php on line 19
Die Emailadresse gibt es nicht!

Siehe Link zum PHP-Manual: die Result Ressource ID muss angegeben werden - Ich hatte nur Pseudo-Code gepostet.

if($email!==$result) {
Macht nicht viel Sinn:
$result ist ein Array mit dem Ergebnis der MySQL Query - $email ist ein String mit der E-Mail

Du musst ja eigentlich nur überprüfen, ob das Ergebnis eine Zeile hat oder nicht:
mysql_num_rows() oder
count()

Diese Nachricht wurde geändert von: einstein
  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

paul schrieb am 06.12.2003 13:19
if($email!==$result)

wusste gar nicht das das geht!
Mache das immer so

!=

wieder was gelernt


Das sind zwei unterschiedliche Sachen, siehe:
http://de.php.net/language.operators.comparison

  Profil   Editieren   Zitieren
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

jo danke habe ich geändert habe nicht aufgepasst, wollte das eigendlich so schreiben. habe ich ja richtig glück gehabt das der befehl !== auch ging sonnst währe ich wahscheinlich wieder mal dran verzweifelt und hätte nach stunden den kleinen fehler gefunden. ach ja ist alles nicht so einfach! -

  Profil   Editieren   Zitieren
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

ist doch noch nicht ganz gelöst jatzt habe ich nen fehler entdeckt.
das ist die ausgabe wenn die adresse gefunden wurde:
1: 
2:
Die Emailadresse gibt es nicht in der DatenbankDeine Daten sind an die angegebene Emailadresse versendet worden. 
Bitte schau in deinem Postfach nach dort sollten sich die Logindaten befinden. 

da steht der erste satz mit drin der sollte aber nur kommen wenn die adresse nicht gefunden wurde. da kommt der auch aber bei erfolg auch (sch...:()
hier nochmal der quelltext vom skript:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38:
$query = "SELECT id, userdb, passdb, vorname, name, ort, email, telefon, datum FROM klassenkameraden where email='$email'";
       $result = mysql_query($query) or die("Anfrage fehlgeschlagen");
	      if($email!=$result) {
 print "Die Emailadresse gibt es nicht in der Datenbank";
}

	   while($row = mysql_fetch_object($result))
	
	{
	$emaildb=$row->email;
	$namedb=$row->name;
	$vornamedb=$row->vorname;
	$userdb=$row->userdb;
	$passdb=$row->passdb;
	if($row!=="")
	
	{
$empfaenger = "$emaildb";
$text = "Name: $namedb\n";
$text .= "E-Mail: $emaildb\n";
$text .= "Benutzername: $userdb\n";
$text .= "Passwort: $passdb\n";


mail($empfaenger, "Deine Daten von www..de.vu", $text, "From: mich...") or die("");
echo "Deine Daten sind an die angegebene Emailadresse versendet worden.\n"."
";
echo "Bitte schau in deinem Postfach nach dort sollten sich die Logindaten befinden.\n"."
";
echo "

";
echo "Deine Emailadresse: $emaildb"."
";
}

}
?>

Diese Nachricht wurde geändert von: lugau45
  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

Wie oberhalb erwähnt, kann das ganze nicht funktionieren, da $result und $email erstens immer unterschiedliche Inhalte enthalten und zweitens auch nicht identisch sein können.

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38:
$query = "SELECT id, userdb, passdb, vorname, name, ort, email, telefon, datum FROM klassenkameraden where email='$email'";
       $result = mysql_query($query) or die("Anfrage fehlgeschlagen");
if(!count($result)) {
 print "Die Emailadresse gibt es nicht in der Datenbank";
}
else {
	   while($row = mysql_fetch_object($result))
	
	{
	$emaildb=$row->email;
	$namedb=$row->name;
	$vornamedb=$row->vorname;
	$userdb=$row->userdb;
	$passdb=$row->passdb;
	if($row!=="")
	
	{
$empfaenger = "$emaildb";
$text = "Name: $namedb\n";
$text .= "E-Mail: $emaildb\n";
$text .= "Benutzername: $userdb\n";
$text .= "Passwort: $passdb\n";


mail($empfaenger, "Deine Daten von www..de.vu", $text, "From: mich...") or die("");
echo "Deine Daten sind an die angegebene Emailadresse versendet worden.\n"."
";
echo "Bitte schau in deinem Postfach nach dort sollten sich die Logindaten befinden.\n"."
";
echo "

";
echo "Deine Emailadresse: $emaildb"."
";
}
}
}
?>

  Profil   Editieren   Zitieren
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

habe das mal so ausprobiert, aber wenn ich eine falsche adresse eingebe kommt wieder keine ausgabe fenster bleibt leer.

  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

Dann wir irgendwo anders noch fundamentaler Fehler sein, denn Funktionen wie count / mysql_count_rows funktionieren immer...
try this:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27:
");
	echo "Deine Daten sind an die angegebene Emailadresse versendet worden.

			Bitte schau in deinem Postfach nach dort sollten sich die Logindaten befinden.
			Deine Emailadresse: ".$data['email'];

?>

Diese Nachricht wurde geändert von: einstein
  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

Es fehlt übrigens auch noch ein Schlusszeichen bei deinem refresh-tag...

  Profil   Editieren   Zitieren
lugau45
Otto-Normal-Poster
Threadstarter




Beiträge: 64

geht auch nicht habe mal folgendes probiert, ich habe noch ein feld aktiv in der datenbank und habe nun mal probiert:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
$query = "SELECT id, userdb, passdb, vorname, name, ort, email, telefon, aktiv, datum FROM klassenkameraden where email='$email'";
       $result = mysql_query($query) or die("Anfrage fehlgeschlagen");
$aktiv=$row->aktiv;

if($aktiv!=1) {
 echo "Die Emailadresse gibt es nicht in der Datenbank";
}
else {
......


da kommt aber immer das es die adresse nicht gibt hmm was nu?

  Profil   Editieren   Zitieren
einstein
Quasselstrippe




Beiträge: 241

Das mit dem "Aktiv" kann überhaupt nicht funktionieren, denn du hast noch kein mysql_fetch_object bzw _row ausgeführt.

Füge mal ein
1:
print_r($data)

in Zeile 7 in den zuletzt von mir geposteten Code. Wenn es die Email Adresse nicht gibt, sollte dann
Array() ausgegeben werden, wenn die email adresse existiert sollte das user profil angezeigt werden.

Ist das nicht der Fall, liegt es an der Query, MySQL-Tables oder Server/php config...

Diese Nachricht wurde geändert von: einstein
  Profil   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » problem mit if und .....

Aktuelle Beiträge zur Hilfe im Forum für Homepage - problem mit if und ..... im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8143307    Heute : 530     Gestern : 558     Online : 42     21.12.2024    16:45      0 Besucher in den letzten 60 Sekunden        
Nach oben