SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 05.05.2009, 12:44:10
Benutzerbild von The Serious Sam
The Serious Sam The Serious Sam ist offline
Junior Member
 
Registriert seit: Mar 2007
Beiträge: 202
AW: Schulprojekt Wichtig!2d Array Problem

Schau dir mal die Funktion serialize an.
Mit dessen Hilfe kannst du Arrays so umwandeln, dass du sie per Formular verschicken kannst. Anschließend musst du sie per unserialize() wieder in dein Array zurückwandeln.

Sicherlich keine schöne lösung aber es geht.

PHP-Code:
<?php

if(isset($_POST['array']) {
    
$array unserialize($_POST['array']);
} else {
    
$array = array(1234);
}

print_r($array);

$array_string serialize($array);

?>
<form action="datei.php" method="post">
    <input type="hidden" name="array" value="<?php echo $array_string?>" />
    ...
</form>
mfg
__________________
Ein guter Freund würde dich aus dem Knast holen.

Dein bester Freund würde neben dir sitzen und sagen, verdammt war das geil.
Mit Zitat antworten
  #12  
Alt 05.05.2009, 13:21:58
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: Schulprojekt Wichtig!2d Array Problem

Suboptimal:
[google]php unserialize buffer overflow[/google]
Mit Zitat antworten
  #13  
Alt 07.05.2009, 19:57:31
Mc Pole Mc Pole ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 37
Beiträge: 16
AW: Schulprojekt Wichtig!2d Array Problem

Ich habe den Rat befolgt und mir alles zu Arrays durchgelesen was es gibt =)

meine Lösung sieht so aus:

PHP-Code:
                 <!--
*****************************
Drop-down für Aufgabenauswahl
*****************************
-->
          <td bgcolor="#CCCCCC">
                   <select name="Task" class="Stil1" onchange="document.forms[2].submit();">
          <?


    // Hier wird in einer Schleife ermittelt, welche Länder aktiv sind und anschließend
    // diese in eine Auswahlliste geschrieben.


            $select_task="select aufgabe, lfd_af_nr from aufgaben where aktiv = 1";

            $liste = mysql_query($select_task, $db);

                if($liste)
                {
                $belegt= ($_POST['Task']);
                $ausg = "select aufgabe, lfd_af_nr from aufgaben where lfd_af_nr = $belegt and aktiv = 1";
                    $mi = mysql_query($ausg, $db);
                    $rau = mysql_fetch_row($mi);

                    $bez=$rau[0];
                    $num =$rau[1];
                    echo $bez;

                    ?>
              <option value="<? echo $num ;?>"><? echo $bez ;?></option>
              <?    $p=0;
                    while($row = mysql_fetch_row ($liste))
                    {
                        ?>
              <option<? if ($p==1){ ?> class="grau"<? }  ?>  class="normal" value="<? echo $row[1] ?>"><? echo $row[0] ?></option>
              <?
                          if ($p>1){$p=0;}
                        $p++;
                    }
                }
                else
                {
                    echo "no Data read ";
                }?>
            </select>
                         </td>
                         <!--
***********************************************************************
wenn die Aufgabe ausgewählt wurde folgt ein Autosubmit, anschließend
kann folgenden Drop-down der zuständige Mitarbeiter  ausgewählt werden
***********************************************************************
-->
          <td colspan="2" bgcolor="#CCCCCC">
                   <?
                   if (isset ($_POST['Task']) && isset($_POST['datum']))
                   {?>
            <select name="ma" class="Stil1">
           <?


    // Hier wird in einer Schleife ermittelt, welche Länder aktiv sind und anschließend
    // diese in eine Auswahlliste geschrieben.


            $belegt= ($_POST['Task']);
                         $datum= $_POST['datum'];

            $ausgabe = "select * from zustaendigkeiten where lfd_af_nr =$belegt";
                    $mi = mysql_query($ausgabe, $db);
                    $rau = mysql_fetch_row($mi);


                    $num =$rau[0];
/*
*********************************************
Nun wird der zuständige Mitabeiter selektiert
*********************************************
*/

            $select_task="select m.name, m.ma_nr, m.vorname,  m.land from mitarbeiter m join zustaendigkeiten z on (m.ma_nr = z.ma_nr) where z.lfd_af_nr = $belegt and m.aktiv =1 order by m.land ";

            $liste = mysql_query($select_task, $db);

                if($liste)
                {

                    ?>
              <option></option>
              <?    $p=0;
                    while($row = mysql_fetch_row ($liste))
                    {
                        $manr= $row[1];
                        $land2= $row[3];

/*
******************************************************************************
Wenn der Mitarbeiter zur geplanten Projektzeit abwesend sein wird, wird er im
in diesem Drop-down in rot angezeigt
*****************************************************************************
*/
                     $ausgabe = "select m.ma_nr, m.name, m.vorname, g.bezeichnung from mitarbeiter m
                             join abwesenheiten a on (m.ma_nr = a.ma_nr) join grund g on (g.lfd_gr_nr = a.lfd_gr_nr) where m.ma_nr = $manr  and a.datum <= '$datum'  and a.end_datum >= '$datum' ";

                        /*alter     $ausgabe = "select ma_nr, name, vorname, bezeichnung from mitarbeiter
                             natural join abwesenheiten natural join grund where ma_nr = $manr  and datum <= '$datum'  and end_datum >= '$datum' ";*/
                    $ab = mysql_query($ausgabe, $db);
                    if($ab){
                             $abw = mysql_fetch_row($ab);
                             $ab_ma_nr=$abw[0];
                             $abw_n=$abw[1];
                             $abw_vo=$abw[2];
                             $abw_gr=$abw[3];


                        }
                                                 else
                                                 {

                                                 }
                        ?>
              <option <? if ($manr==$ab_ma_nr){ ?> class="sun" title="<? echo $abw_gr ?>"<? }else{if ($p==1){ ?> class="grau"<? } else{?>  class="normal"<?} }?>  value="<? echo $manr ?>">
              <? echo $land2.", ".$row[0].", ".$row[2]; ?>
              </option>
              <?
              if ($p>1){$p=0;}
                        $p++;
                    }
                }
                else
                {
                    echo "no Data read ";
                }?>
            </select>
            <? }
            else{}
            ?></td>
        </tr>
        <tr>
          <td class="button46">Country :</td>
          <td colspan="3" bgcolor="#CCCCCC"><input type="text" class="normal" readonly="readonly" name="land"  value="<? echo $land; ?>" /></td>
        </tr>
        <tr>
          <td class="button46">Created at : </td>
          <td bgcolor="#CCCCCC"><input type="text" class="normal" readonly="readonly" name="angelegt"  value="<? echo $thisday ?>"  /></td>
          <td class="button46" width="50" align="right" bgcolor="#BDCBE6">by :</td>
          <td width="101" bgcolor="#CCCCCC"><input type="text"  readonly="readonly" style="width:100px;" name="von" value="<? echo $user ?>" /></td>
        </tr>
        <tr>
                   <td><input type="submit" class="normal" name="insert" value="OK" style="width:120px" />

                   <td><input type="button" class="normal" value="Step back" onclick="javascript:history.back()" style="width:120px"></td></td>
          <td colspan="2" class="Stil7">Memo:</td>

        </tr>
        <tr>
          <td colspan="4"><textarea name="memo" cols="85" rows="2" class="Stil1"><? echo $memo?> </textarea></td>
        </tr>
        <input name="pst" type="hidden" value="<? echo $pst ?>" />
</table>
<?
$lfd2=$_POST['lfd2'];
}
?>
<input name="lfd3" type="hidden" value="<? echo $lfd2; ?>" />
</td>
<tr>
<td class="leer" colspan="2">

<!--
*****************************
Hier fängt der 3Teil an Übersichtstabelle
*****************************
-->

<?

if (isset($_POST['ray']))
    {
         $array=unserialize($_POST['ray']);
         }

$insert=$_POST['insert'];

if($insert == "OK")
{

         $lfd3=$_POST['lfd3'];
         $land=$_POST['lan'];
         $day=$_POST['days'];
         $mem=$_POST['memo'];

         //Aufbereiten der notwendigen Daten per SQL-Anfragen

$array[]=array($_POST['nam'],$_POST['datum'],$name,$vorname,$t,$farbe,$ma_select,$land,$thisday,$user,$day,$mem,$task,$lfd3);
}
?>
<!--
*****************************
Hier wird die Überschrift der Steps erstellt
*****************************
-->

<p></p>
<center>
  <table width="420" border="0" align="left">
    <tr>
      <td width="414" background="/images/backgr6.png" bgcolor="#FFFFFF" scope="col"><div align="left" class="line2">Step 3:  Save the following Project</div></td>
      </tr>
  </table>
  <p>&nbsp;</p>
</center>

<table width="650px" border="1">
 <tr>
  <td class="button47" colspan="2" >Customer</td>
  <td class="button47" >Execution-Date</td>
  <td class="button47" >Responsibility</td>
  <td class="button47" >Task</td>
  <td class="button47" >Symbol</td>
 </tr>

<!--
*****************************
Hier werden die Einträge aus dem Array gelesen
*****************************
-->

<?
    if (isset($_POST['ray']))
    {
             $count=count($array);
             for ($j = 0; $j < $count; $j++)
             {
                         ?>
                            <tr>
                             <td class="button46" colspan="2"><? echo $array[$j][0] ?></td>
                        <td class="button46"><? echo $array[$j][1]?></td>
                             <td class="button46"><? echo $array[$j][2] .  " , " . $array[$j][3]  ?></td>
                             <td class="button46"><? echo $array[$j][4] ?></td>
                             <td class="<? echo button.$array[$j][5];?>"></td>
                        <!--<td class="button46"><? echo $ray[$j][6] ?></td>
                        <td class="button46"><? echo $array[$j][7] ?></td>
                        <td class="button46"><? echo $array[$j][8] ?></td>
                        <td class="button46"><? echo $array[$j][9] ?></td>
                        <td class="button46"><? echo $array[$j][10] ?></td>
                        <td class="button46"><? echo $array[$j][11] ?></td>
                        <td class="button46"><? echo $array[$j][12] ?></td>
                        <td class="button46"><? echo $array[$j][13] ?></td>

                       <input name="ma" type="hidden" value="<? echo $array[$j][6] ?>" />
                       <input name="t" type="hidden" value="<? echo $array[$j][12] ?>" />
                       <input name="k" type="hidden" value="<? echo $array[$j][13] ?>" />
                       <input name="d" type="hidden" value="<? echo $array[$j][1] ?>" />
                       <input name="l" type="hidden" value="<? echo $array[$j][7] ?>" />
                       <input name="m" type="hidden" value="<? echo $array[$j][11] ?>" />
                       <input name="a" type="hidden" value="<? echo $array[$j][8] ?>" />
                       <input name="v" type="hidden" value="<? echo $array[$j][9] ?>" />
                       <input name="da" type="hidden" value="<? echo $array[$j][10] ?>" />-->
                            </tr>
                       <?
             }
        }
$array_string = serialize($array);
?>

<input type="hidden" name="ray" value="<?php echo $array_string?>" />
<tr>
<td><input type="submit" class="normal" readonly="readonly" name="saveall" value="Save Steps" style="width:120px" /></td>
<td><button type="button" class="normal" style="width:120px"  onclick="change('new_project_change.php')" value="">Change</button></td>
<td class="button46" style="width:400px" colspan="4">&nbsp;</td>
</tr>
</table>
</form>

Ich bekomme damit einen Eintrag generiert, der auch in der Tabelle ausgegeben wird.
Sobald ich im Formular den select option zur Mitarbeiterauswahl wähle und er refresht ist das Array leer und er gibt nichts aus.

Was habe ich falsch gemacht? Warum wird kein zweiter Eintrag ans Array gehängt?

Es wird doch alles konform gemacht.
Serialize....hidden post....unserialize usw.

Bitte um Hilfe

Geändert von Mc Pole (07.05.2009 um 19:58:38 Uhr)
Mit Zitat antworten
  #14  
Alt 11.05.2009, 00:23:45
Mc Pole Mc Pole ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 37
Beiträge: 16
AW: Schulprojekt Wichtig!2d Array Problem

Hat vlt. einer einen Tip?

Der Quelltext sieht viel aus...

es geht im wesentlichen aber nur um das Array, welches ich erstellen, per post übergeben, erweitern und ausgeben muss.

Mfg pole
Mit Zitat antworten
  #15  
Alt 11.05.2009, 09:32:46
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: Schulprojekt Wichtig!2d Array Problem

Erstmal:
1. ich verstehe nicht wozu das gut sein soll
2. selbst dann würde ich es sicherlich ganz anders machen


Diese Massen an Daten wird doch keiner ändern wollen. Unübersichtlich und Fehlerträchtig.

Daraus folgt:
Solange ich nicht verstehe was dahinter steht, habe ich keine Chance dir wirksam zu helfen.

