Tutorials

Eine immer größer werdende Tutorialdatenbank.

PHP-Fusion Core

Aktuelle PHP-Fusion Vollversionen und Updates

Addon Downloads

Alle Downloads garantiert Kostenlos

Support 24/7

24 Stunden, 7 Tage die Woche, das ganze Jahr.

Thema ansehen
PHP-Fusion.at - Offizielle Supportseite für PHP-Fusion » Support für die Versionen v7.00 und v7.01 » Allgemein
Hilfe für ein Userfeld Thema drucken
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 07:16
 #1 Beitrag drucken Top
Hallo zusammen,
ich möchte für mich ein Userfeld machen das den Titel "Grund der Registration" trägt.

Dieses Feld soll aber nur in der Registration und hier (administration/members.php?aid=7a9652302fe448e8&step=view&user_id=xx) angezeigt werden.

ist das möglich, wenn ja wie muss ich das machen.
Habe das Userfeld bereits fertig aber es wird auch in der profile.php angezeigt.

Über Tips freue ich mich sehr !! (:
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 06.05.2012 um 10:50
 #2 Beitrag drucken Top
Es wäre cool, wenn du das Benutzerfeld hier anhängen könntest.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.05.2012 um 14:30
 #3 Beitrag drucken Top
Naja wenn man es bei mir sieht und hier fragt....was soll ich dazu noch sagen, wenn man mich nicht Fragen will.
Dazu sage ich gleich, wenn du das als Pflichtfeld willst, kann das sein, dass du das ins Profilfeld einbauen musst, seitdenn es geht mit einer Value Prüfung im Profilfeld, wo ich das Für 7.00 und 7.01 hatte, war ich noch nicht so erfahren^^
Habs für 7.02 neu geschrieben, weil man muss es nur noch im Profiladmin als Pflichtfeld Anhaken und fertig.


Zusammengefügt am 06. Mai 2012 um 14:57:21:
Hier mal als 7.02, da kann man sich bisschen was abgucken:

<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright © 2002 - 2009 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: user_grund_include.php
| Author: DeeoNe
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

// Display user field input
if ($profile_method == "input") {
if(FUSION_SELF == "register.php") {
   $user_grund = isset($user_data['user_grund']) ? $user_data['user_grund'] : "";
   if ($this->isError()) { $user_grund = isset($_POST['user_grund']) ? stripinput($_POST['user_grund']) : $user_grund; }

   echo "<tr>\n";
   echo "<td class='tbl".$this->getErrorClass("user_grund")."'><label for='user_grund'>".$locale['uf_grund'].$required."</label><br><span style='color:#ff0000' class='small2'>(Diese Information wird verwendet, um Ihre Registrierung hier zu &uuml;berpr&uuml;fen.)</span></td>\n";
   echo "<td class='tbl".$this->getErrorClass("user_grund")."'>";
   echo "<textarea name='user_grund' cols='60' rows='3' class='textbox' style='width:295px'>".(isset($user_data['user_grund']) ? $user_data['user_grund'] : "")."</textarea>";
   echo "</td>\n</tr>\n";

   if ($required) { $this->setRequiredJavaScript("user_grund", $locale['uf_grund_error']); }
}
// Display in profile
} elseif (($profile_method == "display") && (iADMIN)) {
   if ($user_data['user_grund']) {
      echo "<tr>\n";
      echo "<td class='tbl1'><font color='#FF0000'>".$locale['uf_grund']."</font></td>\n";
      echo "<td align='right' class='tbl1'>".$user_data['user_grund']."</td>\n";
      echo "</tr>\n";
   }
   
// Insert and update
} elseif ($profile_method == "validate_insert"  || $profile_method == "validate_update") {
if(FUSION_SELF == "register.php") {
   // Get input data
   if (isset($_POST['user_grund']) && ($_POST['user_grund'] != "" || $this->_isNotRequired("user_grund"))) {
      // Set update or insert user data
      $this->_setDBValue("user_grund", stripinput(trim($_POST['user_grund'])));
   } else {
      $this->_setError("user_grund", $locale['uf_grund_error'], true);   
   }
}
}
?>

mal gucken ob du was anfangen kannst.
Augenmerk auf:
(iADMIN)
(FUSION_SELF == "register.php")
Bearbeitet von DeeoNe am 06.05.2012 um 14:57
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 15:49
 #4 Beitrag drucken Top
Danke Denis, ich hatte dich damals mal gefragt gehabt (Anfangszeit) wo ich bei Dir Angemeldet war. Ich schau mal ob ich das so hin bekomme. (:


[Edit]:
Ich würde euch gern mal mein Feld anhängen, ich bekomm es irgendwie nicht eingebaut. Würde mich freuen, wenn mir jemand helfen könnte.

LG
Paramedic hat folgende Datei angehängt:  registrierungsgrund-feld.rar [2.25kB / 1230 mal Heruntergeladen]
Bearbeitet von Paramedic am 06.05.2012 um 16:12
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.05.2012 um 16:22
 #5 Beitrag drucken Top
Ändern so bei Block2:

} elseif (($profile_method == "display") && (iADMIN)) {


Einbauen das im Block1 & Block3:

if(FUSION_SELF == "register.php") {
CODE
}


Eigentlich kann man sich das so nun abgucken von meinem wie es ungefähr geht und wo die klammern sitzten müssen.
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 16:25
 #6 Beitrag drucken Top
Gut also müsste das nun so aussehen:


if ($profile_method == "input") {
if(FUSION_SELF == "register.php") {
echo "<tr>\n";
   echo "<td class='tbl'>".$locale['uf_registriergrund']."<br />
   <span style='color:#ff0000; font-size:10px;'><b>(Diese Information wird verwendet,<br />um deine Registrierung hier zu &uuml;berpr&uuml;fen.)</b></span></td>\n";
   echo "<td class='tbl'><textarea name='user_registriergrund' rows='2' class='textbox' style='width:200px'>".(isset($user_data['user_registriergrund']) ? $user_data['user_registriergrund'] : "")."</textarea>
</td>\n";
   echo "</tr>\n";
} elseif (($profile_method == "display") && (iADMIN)) {
   if ($user_data['user_registriergrund']) {
      echo "<tr>\n";
      echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_registriergrund']."</td>\n";
      echo "<td align='left' class='tbl1'>".$user_data['user_registriergrund']."</td>\n";
      echo "</tr>\n";
   }
if(FUSION_SELF == "register.php") {
   } elseif ($profile_method == "validate_insert") {
   
   $db_fields .= ", user_registriergrund";
   $db_values .= ", '".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
    if($_POST['user_registriergrund'] == '') $error .= $locale['uf_registriergrund_error'];
  } elseif ($profile_method == "validate_update") {
   $db_values .= ", user_registriergrund='".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
   }
   }
?>


Eventuell habe ich was falsch gemacht, denn unter "Profil bearbeiten" erhalte ich die Edit_profile.php auf der ganzen Desktopbreite und nur bis zum Avatar.

[Edit]:
Fehler gefunden!

Nurnoch eins, wie kann ich das nun so machen, dass es auch noch in Edit_profile angezeigt wird sodass ich den Testuser bearbeiten kann dort den Grund einfügen kann und im Adminbereich mal gucken kann ?
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.05.2012 um 16:37
 #7 Beitrag drucken Top
Du hast gesagt:

Dieses Feld soll aber nur in der Registration und hier (administration/members.php?aid=7a9652302fe448e8&step=view&user_id=xx) angezeigt werden.

Und das ist das was ich dir gepostet habe, um es Editieren zu können im Nachhinein muss das ganze anderst sein:

if(FUSION_SELF == "register.php") {

muss in:

if(iADMIN) {

Wobei das nicht ganz stimmt was du da oben gepostet hast an Code:

<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2010 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: user_registriergrund_include.php
| Author: Mod-Rescue
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if ($profile_method == "input") {
if(FUSION_SELF == "register.php") {
   echo "<tr>\n";
   echo "<td class='tbl'>".$locale['uf_registriergrund']."<br />
   <span style='color:#ff0000; font-size:10px;'><b>(Diese Information wird verwendet,<br />um deine Registrierung hier zu &uuml;berpr&uuml;fen.)</b></span></td>\n";
   echo "<td class='tbl'><textarea name='user_registriergrund' rows='2' class='textbox' style='width:200px'>".(isset($user_data['user_registriergrund']) ? $user_data['user_registriergrund'] : "")."</textarea>
</td>\n";
   echo "</tr>\n";
}
} elseif (($profile_method == "display") && (iADMIN)) {
   if ($user_data['user_registriergrund']) {
      echo "<tr>\n";
      echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_registriergrund']."</td>\n";
      echo "<td align='left' class='tbl1'>".$user_data['user_registriergrund']."</td>\n";
      echo "</tr>\n";
   }
} elseif ($profile_method == "validate_insert") {
if(FUSION_SELF == "register.php") {
   $db_fields .= ", user_registriergrund";
   $db_values .= ", '".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
    if($_POST['user_registriergrund'] == '') $error .= $locale['uf_registriergrund_error'];
  } elseif ($profile_method == "validate_update") {
   $db_values .= ", user_registriergrund='".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
}
}
?>
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 16:42
 #8 Beitrag drucken Top
So danke erstmal, ich hab den Code nun so:


<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2010 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: user_registriergrund_include.php
| Author: Mod-Rescue
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if ($profile_method == "input") {
if(iADMIN) {
echo "<tr>\n";
   echo "<td class='tbl'>".$locale['uf_registriergrund']."<br />
   <span style='color:#ff0000; font-size:10px;'><b>(Diese Information wird verwendet,<br />um deine Registrierung hier zu &uuml;berpr&uuml;fen.)</b></span></td>\n";
   echo "<td class='tbl'><textarea name='user_registriergrund' rows='2' class='textbox' style='width:200px'>".(isset($user_data['user_registriergrund']) ? $user_data['user_registriergrund'] : "")."</textarea>
</td>\n";
   echo "</tr>\n";
} elseif (($profile_method == "display") && (iADMIN)) {
   if ($user_data['user_registriergrund']) {
      echo "<tr>\n";
      echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_registriergrund']."</td>\n";
      echo "<td align='left' class='tbl1'>".$user_data['user_registriergrund']."</td>\n";
      echo "</tr>\n";
   }
   }
if(iADMIN) {
   } elseif ($profile_method == "validate_insert") {
   
   $db_fields .= ", user_registriergrund";
   $db_values .= ", '".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
    if($_POST['user_registriergrund'] == '') $error .= $locale['uf_registriergrund_error'];
  } elseif ($profile_method == "validate_update") {
   $db_values .= ", user_registriergrund='".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
   }
   }
?>


Im Adminprofil (administration/members.php?aid=7a9652302fe448e8&step=view&user_id=xx)
wird das nicht angezeigt. Ich glaube, ich habe was falsch.
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.05.2012 um 16:45
 #9 Beitrag drucken Top
Schau dir mein Code aus Beitrag#7 GENAU an, oder nimmt den und änder es dort, denn du hast wieder die gleichen Fehler drinne!
Bearbeitet von DeeoNe am 06.05.2012 um 16:49
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 16:49
 #10 Beitrag drucken Top
So, ich hab nun deinen Code aus Beitrag 7 genommen und so geändert:


<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2010 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: user_registriergrund_include.php
| Author: Mod-Rescue
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }

if ($profile_method == "input") {
if(iADMIN) {
   echo "<tr>\n";
   echo "<td class='tbl'>".$locale['uf_registriergrund']."<br />
   <span style='color:#ff0000; font-size:10px;'><b>(Diese Information wird verwendet,<br />um deine Registrierung hier zu &uuml;berpr&uuml;fen.)</b></span></td>\n";
   echo "<td class='tbl'><textarea name='user_registriergrund' rows='2' class='textbox' style='width:200px'>".(isset($user_data['user_registriergrund']) ? $user_data['user_registriergrund'] : "")."</textarea>
</td>\n";
   echo "</tr>\n";
}
} elseif (($profile_method == "display") && (iADMIN)) {
   if ($user_data['user_registriergrund']) {
      echo "<tr>\n";
      echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_registriergrund']."</td>\n";
      echo "<td align='left' class='tbl1'>".$user_data['user_registriergrund']."</td>\n";
      echo "</tr>\n";
   }
} elseif ($profile_method == "validate_insert") {
if(iADMIN) {
   $db_fields .= ", user_registriergrund";
   $db_values .= ", '".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
    if($_POST['user_registriergrund'] == '') $error .= $locale['uf_registriergrund_error'];
  } elseif ($profile_method == "validate_update") {
   $db_values .= ", user_registriergrund='".(isset($_POST['user_registriergrund']) ? stripinput(trim($_POST['user_registriergrund'])) : "")."'";
}
}
?>

Es wird immernoch nicht im Adminbereich bei den profilen angezeigt.

Also beim Testuser steht mal beim "Grund" Test drinne aber wird nicht angezeigt.
Bearbeitet von Paramedic am 06.05.2012 um 16:50
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.05.2012 um 16:50
 #11 Beitrag drucken Top
Sieht nur ein Admin und muss was eingetragen sein.
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 16:51
 #12 Beitrag drucken Top
Hab eben nochmal bearbeiten, ich als SA sehe das irgendwie nicht :/
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 06.05.2012 um 16:55
 #13 Beitrag drucken Top
Das ist komisch, ging das überhaupt vorher?
Weil das was drinne ist, ist jetzt nur, das es ein admin sieht, aber die funktionen bleiben erhalten.
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 06.05.2012 um 16:59
 #14 Beitrag drucken Top
OK, fehler gefunden!
Hatte ausversehen das userfeld deaktiviert xD

Zusammengefügt am 08. Mai 2012 um 18:43:43:
Jetzt mal noch ne Frage ... irgendwie funzt das nicht als Pflichtfeld xD
Bearbeitet von Paramedic am 08.05.2012 um 18:43
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Senior Mitglied


DeeoNe Geschrieben am 08.05.2012 um 20:55
 #15 Beitrag drucken Top

Zitat

Dazu sage ich gleich, wenn du das als Pflichtfeld willst, kann das sein, dass du das in die Profil.php einbauen musst wie ich darmals, seitdenn es geht mit einer Value Prüfung im Profilfeld, wo ich das Für 7.00 und 7.01 hatte, war ich noch nicht so erfahren^^
Habs für 7.02 neu geschrieben, weil man muss es nur noch im Profiladmin als Pflichtfeld Anhaken und fertig.

Weiß nicht ob man da eine Java Prüfung auf value Leer einbauen kann, das eine Meldung kommt.
Beiträge: 219 
http://www.deeone.de 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 08.05.2012 um 20:58
 #16 Beitrag drucken Top
Ah, diesen Abschnitt habe ich wohl übersehen. Eventuell kann ja jemand Sagen ob man ne value leer einbauen kann.
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 10.05.2012 um 04:42
 #17 Beitrag drucken Top
Pflichtfelder gibt es erst seit v7.02, von daher müsste man bei v7.01.xx alle Dateien (register.php, edit_profile.php, includes/update_profile_include.php, admin/members.php, profile.php) von Hand bearbeiten und das Benutzerfeld fix einprogrammieren.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 10.05.2012 um 04:45
 #18 Beitrag drucken Top
Hi David, das ist nicht ganz richtig denn es gibt von PHPFusion-Supportclub die Userfelder "Kontaktdaten" welche als Pflichtfelder gemacht sind allerdings ist da der nachteil dass du keine Members mehr im Admin anlegen kannst.

Gut, aber nun die Frage was genau müsste man machen, damit man das hinbekommt wenn es natürlich zuviel aufwand ist dann kann man das auch lassen.
Beiträge: 577 
http://4friends.mod-rescue.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 10.05.2012 um 04:52
 #19 Beitrag drucken Top
Wie du bereits sagtest, man kann dies nicht mehr und das nicht mehr, ganz einfach, weils für v7.01 keine Pflichtfelder als "Addon" vergesehen gab.
Nunja alzuviel ist es nicht, ich werde, wenn ich die Zeit habe, dir einen Tutorial schreiben.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Veteran Mitglied


Paramedic Geschrieben am 10.05.2012 um 04:53
 #20 Beitrag drucken Top
Das wäre klasse wenn Du das machen würdest. (:
Beiträge: 577 
http://4friends.mod-rescue.de 
Springe ins Forum:
Anzeige


Anmelden


Registrieren Passwort vergessen

RSS Feeds

Feeds abonieren

Letzte News
Letzte Threads
Anzeige

© Copyright 2024 PHP-Fusion.at | Alle Rechte vorbehalten.

© 2016 Real Space. All rights reserved | Design by W3layouts | 19,818,634 eindeutige Besuche
Powered by PHP-Fusion copyright © 2002 - 2024 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.