rediraction με header location σε class

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 14:10

Υπάρχει αυτό στη σελίδα 1:

Κώδικας: Επιλογή όλων

if($t == "programms")    {
            include_once ("programms_actions.php"); new AddProgrammsRecord("t");
            exit;
        }
Μόλις πάμε στην programms_actions αρχίζει και τρέχει η class και κάνει ότι είναι να κάνει.
Στο τέλος υπάρχει αυτό:

Κώδικας: Επιλογή όλων

if ($result2_2) {
                header ("Location: list.php?mode=add&t=programms");
            }
Εδώ λοιπόν είναι πολύ εύκολο να το κάνουμε

Κώδικας: Επιλογή όλων

header ("Location:programms_actions.php?season=".$season."&league="$.league." ");
Ετσι όμως δεν μπορεί να δηλωθεί το: new AddProgrammsRecord("t"); και το script πάει μεν στη σελίδα που πρέπει αλλά "βρίσκει" πρώτα άλλη class (για select) που δεν έχει καμμία σχέση με αυτή που θέλουμε.


Ελπίζω να ήμουν πιο κατατοπιστικός :(

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

rediraction με header location σε class

Δημοσίευση από korgr » 19 Σεπ 2010 15:00

Κατ' αρχήν υποθέτω πως η σελίδα1 είναι η list.php (σύμφωνα με τις παραμέτρους που ανέφερες στο header location)
Επίσης υποθέτω πως ο δεύτερος κώδικας σου είναι στο τέλος της κλάσσης που καλείς.

Δεν υπάρχει "Μόλις πάμε στην programms_actions".
Υπάρχει η list.php (ή όποια είναι η σελίδα 1 που λες) και εκεί μέσα ενσωματώνεις τα περιεχόμενα της κλάσσης σου [include_once ("programms_actions.php");]
Στην list.php λοιπον, δημιουργείς ένα instant της κλάσσης σου [new AddProgrammsRecord("t")] και ανάλογα τον constructor που έχεις αρχίζει και εκτελεί ό,τι της έχεις ορίσει. Μόλις τελειώσει η class, η επόμενη εντολή που έχει σειρά να εκτελεστεί έιναι η exit; της list.php. Δεν θα μείνει εκεί φυσικά, αν η τελευταία ενέργεια της κλάσσης σου είναι ένα header location redirection.
Αυτό το redirection λοιπόν πρέπει να οδηγήσει στο "list.php?mode=add&t=programms" το οποίο θα ξαναδημιουργήσει την class σου.
Έτσι όμως ακούγεται infinity loop. Πρέπει να ξέρω τι ακριβώς περιέχει η class ώστε να γίνει με κατάλληλες παραμέτρους η κλήση.
Επίσης κάτι μου λέει πως δεν έχεις σωστή δομή στην class (το συμπέρασμα το βγάζω από το όνομα της που κανονικά θυμίζει όνομα μεθόδου της).
Θα το έβλεπα πιο σωστό αν ήταν κάτι του τύπου:

Κώδικας: Επιλογή όλων

$programActions = new programActions(); // δημιουργία αντικειμένου
$programmActions->addRecord($record); // κλήση της μεθόδου που στοχεύεις
Έτσι βλέπεις πως καλείς ακριβώς το σημείο της class που θες κάθε φορά.
Βέβαια δεν ξέρω επαναλαμβάνω τι constructor έχεις οπότε μιλάω και λίγο στα τυφλά...

Apostolis_38 έγραψε:Υπάρχει αυτό στη σελίδα 1:

Κώδικας: Επιλογή όλων

if($t == "programms")    {
            include_once ("programms_actions.php"); new AddProgrammsRecord("t");
            exit;
        }
Μόλις πάμε στην programms_actions αρχίζει και τρέχει η class και κάνει ότι είναι να κάνει.
Στο τέλος υπάρχει αυτό:

Κώδικας: Επιλογή όλων

if ($result2_2) {
                header ("Location: list.php?mode=add&t=programms");
            }
Εδώ λοιπόν είναι πολύ εύκολο να το κάνουμε

Κώδικας: Επιλογή όλων

header ("Location:programms_actions.php?season=".$season."&league="$.league." ");
Ετσι όμως δεν μπορεί να δηλωθεί το: new AddProgrammsRecord("t"); και το script πάει μεν στη σελίδα που πρέπει αλλά "βρίσκει" πρώτα άλλη class (για select) που δεν έχει καμμία σχέση με αυτή που θέλουμε.


Ελπίζω να ήμουν πιο κατατοπιστικός :(

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 16:43

Κώδικας: Επιλογή όλων

//****************************************************************************//
//---CLASS AddProgrammsRecord
//****************************************************************************//
class AddProgrammsRecord {
//----FUNCTION AddRecord
    function AddProgrammsRecord($t) {
    ?><form action="" method="post">
    <table width="100%" height="100%" cellpadding="0" cellspacing="4" border="0">
        <tr bgcolor="#999999">
            <td colspan="3" align="center" valign="middle" class="titles" bgcolor="#0099CC">ΚΑΤΑΧΩΡΗΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΑΓΩΝΩΝ</td>
        </tr>
        <tr bgcolor="#999999">
            <td width="10%" align="left" bgcolor="#CCCCCC" class="titles">Επιλογή</td>
            <td bgcolor="#CCCCCC" align="left" width="46%" class="titles">
            <select name="league_id" onchange="this.form.submit&#40;&#41;;"><?php
//********************************************************************//
//---FORCE USER TO CHOOSE LEAGUE
//********************************************************************//
//---GET LEAGUE
            $query1_1 = "SELECT a.id as aid,a.fbcategory,b.id as bid,b.fbcategory_id,b.league,b.season_id 
            FROM football_categories a,league b 
            WHERE a.id = b.fbcategory_id 
            ORDER BY b.league ASC";
            $result1_1 = mysql_query&#40;$query1_1&#41;;
            $num_results1_1 = mysql_num_rows&#40;$result1_1&#41;;
            ?><option "selected" class="text"> Πρωταθλήματος</option><?php
            while &#40;$row = mysql_fetch_array&#40;$result1_1&#41;&#41; &#123;
                ?><option <?php if&#40;$_POST&#91;"league_id"&#93; == $row&#91;"bid"&#93;&#41; echo "selected=selected";?> value="<?php echo trim &#40;$row&#91;"bid"&#93;&#41;;?>" class="text"><?php echo trim &#40;$row&#91;"fbcategory"&#93;."-".$row&#91;"league"&#93;&#41;;?></option><?php
            &#125;
            mysql_free_result&#40;$result1_1&#41;;
            ?></select><?php





//********************************************************************//
//---FORCE USER TO CHOOSE SEASON
//********************************************************************//
//---IF LEAGUE IS SET CHOOSE LEAGUE
            $league_id = &#40;int&#41; $_POST&#91;"league_id"&#93;;
            if&#40;$league_id&#41; &#123;
//---GET SEASON
                $query1_2 = "SELECT * FROM seasons WHERE closed = '0' ORDER BY season ASC";
                $result1_2 = mysql_query&#40;$query1_2&#41;;
                $num_results1_2 = mysql_num_rows&#40;$result1_2&#41;;
//---CHOOSE SEASON
                    ?>&nbsp;&nbsp;<select name="season_id" onchange="this.form.submit&#40;&#41;;">
                    <option "selected" class="text">Σεζόν</option><?php
                    while &#40;$row = mysql_fetch_array&#40;$result1_2&#41;&#41; &#123;
                        ?><option <?php if&#40;$_POST&#91;"season_id"&#93; == $row&#91;"id"&#93;&#41; echo "selected=selected";?> value="<?php echo trim &#40;$row&#91;"id"&#93;&#41;;?>" class="text"><?php echo trim &#40;$row&#91;"season"&#93;&#41;;?></option><?php
                    &#125;
                mysql_free_result&#40;$result1_2&#41;;
                ?></select></td>
                <td width="44%" align="justify" class="titles">
                </tr><?php
            &#125;
//---IF SEASON IS SET CHOOSE LEAGUE AND SEASON
            $season_id = &#40;int&#41; $_POST&#91;"season_id"&#93;;
            if&#40;$season_id&#41; &#123;





//********************************************************************//
//---WINDOWS WORK AROUND WHEN AUTO INCREMENT DOESN'T WORK
//********************************************************************//
                ?><tr bgcolor="#999999">
                    <td bgcolor="#CCCCCC" align="left" class="titles">Α/Α</td>
                    <td bgcolor="#CCCCCC" align="left" class="titles"><?php
                    $query1_3="SELECT MAX&#40;id&#41; AS maxid FROM programms";
                    $result1_3=mysql_query&#40;$query1_3&#41;;
                    while&#40;$row=mysql_fetch_assoc&#40;$result1_3&#41; &#41; &#123;
                        ?><input type="hidden" name="id" value="<?php echo trim &#40;$row&#91;"maxid"&#93;+1&#41;;?>" size="1" /><?php
                    &#125;
                    mysql_free_result&#40;$result1_3&#41;;
                    ?></td>
                    <td align="justify" class="titles"><font color="#FFFFFF" class="fields_warn">Δίνεται από την εφαρμογή&nbsp;&nbsp;Ακέραιος</font></td>
                </tr>
                <tr bgcolor="#999999">
                    <td bgcolor="#CCCCCC" align="left" width="1" class="titles">Ομάδες&#58;</td>
                    <td bgcolor="#CCCCCC" align="left" class="titles"><?php





//********************************************************************//
//---FORCE USER TO CHOOSE TEAM_HOME
//********************************************************************//
//---GET TEAMS ACCORDING TO LEAGUE AND SEASON
                    $query1_4 = "SELECT id,league_id,season_id,team as team_home FROM teams 
                    WHERE league_id = ".$league_id." 
                    AND season_id = ".$season_id." 
                    ORDER BY team ASC";
                    $result1_4 = mysql_query&#40;$query1_4&#41;;
                    $num_results1_4 = mysql_num_rows&#40;$result1_4&#41;;
//---GET TEAM_HOME
                    ?><select name="team_home" onchange="this.form.submit&#40;&#41;;">
                    <option "selected" class="text">Γηπεδούχος</option><?php
                    while &#40;$row = mysql_fetch_array&#40;$result1_4&#41;&#41; &#123;
                        ?><option <?php if&#40;$_POST&#91;"team_home"&#93; == $row&#91;"team_home"&#93;&#41; echo "selected=selected";?> value="<?php echo trim &#40;$row&#91;"team_home"&#93;&#41;;?>" class="text"><?php echo trim &#40;$row&#91;"team_home"&#93;&#41;;?></option><?php
                    &#125;
                    mysql_free_result&#40;$result1_4&#41;;
                    ?></select>&nbsp;&nbsp;<?php





//********************************************************************//
//---FORCE USER TO CHOOSE TEAM_AWAY
//********************************************************************//
//---GET TEAM_AWAY
                    $query1_5 = "SELECT id,league_id,season_id,team as team_away FROM teams 
                    WHERE league_id = ".$league_id." 
                    AND season_id = ".$season_id." 
                    ORDER BY team ASC";
                    $result1_5 = mysql_query&#40;$query1_5&#41;;
                    $num_results1_5 = mysql_num_rows&#40;$result1_5&#41;;
//---CHOOSE TEAM_HOME
                    ?><select name="team_away" onchange="this.form.submit&#40;&#41;;">
                    <option "selected" class="text">Φιλοξενούμενος</option><?php
                    while &#40;$row = mysql_fetch_array&#40;$result1_5&#41;&#41; &#123;
                        ?><option <?php if&#40;$_POST&#91;"team_away"&#93; == $row&#91;"team_away"&#93;&#41; echo "selected=selected";?> value="<?php echo trim &#40;$row&#91;"team_away"&#93;&#41;;?>" class="text"><?php echo trim &#40;$row&#91;"team_away"&#93;&#41;;?></option><?php
                    &#125;
                    mysql_free_result&#40;$result1_5&#41;;
                    ?></select></td>
                    <td align="justify" class="titles">&nbsp;</td>
                </tr><?php





//********************************************************************//
//---USER MUST ENTER DAY
//********************************************************************//
                ?><tr bgcolor="#999999">
                    <td bgcolor="#CCCCCC" align="left" class="titles" >Αγωνιστική</td>
                    <td bgcolor="#CCCCCC" align="left" class="titles"><input name="day" type="text" size="36"></td>
                    <td align="justify" class="titles"><font color="#FFFFFF" class="fields_warn">Ακέραιος</font> </td>
                </tr><?php
//---CLOSE IF SEASON IS SET
            &#125;
        ?><tr bgcolor="#999999">
            <td width="20%" align="center" valign="middle" class="titles" bgcolor="#0099CC" colspan="3">&nbsp;</td>
        </tr>
    </table>
    <?php
//********************************************************************//
//---GET TEAM_HOME_ID ACCORDING TO POSTED DATA
//********************************************************************//
    $team_home = trim &#40;mysql_real_escape_string &#40;$_POST&#91;"team_home"&#93;&#41; &#41;;
    if&#40;$team_home&#41;    &#123;
        $query1_6 = "SELECT id,league_id,season_id,team 
            FROM teams 
            WHERE team = '".$team_home."' 
            AND league_id = '".$league_id."' 
            AND season_id = '".$season_id."' 
            GROUP BY team";
        $result1_6 = mysql_query&#40;$query1_6&#41;;
//---CHOOSE TEAM_HOME
        while &#40;$row = mysql_fetch_array&#40;$result1_6&#41;&#41; &#123;
            ?><input type="hidden" name="team_home_id" value="<?php echo trim&#40;$row&#91;"id"&#93;&#41;;?>" size="1" /><?php
        &#125;
        mysql_free_result&#40;$result1_6&#41;;
    &#125;
//********************************************************************//
//---GET TEAM_AWAY_ID ACCORDING TO POSTED DATA
//********************************************************************//
    $team_away = trim &#40;mysql_real_escape_string &#40;$_POST&#91;"team_away"&#93;&#41; &#41;;
    if&#40;$team_away&#41;    &#123;
        $query1_7 = "SELECT id,league_id,season_id,team 
            FROM teams 
            WHERE team = '".$team_away."' 
            AND league_id = '".$league_id."' 
            AND season_id = '".$season_id."' 
            GROUP BY team";
        $result1_7 = mysql_query&#40;$query1_7&#41;;
//---CHOOSE TEAM_HOME
        while &#40;$row = mysql_fetch_array&#40;$result1_7&#41;&#41; &#123;
            ?><input type="hidden" name="team_away_id" value="<?php echo trim&#40;$row&#91;"id"&#93;&#41;;?>" size="1" /><?php
        &#125;
        mysql_free_result&#40;$result1_7&#41;;
    &#125;
    ?><input type="hidden" name="used" value="0" size="1" />
    <input type="submit" value="ΚΑΤΑΧΩΡΗΣΗ" />
    </form><?php





//********************************************************************//
//---IF ALL REQUIRED DATA IS POSTED INSERT DATA INTO TABLE PROGRAMMS
//********************************************************************//
//---GET POSTED DATA
    $id = &#40;int&#41; $_POST&#91;"id"&#93;;
    $league_id = &#40;int&#41; $_POST&#91;"league_id"&#93;;
    $season_id = &#40;int&#41; $_POST&#91;"season_id"&#93;;
    $team_home_id = &#40;int&#41; $_POST&#91;"team_home_id"&#93;;
    $team_away_id = &#40;int&#41; $_POST&#91;"team_away_id"&#93;;
    $day = &#40;int&#41; $_POST&#91;"day"&#93;;
    $used = &#40;int&#41; $_POST&#91;"used"&#93;;
//*********************************************************************************************//
//---CHECK IF TEAM_HOME_ID IS EQUAL TO TEAM_AWAY_ID
//*********************************************************************************************//
//---CHECK IF DATA IS POSTED
    if &#40;$team_home_id && $team_away_id&#41;    &#123;
//---IF IT IS CHECK
        if &#40;$team_home_id === $team_away_id&#41;    &#123;
//---IF ARE EQUAL PRINT MESSAGE AND EXIT
            ?><h4 align="center">Δεν μπορεί να δηλωθεί η ίδια ομάδα σαν Γηπεδούχος και Φιλοξενούμενος ταυτόχρονα!</h4><?php
            exit;
        &#125;
    &#125;

//*********************************************************************************************//
//---CHECK IF RECORD EXISTS
//*********************************************************************************************//
//---GET TEAM_HOME_ID AND TEAM_AWAY_ID FROM PROGRAMMS
//---COMBINE POSTED IDS
        $ids1 = $team_home_id.$team_away_id;
        $query1_8 = "SELECT team_home_id,team_away_id 
        FROM programms 
        WHERE team_home_id = ".$team_home_id." 
        AND team_away_id = ".$team_away_id." ";
        $result1_8 = mysql_query&#40;$query1_8&#41;;
        while &#40;$row = mysql_fetch_array&#40;$result1_8&#41;&#41; &#123;
//---COMBINE ROWS OF IDS
            $ids2 = $row&#91;"team_home_id"&#93;.$row&#91;"team_away_id"&#93;;
//---CHECK IF THEY ARE THE SAME
        &#125;
            if&#40;$ids1 == $ids2&#41;    &#123;
                ?><h3 align="center"><font color="#FF0000">Η εγγραφή υπάρχει ήδη!</font></h3><?php
            exit;
            &#125;


    if&#40;!empty &#40;$day&#41; &#41; &#123;
//---GET TABLE NUMBER OF FIELDS
        $query2_1 = "SELECT * FROM programms";
        $result2_1 = mysql_query&#40;$query2_1&#41;;
//---FORM DATA TO INSERT STYLE
//*********************************************************************************************//
//---THANKS TO KORGR FOR HELPING OUT
//*********************************************************************************************//
        $data="";
        $field = mysql_num_fields&#40;$result2_1&#41;;
        for &#40;$i = 0; $i < $field; $i++ &#41; &#123;
            $data.= "'".trim &#40;mysql_real_escape_string &#40;$_POST&#91;$field_name&#91;&#93;=mysql_field_name&#40;$result2_1,$i&#41;&#93;&#41; &#41;."', ";
        &#125;
        $data=substr&#40;$data, 0, -2&#41;;
//---INSER DATA
        $query2_2 = "INSERT INTO programms VALUES &#40;".$data."&#41; ";
        $result2_2 = mysql_query&#40;$query2_2&#41;;
//---PRINT RESULTS
            if &#40;$result2_2&#41; &#123;
                header &#40;"Location&#58; list.php?mode=add&t=programms "&#41;;
            &#125;
    &#125;
//---CLOSE FUNCTION AddProgrammsRecord
    &#125;
//---CLODE CLASS AddProgrammsRecord
&#125;
//****************************************************************************//
//---END OF CLASS AddProgrammsRecord
//****************************************************************************//



Εχει πολύ πράμα...
Τελευταία επεξεργασία από το μέλος Apostolis_38 την 19 Σεπ 2010 16:48, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

rediraction με header location σε class

Δημοσίευση από fafos » 19 Σεπ 2010 16:47

auto to exeis feiaksei mono gia thn kataxorhsh ton agonistikon?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 16:51

:roll:
Ναι.
Μη μου πείς γιά AJAX γιατί δε την κατέχω.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

rediraction με header location σε class

Δημοσίευση από fafos » 19 Σεπ 2010 16:53

Apostolis_38 έγραψε::roll:
Ναι.
Μη μου πείς γιά AJAX γιατί δε την κατέχω.
ti ajax? ta pragmata einai pio apla se auto to kommati! thelo na do ti class tha feiakseis gia thn ektyposh ths vathmologias :lol:
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 16:55

Κι όμως είναι το 1/3.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

rediraction με header location σε class

Δημοσίευση από fafos » 19 Σεπ 2010 17:12

h eisagogh ton agonistikon einai ena query eisagoghs kai ena elenxou gia diploeggrafes.. esy ta ekanes poly syntheta ta pragmata kai arxises na xaneis ton mpousoula..

vasika thes 2 elenxous... 1. an h idia omada exei mpei se prohgoumeno agona... 2. an o idios agonas yparxei se allh agonistikh..

to 2 omos mporei na mhn isxyei panta dioti sthn Skotia gia paradeigma paizoun 4-5 gyrous se kathe protathlima... edo ti feiaxneis? class mexri thn Kina? :lol:
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

rediraction με header location σε class

Δημοσίευση από korgr » 19 Σεπ 2010 17:26

Απορώ βρε Αποστόλη τι κερδίζεις με το να κάνεις κάτι τέτοιο αντικειμενοστρεφές!
Η class έχει μόνο μια μέθοδο η οποία εμφανίζει την φόρμα εισαγωγής δεδομένων, γεμίζει τα πεδία από τις τιμές της προηγούμενης αποστολής των δεδομένων της και ταυτόχρονα (χωρίς έλεγχο πχ if($_POST['submit'])) κάνει ελέγχους για submited data? Καλά την πρώτη φορά που γίνεται display η φόρμα και δεν έχει προηγηθεί post?

Γιατί όλα τα ανωτέρω δεν είναι ένα ανεξάρτητο php file στο οποίο να οδηγείς την ροή όταν ο χρήστης επιλέξει add program?

Αλλά ακόμα και έτσι:
Η $t που περνάς στην class τι ρόλο βαράει? Δεν είδα να την αξιοποιείς μέσα σε αυτήν!
Και μετά το submit που ξανακαλείται η list.php δεν ξαναδημιουργείται η ίδια φόρμα από την class?
Σε ποιο σημείο της class ήθελες να πας μετά το submit δηλαδή?

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 17:26

Ειδικότης μας το μπέρδεμα :D

Φαντάζομαι οτι βάζεις άλλο ένα πεδίο στο table και τσεκάρεις league και round και πράττεις αναλόγως.

Αστο τώρα μην το δεί το αφεντικό μου κι έχω άλλα... :P

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 17:39

Το κέρδος δεν φαίνεται εδώ.
Με αυτή τη μέθοδο διαχειρίζομαι όλο το admin με δύο αρχεία. Ενα για list των εγγραφών και ένα για add,delete,update. Οσοι πίνακες κι αν υπάρχουν, όσα πεδία κ.λ.π.
Με το $t στέλνω τον εκάστοτε πίνακα και με μία άλλη μεταβλητή το field και είμαι ok.

ΕΚΤΟΣ από αυτή την σελίδα που έχει εξειδικευμένες ανάγκες και γι αυτό έχω φτιάξει ξεχωριστή class.
Το $t έχει ξεμείνει προς το παρόν γιατί έκανα κόπια την βασική class όπου εκεί χρησιμοποιείται και πρόσθεσα τους ελέγχους. Απλώς αυτή τη στιγμή δεν είναι αυτό το βασικό μου πρόβλημα και δεν ασχολούμαι με τον "καθαρισμό" του κώδικα.

Το βασικό μου πρόβλημα είναι αυτό που ανέφερα.
Κι εγώ τείνω προς το ξεχωριστό file χωρίς class. Αλλά είπα μιας και το έχω ήδη έτοιμο αν γίνεται το redirection τότε είμαι ok.

edit κάνει έλεγχο για submit. Mε το used

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

rediraction με header location σε class

Δημοσίευση από korgr » 19 Σεπ 2010 18:35

Anyway καθένας με το σπαγγέτι του όπως έχει πει και ο φίλτατος Δημήτρης στο παρελθών :D

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 19 Σεπ 2010 18:50

:D

Εντάξει, δεν είμαι υπόδειγμα προγραμματιστή και να σου πω την αλήθεια δεν έχω πολλά "έργα" που εφαρμόζω αντικειμενοστραφή προγραμματισμό οπότε έχω αρκετά κενά σχετικά με το που-πως-πότε.
Που θα μου πάει όμως...

sxsweb
Δημοσιεύσεις: 33
Εγγραφή: 14 Δεκ 2009 16:24

rediraction με header location σε class

Δημοσίευση από sxsweb » 20 Σεπ 2010 10:41

Γεια και απο εμένα.

Ένας τρόπος για να μπορείς να χρησιμοποιεις την κλάσης χωρίς να δημιουργείς αντικείμενο κάθε φορά είναι να μετατρέψεις τις μεθόδους της κλάσhς σε στατικές.

Έστω έχεις την κλάση Test

Κώδικας: Επιλογή όλων

class Test
 &#123;
public static function getSomething&#40;$a&#41;
&#123;
return $a;
&#125;
&#125;
Για να χρησιμοποιήσεις αυτην την συνάρτηση δεν χρειάζεται να κανεις:

Κώδικας: Επιλογή όλων

$t = new Test&#40;&#41;;
$testVar = $t->getSomething&#40;'Test'&#41;;
Απλά μπορείς να:

Κώδικας: Επιλογή όλων

$testVar = Test&#58;&#58;getSomething&#40;'Test'&#41;;
Δηλαδη να χρησιμοποιείς συναρτήσεις απο την κλάση χωρίς να έχεις δημιουργήσει αντικείμενο πρώτα. Για να μπορεί να μέθοδος να είναι στατική δεν θα πρέπει να περιλαμβάνει το $this

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

rediraction με header location σε class

Δημοσίευση από Apostolis_38 » 20 Σεπ 2010 11:02

Στα υπόψην :)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες