ilch Forum » Allgemein » HTML, PHP, SQL,... » mein erstes eigenes Modul...

Geschlossen
  1. #1
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Hallo, wollt grad versuchen nen eigenes Modul aufzubauen.

    Der Übersicht halber möchte ich aber ein eigenes Template für dieses Modul machen. Ist eigentlich einfach, will nur Daten aus der DB auslesen und diese dann an die Template-Datei übergeben, wo die Daten ausgegeben werden.

    Meine php Datei sieht wie folgt aus:

    <?php
    // copyright by david
    //schein ilch beginnt
    defined ('main') or die ('no direct access');
      $title = $allgAr['title'].' :: Gigs '.$lang['Gigs'];
      $hmenu = 'Gigs '.$lang['Gigs'];
      $design = new design ( $title , $hmenu );
      $design->header();
    //schein ilch hoert auf
    $query = db_query('SELECT gigs.bild, gigs.datum, gigs.ort, gigs.eintritt, gigs.vorband, gigs.anfahrt FROM prefix_gigs as gigs ORDER BY id DESC LIMIT 0, 5');
    while ($row = db_fetch_assoc($query)) { 
    //echo'wo ist es '.$row['ort'].'  ';
    //ab hier bin ich mir nicht sicher ob das so klappt, habe versucht mir das von der news.php abzuschauen
    $ort = $row['ort'];
    $ar = array (
    'ort' => $ort
    );
     $tpl = new tpl("gigs.htm");
    $tpl = set_ar_out($ar);
    
    }
    // schein ilch
    $design->footer();
    ?>


    Kriege dann auf der seite wenn ich die gigs.htm aufrufe den fehler :

    Fatal error: Call to undefined function set_ar_out() in /usr/export/www/vhosts/funnetwork/hosting/killingzone/Jaezzhole/include/contents/gigs.php on line 18

    Die htm-Datei sieht wie folgt aus:

    <div class="gigscontainer>
    
    <div class="gigsbild">{bild}</div>
    
    <div class="gigsdatum"></div>
    
    <div class="gigsort">{ort}</div>
    
    <div class="gigseintritt"></div>
    
    <div class="gigsvorband"></div>
    
    <div class="gigsanfahrt"></div>
    
    </div>


    und aussehen soll es wie folgt :

    gesperrtes Bild

    Wäre cool wenn mir jmd helfen könnte...

    Mfg Darkentik
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    annemarie gelöschter User
    $design->set_ar_out($ar);

    wenn du auch mal länger als 10 min im IRC bleiben würdest hätten dir schon mindestens 3 leute helfen können zwinker
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    tut mir leid aber der chat spinnt manchmal bei mir...komme oft nciht rein oder fliege raus...:/
    irgendwie hat auch keiner reagiert....:(


    hab aus dem $tpl = set-ar_out($ar);

    $design -> set_ar_out($ar); gemacht, aber krieg nen Fehler :

    Warning: Missing argument 2 for tpl::set_ar_out(), called in /usr/export/www/vhosts/funnetwork/hosting/killingzone/Jaezzhole/include/contents/gigs.php on line 18 and defined in /usr/export/www/vhosts/funnetwork/hosting/killingzone/Jaezzhole/include/includes/class/tpl.php on line 134


    Zuletzt modifiziert von darkentik am 10.06.2010 - 18:02:16
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    SFX Mitglied
    Registriert seit
    31.07.2009
    Beiträge
    52
    Beitragswertungen
    0 Beitragspunkte
    schau dir mal die Design Dokumentation externer Link an zwinker

    Da dein Design aus einem Stück besteht, also nicht mit {EXPLODE} unterteilt wird, musst du, wenn du das Design ausgeben willst, 0 angeben

    @annemarie
    du hast die Objekte vertauscht.. zwinker

    $tpl wäre richtig

    $tpl->set_ar_out() brauch 2 Argumente, einmal das Array das ins Design eingesetzt wird und zum anderen der Abschnitt vom Design der ausgegeben werden soll

    $tpl->set_ar_out($ar,0);


    der schritt mi dem $ar ist überflüssig, du kannst das Array $row direkt benutzen.. zwinker

    <?php
    // copyright by david
    
    defined ('main') or die ('no direct access');
      $title = $allgAr['title'].' :: Gigs '.$lang['Gigs'];
      $hmenu = 'Gigs '.$lang['Gigs'];
      $design = new design ( $title , $hmenu );
      $design->header();
    
     $tpl = new tpl("gigs.htm");
    
    $query = db_query('SELECT gigs.bild, gigs.datum, gigs.ort, gigs.eintritt, gigs.vorband, gigs.anfahrt FROM prefix_gigs as gigs ORDER BY id DESC LIMIT 0, 5');
    while ($row = db_fetch_assoc($query)) {
    //echo'wo ist es '.$row['ort'].'  ';
    $tpl->set_ar_out($row,0); 
    }
    
    $design->footer();
    ?>


    So müsste es gehen (ungetestet)

    Ich hoffe ich hab in meinem Post nicht zu sehr den Klugscheisser raushänger lassen ^^

    MfG
    sfx
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    so weit so gut

    evtl hilft dir das auch weiter: externer Link
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Danke erstmal an alle, die mir hier helfen!
    Ich hab die Doku ja auch benutzt, nur da wird nciht alles erklärt...wie z.B. das 2. Argument, dass den Abschnitt bestimmt, der ausgegeben wird.
    Vielleicht könnte man das ja noch bearbeiten. zwinker

    Werd das gleich mal ändern und schauen obs klappt.

    *UPDATE*

    also jetz klappts mit dem Template aber ich krieg ne andere Fehlermeldung...

    Warning: Invalid argument supplied for foreach() in /usr/export/www/vhosts/funnetwork/hosting/killingzone/Jaezzhole/include/includes/class/tpl.php on line 128
    {bild}
    {ort}


    "{bild}" und "{ort}" sind ja Variablen, die ich aus der php-Datei in die Templatedatei übergeben und ausgeben lassen will. Das Ansteuern der Templatedatei klappt schonmal..

    So sehen meine Dateien jetz aus :

    gigs.php
    <?php
    // copyright by david
    //schein ilch beginnt
    defined ('main') or die ('no direct access');
      $title = $allgAr['title'].' :: Gigs '.$lang['Gigs'];
      $hmenu = 'Gigs '.$lang['Gigs'];
      $design = new design ( $title , $hmenu );
      $design->header();
    //schein ilch hoert auf
    $query = db_query('SELECT gigs.bild, gigs.datum, gigs.ort, gigs.eintritt, gigs.vorband, gigs.anfahrt FROM prefix_gigs as gigs ORDER BY id DESC LIMIT 0, 5');
    while ($row = db_fetch_assoc($query)) { 
    //echo'wo ist es '.$row['ort'].'  ';
    
    $tpl = new tpl("gigs.htm");
    $tpl -> set_ar_out($ar, 0);
    
    }
    // schein ilch xD
    $design->footer();
    ?>


    gigs.htm
    <div class="gigscontainer>
    <div class="gigsbild">{bild}</div>
    <div class="gigsdatum"></div>
    <div class="gigsort">{ort}</div>
    <div class="gigseintritt"></div>
    <div class="gigsvorband"></div>
    <div class="gigsanfahrt"></div>
    </div>


    Was hab ich jetzt noch falsch? Der Fehler meckert irgendwas an der tpl.php...ich denke aber ich hab in meinem Code nen Fehler, der dort dann falsch intepretiert wird, wodurch jetzt die tpl.php angemeckert wird oder?


    *EDIT*

    hab den Fehler grad selber bemerkt...ich hatte noch bei der Ausgabe des templates die Variable $ar stehen, die ich ja gar nicht mehr definiert habe, habe den Code geändert :

    gigs.php
    <?php
    // copyright by david
    //schein ilch beginnt
    defined ('main') or die ('no direct access');
      $title = $allgAr['title'].' :: Gigs '.$lang['Gigs'];
      $hmenu = 'Gigs '.$lang['Gigs'];
      $design = new design ( $title , $hmenu );
      $design->header();
    //schein ilch hoert auf
    $query = db_query('SELECT gigs.bild, gigs.datum, gigs.ort, gigs.eintritt, gigs.vorband, gigs.anfahrt FROM prefix_gigs as gigs ORDER BY id DESC LIMIT 0, 5');
    while ($row = db_fetch_assoc($query)) { 
    //echo'wo ist es '.$row['ort'].'  ';
    
    $tpl = new tpl("gigs.htm");
    $tpl -> set_ar_out($row, 0);
    
    }
    // schein ilch xD
    $design->footer();
    ?>



    Zuletzt modifiziert von darkentik am 11.06.2010 - 08:12:27
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Also das klappt schonmal mit der Ausgabe.
    Jetzt wirds komplozierter, zumindest für mich...

    Ich hab mich grad rangemacht die Dateien fürs Adminmenü zu schreiben.
    Als Grundlage habe ich mir eure news.htm und news.php genommen und versucht mich da zurecht zu finden...Meine Tempaltedatei admin_gigs.htm funktioniert soweit vom Aufbau. Probleme habe ich noch in der Logik meiner admin_gigs.php Datei.

    Kann sein, dass ich da beim Anpassen von den Newsfunktionen an meine Gigsfunktionen vergessen habe zu entfernen oder zu ändern.
    Hier sind mal beide Dateien :

    admin_gigs.htm
    <script language="JavaScript" type="text/javascript"><!--
    function delcheck ( DELID ) {
    	var frage = confirm ( "Willst du diesen Eintrag wirklich l�schen?" );
    	if ( frage == true ) {
    	  document.location.href="?news-del-"+DELID;
    	}
    }
    function delKcheck ( DELID , NID) {
    	var frage = confirm ( "Willst du dieses Kommentar wirklich l�schen?" );
    	if ( frage == true ) {
    	  document.location.href="?news-sKoms-"+NID+"-Kdel-"+DELID+"#"+NID;
    	}
    }
    function sichtbar(){
    	if( document.form.katLis.value=="neu"){
    	  document.form.kat.style.visibility="visible";
    	} else {
    	  document.form.kat.style.visibility="hidden";
      }
    }
    //--></script>
    <script type='text/javascript' src='include/includes/js/bbcode.js'></script>
    <table cellpadding="0" cellspacing="0" border="0"><tr><td><img src="include/images/icons/admin/news.png" /></td><td width="30"></td><td valign="bottom"><h1>News</h1></td></tr></table>
    <hr style="width: 400px; margin: 0px;" >
    <br /><br />
    <table border="0" cellspacing="0" cellpadding="0"><tr><td valign="top">
    <form method="post" action="admin_gigs.php">
      <input type="hidden" name="um"     value="{AKTION}">
      <input type="hidden" name="gigsID" value="{gigsID}">
    <table>
      <tr>
        <td>
          Datum: 
        </td>
        <td>
          <input type="text" name="datum">
        </td>
      </tr>
      <tr>
        .
        .
        .
      <tr>
          <td>
            <input type="submit" name="submit" value="{FSUB}">
          </td>
      </tr>
    </table>
    </form>
    </td><td width="75">&nbsp;</td><td valign="top">
    {MPL}
    <table cellpadding="3" cellspacing="1" border="0" class="border">
      {EXPLODE}<tr class="{class}">
    	  <td><a href="#" name="{ID}"></a><a href="javascript:delcheck({ID})"><img src="include/images/icons/del.gif" alt="L&ouml;schen" title="L&ouml;schen" border="0"></a></td>
        <td><a href="?gigs-edit-{ID}"><img src="include/images/icons/edit.gif" alt="Ver&auml;ndern" title="Ver&auml;ndern" border="0"></a></td>
    		<td>{datum}</td>
        <td>{ort}</td>
     </tr>{EXPLODE}
    </table>
    {MPL}
    </td></tr></table>
    <script language="JavaScript" type="text/javascript">
    <!--
      sichtbar();
    //-->
    </script>


    admin_gigs.php
    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### A k t i o n e n
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $_POST['datum'] = escape($_POST['datum'], 'string');
    	$_POST['ort'] = escape($_POST['ort'], 'string');
    	$_POST['eintritt'] = escape($_POST['eintritt'], 'integer');
    	$_POST['vorband'] = escape($_POST['vorband'], 'string');
    	$_POST['anfahrt'] = escape($_POST['anfahrt'], 'string');
    	if ($um == 'insert') {
            // insert
            db_query("INSERT INTO `prefix_gigs` (bild,datum,ort,eintritt,vorband,anfahrt)
    		VALUES ('" . $_POST['bild'] . "','" . $_POST['datum'] . "'," . $_SESSION['authid'] . ",NOW()," . $_POST['ort'] . ",'" . $_POST['eintritt'] . "','" . $_POST['vorband'] . "', '" . $_POST['anfahrt'] . "')");
            // insert
        } elseif ($um == 'change') {
            // edit
            db_query('UPDATE `prefix_gigs` SET
    				bild = "' . $_POST['bild'].'",
            datum = "' . $_POST['datum'] . '",
    				user_id  = "' . $_SESSION['authid'] . '",
    				ort = "' . $_POST['ort'] . '",
    				eintritt   = "' . $_POST['eintritt'] . '",
    				vorband  = "' . $_POST['vorband'] . '",
            anfahrt  = "' . $_POST['anfahrt'] . '"');
            $edit = $_POST['gigsID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_gigs` WHERE gigsID = "' . $menu->get(2) . '" LIMIT 1');
    }
    // del
    // #### A k t i o n e n
    // ###
    // ##
    // #
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty ($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "?admin_gigs" , 'gigs');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FgigsID = '';
            $Faktion = 'insert';
            $Fbild = '';
            $Fdatum = '';
            $Fort = '';
            $Feintritt = '';
            $Fvorband = '';
            $Fanfahrt = '';
            $Fsub = 'Eintragen';
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_gigs` WHERE gigsID = " . $menu->get(2)));
            $FgigsID = 'gigsID';
            $Fbild = 'bild';
            $Fdatum = 'datum';
            $Fort = 'ort';
            $Feintritt = 'eintritt';
            $Fvorband = 'vorband';
            $Fanfahrt = 'anfahrt';
            $Faktion = 'change';
            $Fsub = '&Auml;ndern';
        }
        $tpl = new tpl ('admin_gigs', 1);
        $ar = array
        (
            'gigsID' => $FnewsID,
            'bild' => $Fbild,
            'datum' => $Fdatum,
            'ort' => $Fort,
            'eintritt' => $Feintritt,
            'vorband' => $Fvorband,
            'anfahrt' => $Fanfahrt,
            'MPL' => $MPL,
            'SMILIS' => getsmilies(), 
            'FSUB' => $Fsub
            );
        $tpl->set_ar_out($ar, 0);
        // e d i t , d e l e t e
        $abf = 'SELECT gigsID
    	        FROM `prefix_gigs`
    					ORDER BY gigsID DESC
    					LIMIT ' . $anfang . ',' . $limit;
        $erg = db_query($abf);
        $class = '';
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
            $tpl->set_ar_out(array ('ID' => $row->gigsID, 'class' => $class) , 1);
        }
        // e d i t , d e l e t e
        $tpl->set_ar_out(array ('MPL' => $MPL) , 2);
    }
    $design->footer();
    ?>


    Mir ist gerade aufgefallen, dass ich die Smileys noch entfernen kann, da ich die nicht brauche...
    In meinem Adminmenü habe ich unter dem Menüreiter "Module" den Menüpunkt "Gigs" hinzugefügt.
    gesperrtes Bild
    Wenn ich den anklicke komme ich auch auf meine admin_gigs.htm, die wie folgt aussieht :
    gesperrtes Bild
    In die felder kann ich Texte eingeben und wenn ich auf "Eintragen" klicke werde ich auf folgende Seite weitergeleitet:
    wwww.collagesite.org/main.php?h=killingzone.ki.funpic.de&i=J8mjjNsYqPOngRj9X8pOzJEZ&e=4
    Kann mich mal einer aufklären? Ist das die neue "cannot find page" Seite von funpic?
    Versteh das nich und würd gern ma wissen was an meinen Dateien falsch ist.
    Ich hoffe Ihr könnt mir weiterhelfen.
    Mfg Darkentik


    Zuletzt modifiziert von darkentik am 25.06.2010 - 09:17:45
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    hab vergessen zu sagen, dass jedes mal wenn ich auf das Kreuz zum löschen klicke, die news.htm im Adminmenü aufgerufen wird, wo hab ich da noch was vergessen zu ändern?
    Es wird auch komischerweise momentan ein vermutlich leerer Eintrag angezeigt, obwohl ich nen Testdatensatz in die DB eingetragen habe über phpmyadmin, wieso wird der nicht angezeigt?
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Das liegt am Javascript in der htm

    News:
    document.location.href="?news-del-"+DELID;


    Kommentare:
    document.location.href="?news-sKoms-"+NID+"-Kdel-"+DELID+"#"+NID;


    news --> zu --> admin_gigs

    ...obwohl Kommentare ja nicht berücksichtigt werden!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    ok dann ändere ich die javascript Funktion um und lösche die Kommentarfunktion, da ich die nicht brauche, richtig?


    Zuletzt modifiziert von darkentik am 12.06.2010 - 12:03:34
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    jenau
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    - löschen -


    Zuletzt modifiziert von darkentik am 25.06.2010 - 11:39:18
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Also die Darstellung funktioniert soweit ja bis auf den Einbau von dem googlemaps link...jetz hab ich versucht nen Formular zu basteln um das schön übers Adminmenü einzutippen...naja die Formulare hab ich aber wenn ich auf den Button klicke dann komme ich wieder zur Startseite des Adminmnüs und es wurden keine Daten eingetragen...ich vermute nen Fehler in der PHP-Datei
    Hier mal die admin_gigs.php, die das regeln sollte :

    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### A k t i o n e n
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $_POST['datum'] = escape($_POST['datum'], 'string');
    	$_POST['ort'] = escape($_POST['ort'], 'string');
    	$_POST['eintritt'] = escape($_POST['eintritt'], 'integer');
    	$_POST['vorband'] = escape($_POST['vorband'], 'string');
    	$_POST['anfahrt'] = escape($_POST['anfahrt'], 'string');
    	if ($um == 'insert') {
            // insert
            db_query("INSERT INTO `prefix_gigs` (bild,datum,ort,eintritt,vorband,anfahrt)
    		VALUES ('" . $_POST['bild'] . "','" . $_POST['datum'] . "'," . $_SESSION['authid'] . ",NOW()," . $_POST['ort'] . ",'" . $_POST['eintritt'] . "','" . $_POST['vorband'] . "', '" . $_POST['anfahrt'] . "')");
            // insert
        } elseif ($um == 'change') {
            // edit
            db_query('UPDATE `prefix_gigs` SET
    				bild = "' . $_POST['bild'].'",
            datum = "' . $_POST['datum'] . '",
    				user_id  = "' . $_SESSION['authid'] . '",
    				ort = "' . $_POST['ort'] . '",
    				eintritt   = "' . $_POST['eintritt'] . '",
    				vorband  = "' . $_POST['vorband'] . '",
            anfahrt  = "' . $_POST['anfahrt'] . '"');
            $edit = $_POST['ID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_gigs` WHERE ID = "' . $menu->get(2) . '" LIMIT 1');
    }
    // del
    // #### A k t i o n e n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty ($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "?admin_gigs" , 'gigs');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FID = '';
            $Faktion = 'insert';
            $Fbild = '';
            $Fdatum = '';
            $Fort = '';
            $Feintritt = '';
            $Fvorband = '';
            $Fanfahrt = '';
            $Fsub = 'Eintragen';
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_gigs` WHERE ID = " . $menu->get(2)));
            $FID = 'ID';
            $Fbild = 'bild';
            $Fdatum = 'datum';
            $Fort = 'ort';
            $Feintritt = 'eintritt';
            $Fvorband = 'vorband';
            $Fanfahrt = 'anfahrt';
            $Faktion = 'change';
            $Fsub = '&Auml;ndern';
        }
        $tpl = new tpl ('admin_gigs', 1);
    
        $ar = array
        (
            'ID' => $FnewsID,
            'bild' => $Fbild,
            'datum' => $Fdatum,
            'ort' => $Fort,
            'eintritt' => $Feintritt,
            'vorband' => $Fvorband,
            'anfahrt' => $Fanfahrt,
            'MPL' => $MPL,
            'FSUB' => $Fsub
    
            );
    
        $tpl->set_ar_out($ar, 0);
        // e d i t , d e l e t e
        $abf = 'SELECT ID
    	        FROM `prefix_gigs`
    					ORDER BY ID DESC
    					LIMIT ' . $anfang . ',' . $limit;
    
        $erg = db_query($abf);
        $class = '';
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
            $tpl->set_ar_out(array ('ID' => $row->ID, 'class' => $class) , 1);
        }
        // e d i t , d e l e t e
        $tpl->set_ar_out(array ('MPL' => $MPL) , 2);
    }
    
    $design->footer();
    
    ?>


    Wenn ich ehrlich bin, blicke ich auch noch nicht so ganz da durch, weil ich diese Logik von der news.php kopiert habe und versucht habe das für mich notwendige rauszufiltern...


    Zuletzt modifiziert von darkentik am 25.06.2010 - 09:15:44
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Hab da noch ein Problem. Wenn ich im Adminmenü meine admin_gigs.htm aufrufe dann listet der mir zwar meine gigs auf, die schon in der DB stehen aber er zeigt mir nicht die Daten dazu an...sieht dann so aus :

    gesperrtes Bild

    Dann klappt auch die Lösch- und Editfunktion nicht. Genauso wie das einfügen neuer Datensätze...
    Wie gesagt ich habe mich an der news.php aus dem admin-Ordner orientiert.
    Bitte um Hilfe!
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    keiner Zeit zu helfen?:'(
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hey darkentik,
    klar wollen wir dir helfen zwinker
    Wenn du die PHP und das Template Postet, können wir dir weiter helfen...

    MfG OloX
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    ...


    Zuletzt modifiziert von darkentik am 08.07.2010 - 10:34:46
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Zu den Dateien sieht es wie folgt aus :

    admin_gigs.php
    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### A k t i o n e n
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $_POST['datum'] = escape($_POST['datum'], 'string');
    	$_POST['ort'] = escape($_POST['ort'], 'string');
    	$_POST['eintritt'] = escape($_POST['eintritt'], 'integer');
    	$_POST['vorband'] = escape($_POST['vorband'], 'string');
    	$_POST['anfahrt'] = escape($_POST['anfahrt'], 'string');
    	if ($um == 'insert') {
            // insert
            db_query("INSERT INTO `prefix_gigs` (bild,datum,ort,eintritt,vorband,anfahrt)
    		VALUES ('" . $_POST['bild'] . "','" . $_POST['datum'] . "'," . $_SESSION['authid'] . ",NOW()," . $_POST['ort'] . ",'" . $_POST['eintritt'] . "','" . $_POST['vorband'] . "', '" . $_POST['anfahrt'] . "')");
            // insert
        } elseif ($um == 'change') {
            // edit
            db_query('UPDATE `prefix_gigs` SET
    				bild = "' . $_POST['bild'].'",
            datum = "' . $_POST['datum'] . '",
    				user_id  = "' . $_SESSION['authid'] . '",
    				ort = "' . $_POST['ort'] . '",
    				eintritt   = "' . $_POST['eintritt'] . '",
    				vorband  = "' . $_POST['vorband'] . '",
            anfahrt  = "' . $_POST['anfahrt'] . '" WHERE ID = "' . $POST['ID'] . '" LIMIT 1');
            $edit = $_POST['ID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_gigs` WHERE ID = "' . $menu->get(2) . '" LIMIT 1');
    }
    // del
    // #### A k t i o n e n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty ($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "?admin_gigs" , 'gigs');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FID = '';
            $Faktion = 'insert';
            $Fbild = '';
            $Fdatum = '';
            $Fort = '';
            $Feintritt = '';
            $Fvorband = '';
            $Fanfahrt = '';
            $Fsub = 'Eintragen';
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_gigs` WHERE ID = " .$menu->get(2)));
            $FID = $row->ID;
            $Fbild = $row->bild;
            $Fdatum = $row->bild;
            $Fort = $row->ort;
            $Feintritt = $row->eintritt;
            $Fvorband = $row->vorband;
            $Fanfahrt = $row->anfahrt;
            $Faktion = 'change';
            $Fsub = '&Auml;ndern';
        }
        $tpl = new tpl ('admin_gigs', 1);
    
        $ar = array
        (
            'ID' => $FnewsID,
            'bild' => $Fbild,
            'datum' => $Fdatum,
            'ort' => $Fort,
            'eintritt' => $Feintritt,
            'vorband' => $Fvorband,
            'anfahrt' => $Fanfahrt,
            'MPL' => $MPL,
            'FSUB' => $Fsub
    
            );
    
        $tpl->set_ar_out($ar, 0);
        // e d i t , d e l e t e
        $abf = 'SELECT ID
    	        FROM `prefix_gigs`
    					ORDER BY ID DESC
    					LIMIT ' . $anfang . ',' . $limit;
    
        $erg = db_query($abf);
        $class = '';
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
            $tpl->set_ar_out(array ('ID' => $row->ID, 'class' => $class) , 1);
        }
        // e d i t , d e l e t e
        $tpl->set_ar_out(array ('MPL' => $MPL) , 2);
    }
    
    $design->footer();
    
    ?>


    die Template admin_gig.htm
    <script language="JavaScript" type="text/javascript"><!--
    function delcheck ( DELID ) {
    	var frage = confirm ( "Willst du diesen Eintrag wirklich l&#65533;schen?" );
    	if ( frage == true ) {
    	  document.location.href="?admin_gigs-del-"+DELID;
    	}
    }
    
    
    //--></script>
    
    <script type='text/javascript' src='include/includes/js/bbcode.js'></script>
    
    <table cellpadding="0" cellspacing="0" border="0"><tr><td><img src="include/images/icons/admin/news.png" /></td><td width="30"></td><td valign="bottom"><h1>Gigs</h1></td></tr></table>
    <hr style="width: 400px; margin: 0px;" >
    <br /><br />
    
    <table border="0" cellspacing="0" cellpadding="0"><tr><td valign="top">
    
    <form method="post" action="admin_gigs.php">
      <input type="hidden" name="um"     value="{AKTION}">
      <input type="hidden" name="gigsID" value="{gigsID}">
    <table>
      <tr>
        <td>
          Datum: 
        </td>
        <td>
          <input type="text" name="datum">
        </td>
      </tr>
      <tr>
        <td>
          Ort: 
        </td>
        <td>
          <input type="text" name="ort">
        </td>
      </tr>
      <tr>
        <td>
          Eintritt:
        </td>
        <td>
          <input type="text" name="eintritt">
        </td>
      </tr>
      <tr>
        <td>
          Vorband:
        </td>
        <td>
          <input type="text" name="vorband">
        </td>
      </tr>
      <tr>
         <td>
           Anfahrt:
         </td>
         <td>
            <input type="text" name="anfahrt">
         </td>
      </tr>
      <tr>
          <td>
            <input type="submit" name="submit" value="{FSUB}">
          </td>
      </tr>
    </table>
    </form>
    
    </td><td width="75">&nbsp;</td><td valign="top">
    
    
    <table cellpadding="3" cellspacing="1" border="0" class="border">
      <tr class="{class}">
    	  <td><a href="#" name="{ID}"></a><a href="javascript:delcheck({ID})"><img src="include/images/icons/del.gif" alt="L&ouml;schen" title="L&ouml;schen" border="0"></a></td>
        <td><a href="?gigs-edit-{ID}"><img src="include/images/icons/edit.gif" alt="Ver&auml;ndern" title="Ver&auml;ndern" border="0"></a></td>
    		<td>{datum}</td>
        <td>{ort}</td>
     </tr>
    </table>
    
    
    </td></tr></table>


    Wieso werden mir die Sachen so komisch im Adminmenü angezeigt?
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    hier hat wohl keiner Plan wieso das nich geht?
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    kann hier wirklich keiner bei dem problem helfen?
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Ich schau es mir heute Abend mal genauer an, was mir aber auf die schnelle aufgefallen ist:

    admin_gigs.php
    Zeile 23 die Values passen nicht!
    Zeile 72-73 Bild/Datum?

    Erscheint irgendwo eine Fehlermeldung!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Hallo Lord,
    also eine Fehlermeldung kommt soweit nicht. Es wird halt eine Tabelle mit leeren Zellen angezeigt bis auf den Edit- und Deletebutton.

    gesperrtes Bild

    Das mit den Variablen hab ich übersehen danke.
    Sind wohl viele im Urlaub, weil länger keiner geantwortet hat oder?
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Bei deinen inputs fehlen die values!
    Wo werden {AKTION} und {gigsID} definiert?
    Wo kommt das $doNoIn her?
    Irgendwie verwirrt mich da einiges!


    Zuletzt modifiziert von Lord|Schirmer am 16.07.2010 - 23:22:48
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    also ich habe die news.php kopiert und dann versucht alles für meine zwecke nicht relevante rauszulöschen...aber am ende blick ich eben nich mehr durch...:/
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Also ich habe jetz nochmal ausgehend von der news.php und der news.htm meine admin_gigs.php und admin_gigs.htm erstellt.

    Die Anzeige, die vorher nciht ging im Adminbereich geht jetzt.
    Ich kann aber keine Datensätze editieren. Da bleiben die Input-Felder einfach leer, obwohl der Aktionsbutton geändert und in "Ändern" umbenannt wird.
    Meine Dateien sehen wie folgt aus :
    admin_gigs.php :

    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    $design = new design ('Admins Area', 'Admins Area', 2);
    $design->header();
    // -----------------------------------------------------------|
    // #
    // ##
    // ###
    // #### A k t i o n e n
    if (!empty($_REQUEST['um'])) {
        $um = $_REQUEST['um'];
        $_POST['datum'] = escape($_POST['datum'], 'string');
    	$_POST['ort'] = escape($_POST['ort'], 'string');
    	$_POST['eintritt'] = escape($_POST['eintritt'], 'string');
    	$_POST['vorband'] = escape($_POST['vorband'], 'string');
    	$_POST['ID'] = escape($_POST['ID'], 'integer');
    	if ($um == 'insert') {
            // insert
            db_query("INSERT INTO `prefix_gigs` (datum,ort,eintritt,vorband)
    		VALUES ('" . $_POST['datum'] . "','" . $_POST['ort'] . "','" . $_POST['eintritt'] . "','" . $_POST['vorband'] . "'," . $_SESSION['authid'] . ")");
            // insert
        } elseif ($um == 'change') {
            // edit
            db_query('UPDATE `prefix_gigs` SET
            user_id  = "' . $_SESSION['authid'] . '"
    				datum = "' . $_POST['datum'] . '",
            ort ="' .$_POST['ort'].'",
            eintritt ="' .$_POST['eintritt'].'",
            vorband ="' .$_POST['vorband'].'" WHERE ID = "' . $_POST['ID'] . '" LIMIT 1');
            $edit = $_POST['ID'];
        }
    }
    // edit
    // del
    if ($menu->get(1) == 'del') {
        db_query('DELETE FROM `prefix_gigs` WHERE ID = "' . $menu->get(2) . '" LIMIT 1');
    }
    // del
    // #### A k t i o n e n
    // ###
    // ##
    // #
    
    // #
    // ##
    // ###
    // #### h t m l   E i n g a b e n
    if (empty ($doNoIn)) {
        $limit = 20; // Limit
        $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
        $MPL = db_make_sites ($page , '' , $limit , "?admin_gigs" , 'gigs');
        $anfang = ($page - 1) * $limit;
        if ($menu->get(1) != 'edit') {
            $FID = '';
            $Faktion = 'insert';
            $Fdatum = '';
            $Fort = '';
            $Ftxt = '';
            $Fsub = 'Eintragen';
        } else {
            $row = db_fetch_object(db_query("SELECT * FROM `prefix_gigs` WHERE ID = " . $menu->get(2)));
            $FID = $row->ID;
            $Faktion = 'change';
            $Fdatum = $row->datum;
            $Fort = $row->ort;
            $Feintritt = $row->eintritt;
            $Fvorband = $row->vorband;
            $Fsub = '&Auml;ndern';
        }
        $tpl = new tpl ('admin_gigs', 1);
    
        $ar = array
        (
            'ID' => $FID,
            'AKTION' => $Faktion,
            'MPL' => $MPL,
            'datum' => $Fdatum,
            'ort' => $Fort,
            'eintritt' => $Feintritt,
            'vorband' => $Fvorband,
            'FSUB' => $Fsub
    
            );
    
        $tpl->set_ar_out($ar, 0);
        // e d i t , d e l e t e
        $abf = 'SELECT ID,datum,ort
    	        FROM `prefix_gigs`
    					ORDER BY ID,datum DESC
    					LIMIT ' . $anfang . ',' . $limit;
    
        $erg = db_query($abf);
        $class = '';
        while ($row = db_fetch_object($erg)) {
            $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
            $tpl->set_ar_out(array ('ID' => $row->ID, 'class' => $class, 'datum' => $row->datum, 'ort' => $row->ort) , 1);
        }
        // e d i t , d e l e t e
        $tpl->set_ar_out(array ('MPL' => $MPL) , 2);
    }
    
    $design->footer();
    
    ?>


    Die admin_gigs.htm :

    <script language="JavaScript" type="text/javascript"><!--
    function delcheck ( DELID ) {
    	var frage = confirm ( "Willst du diesen Eintrag wirklich l&#65533;schen?" );
    	if ( frage == true ) {
    	  document.location.href="?admin_gigs-del-"+DELID;
    	}
    }
    //--></script>
    
    <script type='text/javascript' src='include/includes/js/bbcode.js'></script>
    
    <table cellpadding="0" cellspacing="0" border="0"><tr><td><img src="include/images/icons/admin/news.png" /></td><td width="30"></td><td valign="bottom"><h1>Gigs</h1></td></tr></table>
    <hr style="width: 400px; margin: 0px;" >
    <br /><br />
    
    <table border="0" cellspacing="0" cellpadding="0"><tr><td valign="top">
    
    <form method="POST" name="form" action="?admin_gigs">
      <input type="hidden" name="um"     value="{AKTION}">
      <input type="hidden" name="ID" value="{ID}">
    	<table cellpadding="2" cellspacing="1" border="0">
        <tr> 
          <td>
          Datum: 
        </td>
        <td>
          <input type="text" name="datum">
        </td>
      </tr>
      <tr>
        <td>
          Ort: 
        </td>
        <td>
          <input type="text" name="ort">
        </td>
      </tr>
      <tr>
        <td>
          Eintritt:
        </td>
        <td>
          <input type="text" name="eintritt">
        </td>
      </tr>
      <tr>
        <td>
          Vorband:
        </td>
        <td>
          <input type="text" name="vorband">
        </td>
      </tr>
    
        <tr class="Cdark"> 
          <td></td>
          <td><input type="submit" value="{FSUB}" name="submit"></td>
        </tr>
      </table>
    </form>
    <br /><br />
    
            </td>
            <td width="75">
                &nbsp;
            </td>
            <td valign="top">
                {MPL}
                <table cellpadding="3" cellspacing="1" border="0" class="border">
                    {EXPLODE}<tr class="{class}">
                        <td>
                            <a href="#" name="{ID}"></a><a href="javascript:delcheck({ID})">
                                <img src="include/images/icons/del.gif" alt="L&ouml;schen" title="L&ouml;schen" border="0"></a>
                        </td>
                        <td>
                            <a href="?admin_gigs-edit-{ID}">
                                <img src="include/images/icons/edit.gif" alt="Ver&auml;ndern" title="Ver&auml;ndern"
                                    border="0"></a>
                        </td>
                        <td>
                            {datum}
                        </td>
                        <td>
                            {ort}
                        </td>
                    </tr>
                    {EXPLODE}
                </table>
                {MPL}
            </td>
        </tr>
    </table>
    
    <script language="JavaScript" type="text/javascript">
    <!--
      sichtbar();
    //-->
    </script>


    Wo liegt das Problem?


    Zuletzt modifiziert von darkentik am 25.07.2010 - 19:23:43
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Der Fehler sagt es schon aus!

    db_query("INSERT INTO `prefix_gigs` (datum,ort,eintritt,vorband) VALUES ('" . $_POST['datum'] . "','" . $_POST['ort'] . "','" . $_POST['eintritt'] . "','" . $_POST['vorband'] . "'," . $_SESSION['authid'] . ")");


    Du möchtes 5 Informationen in 4 Spalten speichern!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    Das Problem mit der Datenbank hat sich erledigt, habs hibekommen. Aber ich kann immer noch keine Datensätze editieren...
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    darkentik Mitglied
    Registriert seit
    29.03.2007
    Beiträge
    420
    Beitragswertungen
    1 Beitragspunkte
    naja letzendlich habe ich es dann alleine hinbekommen...ich hatte vergessen meinen Textfeldern das "value"-Attribute zu deklarieren....trotzdem danke Lord Schirmer für deine Hinweise.

    ~{close}~
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten