CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich![](http://www.selfphp.de/adsystem/adview.php?what=293&n=a1786766)
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
![](http://www.selfphp.de/SELFPHP_Logo_klein.gif)
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP ![](images/pfeil_1.gif)
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
![Alt](images/statusicon/post_old.gif)
11.02.2010, 11:41:38
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 40
Beiträge: 25
|
|
Php user ordner = username bei der registrierenung erstellen
Hallo liebe Gemeinde.
Erst einmal ein schönes lob an den Forum, hab durch euch sehr viel geschafft.
Nun musste ich mich hier anmelden, weil meine php Kenntnisse leider begrenzt sind.
KOnnte dieses mal, leider nix finden, was zu mein tema passen würde.
Hoffe deshalb das ihr mir helfen könnt.
Zu mein Problem.
Bin an eine PHP/Flash Homepage zugange.
Es ist so das ich einen PHP Login habe mit MySQL Datenbank.
Nun sollen bei der registrierung,Ordner für den benutzer erstellt werden.
Soweit klappt auch alles...
Mein Problem ist ich weiß nicht wie ich den PHP Script dazu bringe das der Ordner = Username ist.
Meine Homepage sucht beim Uploaden von Bilder etc.. schon nach dem _global.User deshalb wird, wen Mann mit Test eingeloggt ist nach der Ordner Test gesucht.
Hier mein Register script..
PHP-Code:
<?
require_once('conf.inc.php');
require_once('functions.php');
// ---
// register new user
// ---
function register($username,$pass,$email,$question,$answer,$vorname,$nachname,$geburtsdatum,$strasse,$nummer,$ort,$plz,$mobil,$festnetz,$emailw,$country,$fstatus,$geschl)
{
GLOBAL $db, $table;
$username = trim($username);
$pass = trim($pass);
$email = trim($email);
$question = addslashes(trim($question));
$answer = addslashes(trim($answer));
$validEmail = valid_email($email);
$validName = valid_userName($username);
$validPass = valid_password($pass);
$vorname = addslashes(trim($vorname));
$nachname = addslashes(trim($nachname));
$geburtsdatum = addslashes(trim($geburtsdatum));
$strasse = addslashes(trim($strasse));
$nummer = addslashes(trim($nummer));
$ort = addslashes(trim($ort));
$plz = addslashes(trim($plz));
$mobil = addslashes(trim($mobil));
$festnetz = addslashes(trim($festnetz));
$emailw = addslashes(trim($emailw));
$country = addslashes(trim($country));
$fstatus = addslashes(trim($fstatus));
$geschl = addslashes(trim($geschl));
if(!$validName) return "error=invalid name";
if(!$validPass) return "error=invalid password";
if(!$validEmail) return "error=invalid email";
$pass = md5(trim($pass));
// User ordner erstellen
if ( mkdir ( '/users/seby1302/www/FlashHp/Userlogin/testuser'))
{echo 'User ordner erstellt!';}
if ( mkdir ( '/users/seby1302/www/FlashHp/Userlogin/testuser/Profil'))
{echo 'User Profil erstellt!';}
// all checks ok
$query = @mysql_query("INSERT INTO $table (userName,userPassword,userMail,userQuestion,userAnswer,vorname,nachname,geburtsdatum,strasse,nummer,ort,plz,mobil,festnetz,userMailw,country,fstatus,geschl) VALUES "
."('$username','$pass','$email','$question','$answer','$vorname','$nachname','$geburtsdatum','$strasse','$nummer','$ort','$plz','$mobil','$festnetz','$emailw','$country','$fstatus','$geschl')");
if(!$query)
{
return "error=" . mysql_error();
} else {
return "user=ok";
}
}
PHP-Code:
if ( mkdir ( '/users/seby1302/www/FlashHp/Userlogin/testuser/Profil'))
{echo 'User Profil erstellt!';}
Habe auch anstelle von /testuser/ $username oder $name in verschiedene varianten probiert, aber leider will es nicht.
Danke schon mal an alle.
|
![Alt](images/statusicon/post_old.gif)
11.02.2010, 17:55:24
|
Anfänger
|
|
Registriert seit: Aug 2008
Alter: 35
Beiträge: 124
|
|
AW: Php user ordner = username bei der registrierenung erstellen
Hallo und wilkommen im Forum!
Da du uns hier einen korrekten Code postest kann ich nicht wirklich viel dazu sagen... Wenn du diese Stelle nun mit einer Variable ersetzt ($username), stelle sicher dass keine Whitespaces drin sind. (Da du eine Funktion valid_userName hast, scheint das vlt. schon geschehen zu sein).
Weiters lasse dir die Variable bei Fehlerfall mal ausgeben. Setze sie mal nur, so wie hier, auf testuser.
Ausserdem solltest du vor dem Anlegen überprüfen, ob nicht vlt bereits ein solcher Ordner existiert.
Mfg
__________________
Allergisch auf: - "Ich brauch ein Script für..."
- "...dringend..."
- Anfrage-->Antwort-->Nie wieder melden
|
![Alt](images/statusicon/post_old.gif)
12.02.2010, 00:06:12
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: Php user ordner = username bei der registrierenung erstellen
Hi
Bei dem geposteten code erstellst du immer den ordner /testuser/
und darion /Profil
Du solltest schon beim ersten Ordner prüfen ob der gesetzt ist wenn nicht brauch er den 2ten nicht probieren.
probiermal
PHP-Code:
// User ordner erstellen if ( mkdir ( '/users/seby1302/www/FlashHp/Userlogin/'.$username)){ echo 'User ordner erstellt!'; if ( mkdir ( '/users/seby1302/www/FlashHp/Userlogin/'.$username.'/Profil')){ echo 'User Profil erstellt!'; } }
Setz dich auch mit CHMOD auseinander
Desweiteren unterbreche deine Querys
PHP-Code:
$query = @mysql_query("INSERT INTO $table (userName,userPassword,userMail,userQuestion,userAnswer,vorname,nachname,geburtsdatum,strasse,nummer,ort,plz,mobil,festnetz,userMailw,country,fstatus,geschl) VALUES ('".$username."','".$pass."','".$email".'--- usw---')");
mfg
Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
![Alt](images/statusicon/post_old.gif)
12.02.2010, 02:37:18
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 40
Beiträge: 25
|
|
AW: Php user ordner = username bei der registrierenung erstellen
@Xor
Danke schon mal für deine Tipps, das mit Überprüfung ob der Ordner schon vorhanden ist, wird natürlich noch gemacht.
Es ging mir erst einmal darum das ich das hin bekomme bevor ich da weiter Rum tippe, und noch mehr fehler einbaue. ^^
@Ckaos
Danke sehr, so hat es geklappt hatte das schon so probiert gehabt Allerdings habe ich den Fehler gemacht mit den {echo} {echo}
Das mit dem CHMOD xxx kommt natürlich auch noch ^^
Ach ja könntest du mir erklären warum man die Querys unterbrechen sollte? Gibt es da ein bestimmtes Grund?
Frage nur, weil wen ja will ich ja was dazu lernen :-)
|
![Alt](images/statusicon/post_old.gif)
12.02.2010, 09:09:53
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: Php user ordner = username bei der registrierenung erstellen
Hi
Zitat:
Zitat von seby1302
Ach ja könntest du mir erklären warum man die Querys unterbrechen sollte? Gibt es da ein bestimmtes Grund?
Frage nur, weil wen ja will ich ja was dazu lernen :-)
|
Nicht nur Querys sondern alle Strings. Um das zu verdeutlichen, sag mir mal bei folgendem
fall den variablennamen
PHP-Code:
echo "Heute ist der $tagte.";
Eigentlich sollte $tag die nummer des Tages enthalten ;) also
PHP-Code:
echo "Heute ist der ".$tag."te.";
Desweiteren ist bei array ausgaben das selbe.
Weiteres findest du wenn du nach php,mysql, konkatenation googlest.
PS: entferne beim usernamen auch alle sonderzeichen.
mfg
Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
![Alt](images/statusicon/post_old.gif)
12.02.2010, 09:17:01
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Php user ordner = username bei der registrierenung erstellen
Zitat:
Zitat von Ckaos
PHP-Code:
echo "Heute ist der ".$tag."te.";
|
da php in strings, die mit double quotes umschlossen sind, nach variablen sucht, würde ich konsequenter sein und gleich so schreiben:
PHP-Code:
echo 'Heute ist der ' . $tag . 'te.';
sicher irgendwo auch geschmackssache .-
cx
|
![Alt](images/statusicon/post_old.gif)
12.02.2010, 09:20:53
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Php user ordner = username bei der registrierenung erstellen
@seby1302: zur ursprünglichen problematik (ordnername === username): denk dir was besseres aus. wie Ckaos gerade angedeutet hat, wird das ganze bereits bei sonderzeichen lustig; nicht auszudenken, wenn UTF-8...
vorschlag: ordnername = md5( username )
dürfte eindeutig sein und [0-9a-f] sind für jedes os unproblematisch.
cx
|
![Alt](images/statusicon/post_old.gif)
17.02.2010, 18:00:11
|
Anfänger
|
|
Registriert seit: Feb 2010
Alter: 40
Beiträge: 25
|
|
AW: Php user ordner = username bei der registrierenung erstellen
Hi das problem habe ich nicht, hatte hier ja nciht den ganzen code genohmen da mein user.php bisgen viel enthält.
z.b:
require_once('conf.inc.php');
require_once('functions.php');
Nun schaut meine function.php so aus:
PHP-Code:
<?
error_reporting(E_ALL);
function valid_email($email)
{
// check if email is valid
if( !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"
."@([a-z0-9]+([\.-][a-z0-9]+))*$",$email, $regs))
{
return false;
} else if( gethostbyname($regs[2]) == $regs[2] )
{
// if host is invalid
return false;
} else {
return true;
}
}
function valid_userName($name)
{
// check valid input name
if(!eregi("^[a-z0-9]{4,15}$",$name))
{
return false;
} else {
return true;
}
}
function valid_password($pwd)
{
// check valid password
if(!eregi("^[a-z0-9]{4,15}$",$pwd))
{
return false;
} else {
return true;
}
}
?>
Damit habe ich für den sonderzeichen schon vorgesorgt ;-) wen ihr das gemeint habt.
Und natürlich ist das im Flash nochmal eingegeben das man Z.b bei username herst garnicht @ etc.. eintippen kann..
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:32:07 Uhr.
|