Geändert von DokuLeseHemmung (11.05.2009 um 09:33:41 Uhr)
Mit Zitat antworten
  #16  
Alt 11.05.2009, 15:54:02
Mc Pole Mc Pole ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 37
Beiträge: 16
AW: Schulprojekt Wichtig!2d Array Problem

Die Sache ist ganz simpel.
Ich habe ein formular welches ich durch den Button speichern in ein array lese und dieses Array später auf der selben Seite nochmal als Übersicht ausgebe.

nun möchte ich das Array erweitern(der Benutzer füllt das Formular nochmal aus).
und dies soll dann so wie der erste Eintrag dann auch wieder in der Übersicht erscheinen.

Muss ich das Array serialisieren um es per Post zu übergeben?
Und dann einfach wieder einlesen per unserialize()?

Der Index des Array schreibt sich doch fort wenn keine index-angebe gemacht wird?
array[]=array("1.datensatz an index 0");
array[]=array("2.datensatz an index 1");


mfg pole
Mit Zitat antworten
  #17  
Alt 11.05.2009, 16:12:41
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 14
Beiträge: 2.269
AW: Schulprojekt Wichtig!2d Array Problem

Dir ist aber schon klar, dass viele Server bei 200 PostFeldern dicht machen?
Bei dir entstehen in der Schleife endlos viele <input name="ma" type="hidden". Jeder Name darf nur einmal vergeben werden.


Zitat:
Muss ich das Array serialisieren um es per Post zu übergeben?
Dazu habe ich schon was gesagt.


Mein Tipp:
Mache dich über AffenFormular kundig.
Verwende Sessions für mehrseitige Formulare.
Oder Sspeichere die Daten in einer DB.
Mit Zitat antworten
  #18  
Alt 11.05.2009, 16:31:39
Mc Pole Mc Pole ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 37
Beiträge: 16
AW: Schulprojekt Wichtig!2d Array Problem

Die <input name="ma" type="hidden" sind auskommentiert und dienten nur zur kontrolle welche daten übergeben werde.

die aufgabe ist es alles auf einer Seite zu realisieren. Deshalb sind da viele Posts und inputs.

die daten werden erst ins array gepackt...woraus eine Übersicht entsteht wo man dann auf speichern klickt und er die dinge dann in die DB einträgt.
Miniaturansicht angehängter Grafiken
erstes.JPG   zweites.JPG  
Mit Zitat antworten
  #19  
Alt 14.05.2009, 23:41:46
Mc Pole Mc Pole ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 37
Beiträge: 16
AW: Schulprojekt Wichtig!2d Array Problem

*PUSH*

Hat denn keiner ne Idee? Ich habs immernoch nicht hinbekommen.
auf den Pics seht ihr wies denn in etwa aussehen soll.

mfg pole
Mit Zitat antworten
  #20  
Alt 15.05.2009, 07:42:51
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 47
Beiträge: 1.938
AW: Schulprojekt Wichtig!2d Array Problem

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
dass viele Server bei 200 PostFeldern dicht machen
wusste ich auch noch nicht...

Zitat:
Zitat von Mc Pole Beitrag anzeigen
Die <input name="ma" type="hidden" sind auskommentiert und dienten nur zur kontrolle welche daten übergeben werde.
das wirst du in der produktiv-version entfernen, ja?

Zitat:
Zitat von Mc Pole Beitrag anzeigen
*PUSH*
bitte lass das - das wird ebenso wie betteln nicht gern gesehen.

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Mache dich über AffenFormular kundig.
Verwende Sessions für mehrseitige Formulare.
Oder speichere die Daten in einer DB.
diese hinweise würde ich mir zu herzen nehmen. ich sehe auf deinen screenshots etwas, das wie eine desktop-applikation aussehen soll; wir bewegen uns allerdings im web. denke auch an die usability der oberfläche.

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrdimensionalen Arrays als HTML Liste erselbst PHP Grundlagen 2 13.04.2009 23:46:36
Array - Problem Darelius PHP Grundlagen 2 18.10.2008 13:43:19
Mehrdimensionales Array umstrukturieren Munchkin PHP für Fortgeschrittene und Experten 2 16.05.2008 13:09:06
Mehrdimensionales Array sortieren MrLongbaugh PHP Grundlagen 10 06.03.2008 12:02:47
Problem mit include und array in while-Schleife andu PHP Grundlagen 2 14.11.2005 20:02:10


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:58:44 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt