php wenn error
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
aufbau
beitrag
benutzername
design
eintrag
erfahrung
ergebnis
exit
fehler
fragen
irgend
leich
mengen
pawort
result
schleifen
stehen
username
versuch
-
hallo
ich hab voll ein problem lol
1)
erstens wenn mein php script ne fehler hat und error wird angezeit da wird der aufbau der website gestoppt und dann sieht man halbe meines designs
2)
wenn eine if frage falsch is dann mache ich da
exit;
befehl rein
weil irgendwie klappt zu viele if fragen nicht O.o
kann man dagegen was tun?
mfg biLo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
h??
ich hab das jetzt drei mal durchgelesen und immer noch nicht verstanden, was dein Problem ist, k?nntest du deine Frage etwas besser ausdr?cken.
ps: sehr schlechte grammatik. -
Hi,
dass der Aufbau deiner Seite bei einem php Fehler gestoppt wird, is klar. Eigentlich sollte eine Seite ja auch keine Fehler enthalten . Wenn du willst, kannst du ja alle Fehler erst gar nicht melden lassen: error_reporting(0).
Das mit der if-Schleife versteh ich nicht. Kannst du vielleicht mal den Code posten?
mfg,
hr -
ya sry meine erkl?rungen sind shice ^^
$abfrage = "SELECT * FROM nickfilter";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$nick = $row->nick;
if($nick == "$username"){
echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
exit; //den da mein ich ^^
}
}
wenn exit aktiviert wird dann bleibt die seite stehen und mein design wird dann net weiter geladen...
und will andere l?sung daf?r----- =/
Beitrag ge?ndert am 10.12.2005 23:27 von bilo -
ya sry meine erkl?rungen sind shice ^^
$abfrage = "SELECT * FROM nickfilter";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$nick = $row->nick;
if($nick == "$username"){
echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
exit; //denn da mein ich ^^
}
}
wenn exit aktiviert wird dann bleibt die seite stehen und mein design wird dann net weiter geladen...
und will andere l?sung daf?r----- =/
?hm, was soll die Frage???
Dann entfern das "exit ();" doch einfach?! -
ja aber dann wird doch mein script weiterhin ausgef?hrt.. da kommt ja nochmehr abfragen... und eintr?ge...
kann man nicht machn das der script angehalten wird aber der seiten aufbau geht weiter??
Beitrag ge?ndert am 10.12.2005 23:29 von bilo -
Vielleicht hilft dir ja "continue"
Guckst du hier:
$abfrage = "SELECT * FROM nickfilter";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$nick = $row->nick;
if($nick == "$username"){
echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
continue;
}
}
Wenn das nicht so funktionier, wie du dir vorgestellt hast, kannst du statt "continue" auch mal "break" versuchen. -
klappt leider net =/
also ich gebe mal ne script als beispiel
<? if($sector == "regnow"){
$abfrage = "SELECT * FROM nickfilter";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$nick = $row->nick;
if($nick == "$username"){
echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
exit;
}
}
$abfrage = "SELECT * FROM ipsperre";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$ipcheck = $row->ip;
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
if($ip == "$ipcheck"){
echo "Du bist verbannt worden und kannst keine Nicknames mehr erstellen";
exit;
}
}
$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];
if($passwort != $passwort2 OR $username == "" OR $passwort == "")
{
echo "<center><br><font color='red'>Eingabefehler. Bitte alle Felder korrekt ausf?llen.</font></center>";
exit;
}
$passwort = md5($passwort);
$result = mysql_query("SELECT id FROM user WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO user (username, passwort, ip, geschlecht, age, motto, wohnort, sternzeichen, gro?, beruf) VALUES ('$username', '$passwort', '$ip', '$geschlecht', '$alter', 'Keine Angaben', 'Keine Angaben', 'Keine Angaben', 'Keine Angaben', 'Keine Angaben' )";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Registration abgeschlossen. <b>$username</b> wurde erstellt. <a href=\"index.php\">Startseite</a>";
}
else
{
echo "<center><br><font color='red'>Fehler beim Speichern des Benutzernames durch techniche St?rungen. Versuchen sie es sp?ter noch einmal oder benachrichtigen sie den webmaster</font></center> ";
}
}
else
{
echo "<font color='red'>Benutzername schon vorhanden.</font>";
}
}
?>
naja bei continue ging halt der script weiter. Da ist mein nickfilter nur dumm da weil er sag schon badname, aber nick wird trotzdem registriert. ich muss das woll alles mit if machn...
-
@lagg: Was meinst du denn damit??
Zum Code: Ist ja klar, wenn du die exit-Anweisung verwendest, dann wird das Script abgebrochen, und dein der Rest der Seite wird nicht angezeigt.
Wenn du nicht willst, dass das passiert, dann musst du alles in eine if-Schleife einbinden, sonst wird der Rest, der nach der ersten if-Schleife folgt, trotzdem ausgef?hrt (oder continue, wie schon erw?hnt, verwenden). Du kannst es eingentlich lassen... h?ng nach der if-Schleife einfach die else if-Schleife hin. Dann sollte es gehen.
Alles klar?
mfg,
hr -
Mit so vielen Bedingungen kann man es auch machen, ich hab nur die Erfahrung gemacht, das man da zienlich schnell Fehler macht.
lagg schrieb:
ich habe ma ne frage: wie habt ihr das alles gelern?
-B?cher lesen
-erfahrung Sammeln (pages machen)
-Bei problemen selbst im Forum fragen
Back to Topic:
Also ich hatte mal das gleich Problem und hab mir dann folgendes ?berlegt:
<?php //Vor diesem Code steht nix $richtig=true; //Irgendwelche abfragen Wenn irgend ein Fehler auftaucht if(Bedingung){$richtig=false} if(!$richtig){ header('location: htto://domain.de/fehlerseite.php'); exit(); } //Ausgabe der eigentlichen Page... ?>
Ist halt Ziemlich umsta?ndlich erstmal die Struktur in dein Script zu bringen, das es einen Teil gibt, der alles ?berpr?ft, aber noch nix ausgeben darf.
Hoffe das hilft dir.
Gru?, Milan
Beitrag ge?ndert am 11.12.2005 02:19 von ou -
$richtig=true
sollte man nicht amchn xD sonst kommt man immer leich reint :P
also ich hab mal diese if schleife mal gemacht aber bei mir klappter nicht
if(das != "das")
{
echo "fehler blub bla";
} else {
if(2. != "blub")
{
echo "existiert schon blub bla"
} else {
if(.... usw
ungef?hr 4-6 if ?dinger brauch ich nur dann kommt da immer
echo "<font color='red'>Benutzername schon vorhanden.</font>";
und das 4 mal wenn ich 4 ifs habe O.o
deswegen wollte ich hilfe :P
hmmmmmm
-
$abfrage = "SELECT * FROM nickfilter";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$nick = $row->nick;
if($nick == "$username"){
echo "Dieser Nick enthaltet was dummes :P. Such dir ein anderes aus ;).";
exit; //den da mein ich ^^
}
}
?ndere
if($nick == "$username"){
in
if($nick == $username){
-
$richtig=true
sollte man nicht amchn xD sonst kommt man immer leich reint :P
Wenn du am Anfang $richtig = false; schreibst und erst, wenn der User erfolgreich gefunden wurde und das Passwort richtig ist, dann sollte man $richtig auf true setzen und fertig.
MfG Lucas -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage