php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.05.2005, 21:14  
Gast
 
Beiträge: n/a
Standard While Schleifen Problem

Hallo erst einmal *grins*

Hab ein Problem und zwar wird die While Schleife nicht beachtet, also es wird egal ob der nick schon vorhanden ist oder nicht einfach weiter gemacht.

Hier mal der Code:

Code:
<?php
error_reporting(E_ALL);

if(
   empty($_POST['nickname']) OR
      empty($_POST['kennwort']) OR
         empty($_POST['email1']) OR
            empty($_POST['email2']) OR
               empty($_POST['sichfra']) OR
                  empty($_POST['vorname']) OR
                     empty($_POST['nachname']) OR
                        empty($_POST['strasse']) OR
                           empty($_POST['hausnr']) OR
                              empty($_POST['plz']) OR
                                 empty($_POST['ort']) OR
                                    empty($_POST['land'])
  )
  {
   header("Location: fehler0003.php");
   exit();
  }
 ;

//Serveradresse
$mysql_host = "localhost";

//MySQL User
$mysql_user = "root";

//MySQL Passwort
$mysql_pw = "";

//MySQL Datenbank
$mysql_dbname = "website";

//Verbindungsaufbau
@$db = mysql_connect ($mysql_host, $mysql_user, $mysql_pw) or die (mysql_errno().":". mysql_error());
@mysql_select_db($mysql_dbname, $db) or die(mysql_errno().":". mysql_error());

$sql = "SELECT
			*
        FROM
            `user`
        WHERE
			`nickname`='".$_POST['nickname']."' OR
			`email1` = '".$_POST['email1']."' OR
			`email2` = '".$_POST['email2']."'";

$found = false;

$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result)) {
	if($row['nickname'] == "`nickname`") {
       header("Location: fehler0004.php");
	}
	if($row['email1'] == "".$email1."" OR $row['email2'] == "".$email2."") {
   header("Location: fehler0005.php");
	}
}

if(empty($errmsg)) {
	mysql_query("INSERT INTO user
    		        	 (nickname,
           		 	     kennwort,
          			   	 email1,
			             email2,
			             sichfra,
			             sichant,
			             vorname,
			             nachname,
			             strasse,
			             hausnr,
			             plz,
			             ort,
			             land
			            )
			             VALUES
			            ('$nickname',
			             MD5('$kennwort'),
			             '$email1',
			             '$email2',
			             '$sichfra',
			             '$sichant',
			             '$vorname',
			             '$nachname',
			             '$strasse',
			             '$hausnr',
			             '$plz',
			             '$ort',
			             '$land')");

   header("Location: index.php");
}
else {
 header("Location: fehler0006.php");
}
Mysql_close();

?>
Vielleicht weiß jemand ja zufällig was. *fg*

MfG,
Michi
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.05.2005, 21:17  
Gast
 
Beiträge: n/a
Standard

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Ich würde mal mit mysql_num_rows prüfen, ob MySQL mit deiner Abfrage überhaupt was findet.

Gruß
phpfan
 
Alt 22.05.2005, 21:21  
Gast
 
Beiträge: n/a
Standard

das SELECT * hab ich schon abgeändert

Wo soll ich das mysql_num_rows denn einfügen?
 
Alt 22.05.2005, 21:27  
Gast
 
Beiträge: n/a
Standard

Am besten direkt vor error_reportin(E_ALL)
Haaallllooooo? Mitdenken ist trotz Forum noch erlaubt! Ich würde es nach

$result = mysql_query($sql);

einbauen.

Gruß
phpfan
 
Alt 22.05.2005, 21:32  
Gast
 
Beiträge: n/a
Standard

lol joha, wäre so ne möglichkeit. also er findet die reihen

und wiso spuckt der die fehlerseiten nicht aus?
 
Alt 22.05.2005, 21:40  
Gast
 
Beiträge: n/a
Standard

Bitte mal die Augen aufmachen. Wie wahrscheinlich ist das:

if($row['nickname'] == "`nickname`")

Und das kann ich mir auch nicht vorstellen:

if($row['email1'] == "".$email1."" OR $row['email2'] == "".$email2."")

Mal ganz davon abgesehen, dass ich den Sinn von "".$email1."" und "".$email2."" nicht verstehe.

Gruß
phpfan
 
Alt 22.05.2005, 21:50  
Gast
 
Beiträge: n/a
Standard

häää? check grad gar nix, erstmal könntest du evtl. ein bisschen freundlicher sein. wenn du schlecht gelaut bist musst du das nicht an nem neuling auslassen. das war das erste und das zweite: was schlägst du vor?

Das mit email1 und email2 ist dafür gut, dass man die email zwei mal eingibt, damit wenn die nicht gleich sind ne info kommt. es kann ja schließlich sein, dass man sich mal verschreibt. keine panik, das hab ich noch nicht drin.
 
Alt 22.05.2005, 21:56  
Gast
 
Beiträge: n/a
Standard

Ich bin icht schlecht gelaunt, mir gehen nur solche Fragen auf den Keks, die man auch als Anfänger alleine lösen könnte, wenn man sich etwas Mühe gibt und mitdenkt.

if($row['nickname'] == "`nickname`")

Gibt es einen User mit dem Namen `nickname`, also inkl. `

if($row['email1'] == $email1 OR $row['email2'] == $email2)

An welcher Stelle werden $email1 und $email2 gesetzt?

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

Gruß
phpfan
 
Alt 22.05.2005, 22:07  
Gast
 
Beiträge: n/a
Standard

war ja auch nich so gemeint. ich kann mir vorstellen, dass euch sowas aufn keks geht. also:

es gibt keine unser der nickname oder `nickname` heißt

du meinst sicher:
$nickname = $_POST['nickname']
$email1 = $_POST['email1']
$email2 = $_POST['email2']

oder?

ich bin leider schon seid fast 2std. an dem scheiß und ich hab keinen plan wie ich das anstellen soll.

bevor du umfällst vor verzweiflung antworte lieber nich *grins*
 
Alt 22.05.2005, 22:35  
Gast
 
Beiträge: n/a
Standard

soso, hab das prob nun gelöst, danke trotzdem
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
schleifen problem amsele1986 PHP Tipps 2008 3 21.06.2008 17:45
While schleife mit Datenbank in ein Dropdown Feld (Umlaut Problem) kintaro PHP Tipps 2008 6 28.08.2007 19:11
MySQL Problem b++ PHP Tipps 2005-2 3 20.09.2005 17:53
Problem mit while und insert into PHP Tipps 2005-2 6 15.08.2005 19:29
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
2 verschachtelte while Schleifen. Großes Performanceproblem Datenbanken 3 30.05.2005 12:52
problem mit while und include notyyy PHP Tipps 2005 1 16.05.2005 17:10
problem mit schleifen PHP Tipps 2005 11 23.04.2005 14:59
While Schleifen PHP Tipps 2005 9 22.04.2005 13:04
while schleifen ($dsatz=mysql_fetch_assoc($abfrage1) stefan-miti PHP Tipps 2004 5 23.09.2004 20:46
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
Problem mit Länge des Rückgabestrings bei fsockopen PHP-Fortgeschrittene 1 06.08.2004 18:54
[Erledigt] Schleifen Problem :( PHP Tipps 2004 1 27.07.2004 17:26
PHP MySQL Problem mit Hyperlink in einer While Schlaufe PHP Tipps 2004 20 09.07.2004 13:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
passwörter while schleife db, php empty in while schleife, while schleife problem php, sql performance verschachtelte schleifen, problem bei schleife in php, header location in while schleife, mit while nickname prüfen in php

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.