SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.05.2009, 20:59:30
rörich rörich ist offline
Anfänger
 
Registriert seit: May 2009
Alter: 34
Beiträge: 2
if funzt irgendwie nicht

Was ist an diesem Code falsch? Ich denke eigentlich er ist richtig, aber man übersieht ja auch ab und zu mal was.

Zum Code: Das Verzeichnis, die kopie und die Datein sollen erst dann abgespeichert werden wenn wirklich alles im Formular eingegeben wurde, sobald was fehlt soll er einfach nichts machen.

PHP-Code:
<?php
include("config.php");
$username=$_POST['username'];
$persken=$_POST['persken'];
$password=$_POST['password'];
$password2=$_POST['password2'];
$email=$_POST['email'];
$agb=$_POST['agb'];

if (
$username == "" ||   $persken == ""  ||   $password == ""  || $password2 == ""  ||  $email == "" || $agb == "")

{    
    
mkdir("user/$persken"0777);        

    
copy("user/vorlage/index.php","user/$username.php");
    
copy("user/vorlage/index2.php","user/$persken/index.php");
    
copy("user/vorlage/bearb.php","user/$persken/bearb.php");

    
$commufile=fopen("commu.htm","a+");
    
fputs($commufile,"<a href=\"user/$username.php\">$username</a><br>");
    
fclose($commufile);
}


?>
mfg rörich
Mit Zitat antworten
  #2  
Alt 27.05.2009, 22:25:48
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: if funzt irgendwie nicht

Hy rörich,

Deine If kann nicht funktionieren, da die Bedingung nur erfüllt ist, wenn eines der Felder leer ist, wenn dann müsstest Du die Bedingung schon so schreiben:

PHP-Code:
if ($username != ""  &&  $persken != ""  &&  $password != ""  && $password2 != ""  &&  $email != "" && $agb != ""
Diese Variante ist aber SEHR unsauber.

Bitte verwende zur Prüfung statt == "" lieber empty, in deinem Fall müsstest Du es dann aber so schreiben:

PHP-Code:
if (!empty($username)  &&  !empty($persken) &&  !empty($password) && !empty($password2) &&  !empty($email) && !empty($agb)) 
Aber auch diese Variante ist nicht sehr sauber, besser wäre, wenn Du die Pflichfelder mit einem führenden Unterstrich oder ähnlichem Kennzeichnest. Und dann die Daten wie folgt abfragst:

PHP-Code:
$saveData $_POST;
$error false;
foreach(
$saveData as $saveFieldName => $saveFieldValue)
{
    if(
preg_match('/^_/',$saveField))
    {
        if(empty(
$saveFieldValue))
        {
            
$error .= $saveFieldName.',';
        }
    }
}
if(!
$error)
{
    
// Kein Fehler
}else{
    
$error rtrim($error,','); //Entfernung des letzten kommas
    //Fehler in:

Das Script habe ich aber nicht extra getestet!!!
Wenn Du noch Fragen hast oder das Script nicht funktionieren sollte, dann einfach hier posen.
Mit Zitat antworten
  #3  
Alt 27.05.2009, 23:43:29
rörich rörich ist offline
Anfänger
 
Registriert seit: May 2009
Alter: 34
Beiträge: 2
AW: if funzt irgendwie nicht

Vielen Dank, jetzt funktioniert es endlich.

mfg Rörich
Mit Zitat antworten
  #4  
Alt 28.05.2009, 10:15:35
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: if funzt irgendwie nicht

Zitat:
Zitat von ksticker Beitrag anzeigen
PHP-Code:
$saveData $_POST;
$error false;
foreach(
$saveData as $saveFieldName => $saveFieldValue)
{
    if(
preg_match('/^_/',$saveField))
    {
        if(empty(
$saveFieldValue))
        {
            
$error .= $saveFieldName.',';
        }
    }

1. $saveField wurde nicht definiert; es sollte sicher $saveFieldName heissen ?
2. benutze strstr( ) oder strpos( ) - preg_match ist hier unangebracht

cx
Mit Zitat antworten
  #5  
Alt 28.05.2009, 13:26:03
schrubba schrubba ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 110
AW: if funzt irgendwie nicht

Hi,

Zitat:
Zitat von ksticker Beitrag anzeigen
Bitte verwende zur Prüfung statt == "" lieber empty
Kommt ganz auf das Einsatzgebiet an, denn für empty ist die "0" auch leer. An Stellen wo ich auch die "0" mit in die Prüfung einbeziehen muss, verwende ich ebenfalls == ""..


Gruß
schrubba

Geändert von schrubba (28.05.2009 um 22:44:25 Uhr)
Mit Zitat antworten
  #6  
Alt 28.05.2009, 18:33:05
Chance Chance ist offline
Anfänger
 
Registriert seit: May 2007
Alter: 44
Beiträge: 53
Chance eine Nachricht über ICQ schicken
AW: if funzt irgendwie nicht

Mir empty habe ich schon merkwürdige Effekte erlebt... im zusammenhang mit der 0 ^^ . Is laber lange her...

Ich setzte mehr auf isset === false .
__________________
Das Leben ist ein komisches Spiel...
Aber die Grafik ist GEIL !
Mit Zitat antworten
  #7  
Alt 28.05.2009, 18:51:53
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: if funzt irgendwie nicht

cortex du hast natürlich recht, ich hab die Variable falsch benannt.

Und das mit dem empty, joah wenn null drin steht wird es auch als falsch erkannt.
Sorry hatte ich in dem Fall nicht bedacht.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
str_replace / ereg_replace funzt net ms.be PHP Grundlagen 1 12.10.2007 15:26:17
PHP für ein Online Spiel - FUnzt das? fedexx PHP für Fortgeschrittene und Experten 1 25.04.2004 14:21:01
Sessions, es soll so einfach sein, wieso funzt es nicht?? fedexx PHP für Fortgeschrittene und Experten 6 29.01.2004 01:43:21
[Hilfe] Includen Funzt Net! :( pHp ViRuS PHP für Fortgeschrittene und Experten 0 16.04.2003 23:59:34
variablen-übergabe funzt irgendwie nicht maddin PHP für Fortgeschrittene und Experten 14 29.08.2002 18:15:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:54:48 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt