Ergebnis 1 bis 8 von 8

Thema: Pulldown in Userprofil und Link per wert setzen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer
    Registriert seit
    11.02.2010
    Beiträge
    192

    Pulldown in Userprofil und Link per wert setzen?

    Hallo,

    ich brauche mal eure hilfe, es wäre sehr nett wenn mir da jemand helfen könnte.

    Ich hätte gerne ein Pulldown-Auswahl im Userprofil, wie bei der auswahl ob man einen Newsletter erhalten will oder nicht. Dies sollte ebenfalls Ja/Nein erhalten. Er soll in die Datenbank bei Ja eine 1 in kontodaten/shout eintragen und bei Nein eine 0.

    Leider werde ich durch die Newsletter funktion nicht wirklich schlauer.

    Mein zweites problem:
    Wie kann ich im linken menü einen link anzeigen lassen wenn der wert auf 1 und verschwinden lassen wenn der wert beim User auf 0 ist?

    Belohung 20Mio für die Person die es als erstes gelöst hat.

    Schönen Sonntag wünsche ich euch noch!

  2. #2
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Im Prinzip sollte man das mit Copy&Paste schon weiterkommen, evtl. kannst du uns sagen, was du schon versucht hast/wo Fehler auftreten?


    1. Code für HTML Auswahl kopieren:
      HTML-Code:
         <tr>
          <td>Newsletter:</td>
          <td>
          <select name="newsletter">
          <option value="1" <? if ($newsletter == 1) echo 'selected';?>>Ja</option>
          <option value="0" <? if ($newsletter == 0) echo 'selected';?>>Nein</option>
          </select>
          </td>
         </tr>
      an der gewünschten Stelle einfügen, "Newsletter", "newsletter" und "$newsletter" austauschen gegen selbstgewählte Texte/Bezeichner.
      (Foo, foo und $foo im Folgenden)
    2. Usereingabe prüfen, dazu nach der Zeile:
      PHP-Code:
      if ($_POST['newsletter'] == and $_POST['paidmails'] == 1$mailstatus 3
      foglende einfügen:
      PHP-Code:
      if ($_POST['foo'] == 1){ $foo 1;}else{ $foo 0;} 
    3. Danach Eintrag in Datenbank:
      PHP-Code:
      db_query("UPDATE ".$db_prefix."_userdaten SET shout = ".((int)$foo)." WHERE uid=".$_SESSION['uid'].""); 
    4. Nach der Zeile:
      PHP-Code:
      if ($info['freigabe_fuer'] == 3) {$newsletter 1$paidmails 1;} 
      foglende einfügen:
      PHP-Code:
      $foo $info['shout']; 
      zum "Auslesen" des Wertes, bzw Ablegen in der Variablen, die im HTML weiter unten genutzt wird.

    Ich hab den Wert mal in die Tabelle vms_userdaten, da die in dieser Datei dann eh schon ausgelesen wird.

    Dann erstmal testen, ob das soweit funktioniert (Wert korrekt abgepeichert wird).
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  3. #3
    Erfahrener Benutzer
    Registriert seit
    11.02.2010
    Beiträge
    192
    Hallo,

    danke für deine Hilfe. Es kommt keine Fehlermeldung. Wenn ich etwas auswähle übernimmt er es dann einfach nicht.

  4. #4
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Sofern du keine kostenpflichtigen Addons in deiner userprofil.php hast, kannst du sie ja hier mal einstellen, mit dem Code wie du es bisher versucht hast, dann kann man da besser helfen.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  5. #5
    Erfahrener Benutzer
    Registriert seit
    11.02.2010
    Beiträge
    192
    Hatte heute etwas mehr zeit und nun funktionier es, es hat nur folgendes gefehlt:

    PHP-Code:
    if (!isset($_POST['shout']))                    $_POST['shout']                = ""
    Das einzige was noch nicht funktioniert ist das er das ausgewählte auch anzeigt, also wenn ich ja auswähle und neu auf das Userprofil gehe das dort nein steht anstatt Ja.

    Anscheinend fehlt nur die Abfrage zur $shoutbox = $shoutbox['shout'];. Aber naja, will nicht so gehen, es sei denn meine Abfrage ist falsch.

    Die war so:
    PHP-Code:
    $shoutbox mysql_fetch_array(db_query("SELECT shout FROM ".$db_prefix."_kontodaten WHERE u.uid=".$_SESSION['uid']." LIMIT 1"));

    $shoutbox $shoutbox['shout']; 
    PHP-Code:
    <?
    userstatus();
    // Variabeln definieren
    if (!isset($_POST['aendern']))                  $_POST['aendern']              = "";
    if (!isset($_POST['acc_del']))                  $_POST['acc_del']              = "";
    if (!isset($_POST['del_passwort']))             $_POST['del_passwort']         = "";
    if (!isset($_POST['pwd']))                      $_POST['pwd']                  = "";
    if (!isset($_POST['pwd2']))                     $_POST['pwd2']                 = "";
    if (!isset($_POST['nickname']))                 $_POST['nickname']             = "";
    if (!isset($_POST['newsletter']))               $_POST['newsletter']           = "";
    if (!isset($_POST['shout']))                    $_POST['shout']                = "";
    if (!isset($change))                            $change                        = "";
    if (!isset($mailstatus))                        $mailstatus                    = "";
    if (!isset($delchange))                         $delchange                     = "";

    if ($_POST['acc_del'] == 'Jetzt löschen!' && $_POST['del_passwort']) {
            $schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
            @require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php");
            @uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['del_passwort']);
            if ($error) {
            $delchange = $trans_ausgabe.'<br>';
            } else {
            $sperrzeit = time()+(86400*30);
            db_query("INSERT INTO ".$db_prefix."_userblacklist (uid,zeit) VALUES ('".$_SESSION['uid']."','".$sperrzeit."')");
            db_query("DELETE FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']."");
            db_query("DELETE FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid']."");
            db_query("DELETE FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']."");
            db_query("DELETE FROM ".$db_prefix."_werberdaten WHERE uid=".$_SESSION['uid']."");
            db_query("UPDATE ".$db_prefix."_werberdaten SET werber = 0 WHERE werber=".$_SESSION['uid']."");
            echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">';
            }

    }
    if ($_POST['aendern'] == 'Jetzt ändern!') {
            // Passwort ändern beginn!
            if ($_POST['pwd'] && $_POST['pwd2']) {
                    if ($_POST['pwd'] == $_POST['pwd2']) {
                            if (strlen($_POST['pwd']) >= 4) {
                            db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '".md5($_POST['pwd'])."' WHERE uid=".$_SESSION['uid']."");
                            echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">';
                            //$change .= 'Das Passwort wurde geändert!<br><b><font color="#FF0000">Bitte logge Dich jetzt aus und wieder neu ein!</font></b><br>';
                            } else {
                            $change = 'Passwörter müssen min. 4 Zeichen haben!';
                            }
                    } else {
                    $change = 'Die Passwörter stimmen nicht überein!';
                    }
            }
            // Passwort ändern ende!

            //Nickname ändern beginn !
    if ($_POST['aendern'] == 'Jetzt ändern!')
            {
            if (isset ($_POST['nickname'])) {
            $nickname = mysql_real_escape_string(ucfirst($_POST['nickname']));
            $nickname = htmlentities($nickname);
            $nickname = substr($nickname,0,13);
            $nickname_check =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'");
            $nickname_check2 =db_query ("SELECT `nickname` FROM ".$db_prefix."_userdaten WHERE nickname='".$nickname."'AND uid=".$_SESSION['uid']."");
                    if (mysql_num_rows($nickname_check))
                            if (mysql_num_rows($nickname_check2)) {

                            }else{
                            $change = 'Dieser Nickname ist bereits vergeben!<br>';
                            }
                    else
                            {
                    db_query("UPDATE ".$db_prefix."_userdaten SET nickname = '".$nickname."' WHERE uid=".$_SESSION['uid']."");
                            }
                }
            }

            if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
            {
                    $change .= 'Der Emailsyntax ist falsch!<br>';
            }
            else
            {
                    if ($_POST['newsletter'] == 0) $mailstatus = 0;
                    if ($_POST['newsletter'] == 1) $mailstatus = 1;
                    if ($_POST['newsletter'] == 0) $mailstatus = 2;
                    if ($_POST['newsletter'] == 1) $mailstatus = 3;
                    if ($_POST['shout'] == 1){ $shout = 1;}else{ $shout = 0;}

                    db_query("UPDATE ".$db_prefix."_kontodaten SET shout = ".((int)$shout)." WHERE uid=".$_SESSION['uid']."");

                    db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");
                    $change .= 'Deine Daten wurden aktualisiert!<br>';
            }

    }
    $info = mysql_fetch_array(db_query("SELECT u.*,e.emailadresse,e.freigabe_fuer FROM
                                               ".$db_prefix."_userdaten AS u
                                               LEFT JOIN ".$db_prefix."_emaildaten AS e ON e.uid=u.uid
    WHERE u.uid=".$_SESSION['uid']." LIMIT 1"));

    if ($info['freigabe_fuer'] == 0) {$newsletter = 0;}
    if ($info['freigabe_fuer'] == 1) {$newsletter = 1;}
    if ($info['freigabe_fuer'] == 2) {$newsletter = 0;}
    if ($info['freigabe_fuer'] == 3) {$newsletter = 1;}

    $shoutbox = $shoutbox['shout'];
    ?>

    <?head("$seitenname - Userprofil");?>
    Hier findest Du deine Profildaten, bitte passe diese Daten immer an so das diese aktuell sind.<br>
    <?foot();?>

    <?head("$seitenname - Profildaten");?>
      <form action="" method="post">
      <table width="100%" border="0" cellpadding="1" cellspacing="1">
       <tr>
        <td>Nickname:</td>
        <td><input type="text" name="nickname" value="<?=$info['nickname'];?>"></td>
       </tr>
       <tr>
        <td>Emailadresse:</td>
        <td><input type="text" name="emailadresse" value="<?=$info['emailadresse'];?>"></td>
       </tr>
       <tr>
        <td>Klamm-Id:</td>
        <td><input type="text" value="<?=$_SESSION['uid'];?>" readonly></td>
       </tr>
       <tr>
        <td>Neues Passwort:</td>
        <td><input type="password" name="pwd"></td>
       </tr>
       <tr>
        <td>Neues Passwortbestätigung:</td>
        <td><input type="password" name="pwd2"></td>
       </tr>
       <tr>
        <td>Newsletter empfangen:</td>
        <td>
            <select name="newsletter">
            <option value="1" <? if ($newsletter == 1) echo 'selected';?>>Ja</option>
            <option value="0" <? if ($newsletter == 0) echo 'selected';?>>Nein</option>
            </select>
            </td>
       </tr>
          <tr>
        <td>Shouts empfangen:</td>
        <td>
        <select name="shout">
        <option value="1" <? if ($shout == 1) echo 'selected';?>>Ja</option>
        <option value="0" <? if ($shout == 0) echo 'selected';?>>Nein</option>
        </select>
        </td>
       </tr>
       <tr>
       <td align="center" colspan="2"><br>
       <input type="submit" name="aendern" value="Jetzt ändern!"><br>
       <br>
       <?=$change;?>
       </td>
       </tr>
      </table>
         </form>
    <?foot();?>

    <?head("$seitenname - Account löschen");?>
    Hier an dieser Stelle kannst Du deinen Account sofort selbstständig löschen.
    Bitte bedenke das alle Daten von Dir verloren gehen und bestehendes Guthaben dann auch
    verloren geht, eine spätere Forderung an Lose ist ausgeschlossen!
    <div align="center">
    <form action="" method="post"><br>
    <?=$delchange;?>
    Losepasswort:&nbsp;&nbsp;<input type="Password" name="del_passwort" value="">&nbsp;&nbsp;&nbsp;<input type="Submit" name="acc_del" value="Jetzt löschen!">
    </form>
    <div align="center"><font color="#cc0000">Bei Löschung des Accounts bist Du für 30 Tage für eine Neuanmeldung gesperrt!</font></div><br>
    </div>
    <?foot();?>

  6. #6
    Administrator Avatar von Lokutos
    Registriert seit
    29.03.2008
    Beiträge
    3.147
    $shout != $shoutbox

    lösch folgendes
    $shoutbox = $shoutbox['shout'];

    und nutz unten die variable
    $shoutbox['shout'];
    SwissNetWorX - VMS Hosting / V-Server / Cloud-Server / Hosting

Ähnliche Themen

  1. Forcedbanner, Paidlinks etc. mittig setzen
    Von RainbowDash im Forum [HD] Grafik, Server & Sonstiges
    Antworten: 1
    Letzter Beitrag: 16.07.2012, 13:49
  2. Vohandene Cronjobs setzen, VMS 1.2.4
    Von zeldox im Forum Support zum VMSone
    Antworten: 5
    Letzter Beitrag: 19.06.2011, 22:05
  3. SM ShoutBox Inhalt für Arthur setzen
    Von Sam2004 im Forum [HD] Programmieren
    Antworten: 4
    Letzter Beitrag: 19.06.2011, 13:11
  4. Ebesucher? Wert?
    Von schlachtherr im Forum Talk, talk, talk...
    Antworten: 12
    Letzter Beitrag: 14.08.2010, 00:06
  5. STG Mailer sinnvolle Indexe setzen
    Von Dany im Forum Support zu Addons & Erweiterungen
    Antworten: 15
    Letzter Beitrag: 20.04.2009, 13:35

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •