php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.06.2009, 21:45  
Benutzer
 
Registriert seit: 02.12.2008
Beiträge: 53
Mitch26 befindet sich auf einem aufstrebenden Ast
Standard Übergabe eines Arrays, serialize

Schönen guten Abend wünsche ich,

ich möchte gerne ein Array an eine neue Seite übergeben und dort einen Wert in die DB schreiben. Habe auch schon gesucht und bin dabei auf serialize und unserialize gestoßen. Leider habe ich es damit nicht hinbekommen.

Vielleicht kann mir einer zeigen wie ich damit arbeiten muss.

Hier mein Array das erstellt wird:

PHP-Code:
<?php
 $sql 
"SELECT ort, ort_nr FROM tbl_ort ORDER BY ort";
 
form_list("ort"$db->queryArray($sql), array_item($formdata"ort_nr"));    
?>
und hier mein Code zur DB-Eingabe.

PHP-Code:
$sql_insert_db "INSERT INTO `tbl_objekt` (`ort_nr`) 
VALUES 
('"
.$db->sql_string($formdata["ort_nr"])."'; 
Ich danke euch für die Hilfe

Mitch
Mitch26 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.06.2009, 21:57  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hallo,
mit Sessions kannst du skript-übergreifend Daten speichern:
http://de3.php.net/manual/de/intro.session.php

schreiben.php
PHP-Code:
<?php
session_start
();
$_SESSION["test"] = array("eins""zwei""drei");
?>
lesen.php
PHP-Code:
<?php
session_start
();
print_r($_SESSION["test"]);
?>
Was du da oben postest hilft ziemlich wenig, da wird deine Klassen und Funktionen nicht kennen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 28.06.2009, 22:57  
Benutzer
 
Registriert seit: 02.12.2008
Beiträge: 53
Mitch26 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Chriz,

also Ziel soll es ja sein von einem Selectfeld den ausgewählten Wert in die DB zu übernehmen.

Die Funktion zum füllen lautet:

PHP-Code:
  function queryArray($sql) {
    
$this->sqlcounter++;
    
$this->printsql($sql);
    
$time1  $this->microtime_float();
    
$result $this->mysqli->query($sql);
    
$time2  $this->microtime_float();
    
$this->dbtime += ($time2 $time1);
    if(
$result) {
      if(
$result->num_rows) {
        while(
$row $result->fetch_array())
          
$result_array[] = $row;
        
$this->rowcounter += sizeof($result_array);
        return 
$result_array; }
      else
        return 
FALSE;
    } else {
      
$this->printerror($this->mysqli->error);
      return 
FALSE;
    }
  } 
und die Funktion zum erstellen:

PHP-Code:
function form_list($name$rows$selected=-1) {
  echo 
'<td class="myformtd">';
  echo 
'<select class="mycontrol" ',
    
html_attribute("name""form[$name]"), '>'"\n";
  echo 
'<option value="none">(choose)</option>';
  foreach(
$rows as $row) {
    echo 
'<option 'html_attribute("value"$row[1]);
    if(
$selected==$row[1])
      echo 
'selected="selected" ';
    
$listentry str_replace(" ""&nbsp;"htmlentities($row[0]));
    echo 
">$listentry</option>\n";
  }
  echo 
'</select></td>'"\n";

Das sind Vorlagen aus dem Buch PHP 5 & MySQL 5.

Ich verstehe da nun nicht wie ich den ausgewählten Wert auf die nächste Seite mitnehmen kann.

Mit Session habe ich es probiert, klappt aber leider nicht. Liegt wohl daran das ich nicht richtig weiß wie ich die SessionVariable fülle.

Mitch26

Geändert von Mitch26 (28.06.2009 um 23:03 Uhr).
Mitch26 ist offline  
Alt 28.06.2009, 23:57  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Die Funktion form_list erstellt ja lediglich HTML-Code aus den übergebenen Parametern.
An welches Dokument übergeben wird, steht im action-Parameter des <form>-Tags.
Und auf der "Empfänger"-Seite wird auch nicht das Array der ganzen <option>-Felder übertragen, sondern nur die ausgewählte.

Von daher ist es überhaupt kein Array.
Sollte oder soll irgendwo ein Array übertragen werden, funktionierts, wie Chriz gezeigt hat!


Zitat:
Zitat von Mitch26
Ich verstehe da nun nicht wie ich den ausgewählten Wert auf die nächste Seite mitnehmen kann.
Du mußt irgendwo ja Dein <form>-Tag haben. Da steht unter dem Parameter action, welche Seite aufgerufen wird,
wenn Du das Formular bestätigst.
Die Daten aus der Form werden dann automatisch mit auf die andere Seite genommen, je nachdem, welche method eingestellt ist per POST oder GET.

Zitat:
Zitat von Mitch26
Liegt wohl daran das ich nicht richtig weiß wie ich die SessionVariable fülle.
siehe Chriz

Die Funktion zum Füllen hilft uns so nicht viel weiter, weil es sich um die Funktion einer Klasse handelt, die wir nicht kennen.
Arne Drews ist offline  
Alt 29.06.2009, 20:38  
Benutzer
 
Registriert seit: 02.12.2008
Beiträge: 53
Mitch26 befindet sich auf einem aufstrebenden Ast
Standard

Nabend,

stimmt wohl das es kein Array ist, habe mich da irgendwie ablenken lassen.

Nur weiß ich leider nicht wie ich die Post-Variable anspreche auf der nächsten Seite.

Der Name des Selectfeldes ist form[ort] aber wenn ich das über sql insert einfügen will wird mir das als Fehler ausgewiesen.

Wie kann ich denn sonst die Variable ansprechen?

Danke
Mitch26 ist offline  
Alt 29.06.2009, 20:59  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

PHP-Code:
$_POST["variable"]; 
siehe und lerne hier!
Arne Drews ist offline  
Alt 29.06.2009, 21:11  
Benutzer
 
Registriert seit: 02.12.2008
Beiträge: 53
Mitch26 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Arne,

das klappt ja mit einfachen Textfeldern auch super. Nur mit dem Selectfeld (gefüllt als 2 dimensionales Feld) nicht.

Der Name des Selectfeldes ist "form[ort]"

wenn ich den nun als Value in einer sql Insert-Anweisung einfüge ($_POST["form[ort]"]) bekomme ich folgende Fehlermeldung:

Zitat:
Notice: Undefined index: form[ort] in ...

Geändert von Mitch26 (29.06.2009 um 21:28 Uhr).
Mitch26 ist offline  
Alt 29.06.2009, 22:17  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Was meinst Du mit Selectfeld?

Eine Checkbox, in der Du einen Haken setzen oder entfernen kannst?
Die wird als NameDerCheckbox=On oder Off übertragen. Kann auch Yes oder No sein, das weiß ich jetzt aus'm Kopf nicht...

Eine Auswahl aus einem Select-Konstrukt?
Das wird als NameDerSelectAuswahl=value übertragen...
Value ist der Wer der ausgewählten <option> von <select>.

Bei beiden gehts genau, wie zuvor beschrieben!
Arne Drews ist offline  
Alt 29.06.2009, 22:26  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

KORREKTUR!!!

Zum Thema Checkbox muß ich mich korrigieren, hab's gerade ausprobiert.
Dort wird nur etwas übertragen, wenn die Checkbox angehakt ist!
D.h., daß man da nur zu prüfen braucht, ob sie übertragen wurde...
Der Wert, wenn die Checkbox denn angehakt und der Wert übertragen wurde,
ist das Value, der bei der Checkbox angegeben wurde.

Ansonsten stimmt es aber so wie gesagt.
Also eine Übertragen in der form["Ort"] findet nicht statt!
Arne Drews ist offline  
Alt 29.06.2009, 22:26  
Benutzer
 
Registriert seit: 02.12.2008
Beiträge: 53
Mitch26 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Arne,

ich habe ein Selectfeld (Auswahlfeld) in dem ich mehrere Orte zur auswahl stelle. Dort soll einer Ausgewählt werden und der soll dann auf die nächste Seite mit übertragen werden um dort in eine DB geschrieben zu werden.

Das ganze kann man auf:

Webseite

betrachten. Der Username und das Passwort ist "test".

Dort gibt es das Feld form[ort] und das soll rüber.

Ich hoffe ich kann das so verständlich machen.

Hier noch der Quellcode dazu:

PHP-Code:
<?php
session_start
();?>
<?php
require_once 'myforum-functions.php';
require_once 
'formfunctions.php';
$db = new mydb(); // connect to MySQL; show error and exit if no connection
// if not logged in --> goto login page
get_userID($userID$username$db);
if(!
$userID)  {
  
header("Location: " baseurl() . "/login.php");
mysql_close($db);
  exit; }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
<head>  

<title>Your Page Title</title> 
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="suggest.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
<meta http-equiv="Content-Style-Type" content="text/css" /> 
<meta http-equiv="Content-Script-Type" content="text/javascript" />    
<link href="css/my_layout.css" rel="stylesheet" type="text/css" />
<link href="yaml/screen/forms.css" rel="stylesheet" type="text/css" /> 
<!--[if lte IE 7]>  
<link href="css/patches/patch_my_layout.css" rel="stylesheet" type="text/css" />  
<![endif]--> 

</head>  
<body>  
  <div class="page_margins">  
     <div class="page">  
      <div id="header">
          <div class="subcolumns">  
              <div class="c33l">  
                 <div class="subcl">
                 <a href="http://das-deutschlandnetz.de/test2/test4/index.php"><img src="images/logo.jpg" alt="Das-Deutschlandnetz.de" /></a>
                 </div>
              </div> 
              <div class="c66r">
                 <div class="subcr">
                 <img src="images/banner.jpg" alt="Das-Deutschlandnetz.de" align="left" style="float:right; height:90px;"/>
                 </div>
              </div> 
          </div>   
        <div id="topnav">  
          <a class="skip" title="skip link" href="#navigation">Skip to the navigation</a><span class="hideme">.</span>  
          <a class="skip" title="skip link" href="#content">Skip to the content</a><span class="hideme">.</span><a href="#">Login</a> | <a href="#">Contact</a> | <a href="#">Imprint</a>  
         </div>  
      </div>  
       
      <div id="main">  
        <div id="col1">  
          <div id="col1_content" class="clearfix">  
<h1>Neuer Eintrag</h1>
            <!-- add your content here -->  
 <form method="post" action="eingetragen.php" class="yform">
            <fieldset>
              <legend></legend>
              
              <div class="type-text">
              <label for="bezeichnung">Bezeichung </label>
              <input type="text" name="bezeichnung" id="bezeichnung" size="25" style="width: 300px;"/>
              </div>
              
     <div class="subcolumns">  
        <div class="c50l">  
           <div class="subcl">
              <div class="type-text">
              <label for="strasse">Strasse </label>
              <input type="text" name="strasse" id="strasse" size="25" style="width: 300px;"/>
              </div>
           </div>
        </div>

           <div class="c50r">
              <div class="subcr">
              <div class="type-text">
              <label for="hnr">Nr. </label>
              <input type="text" name="hnr" id="hnr" size="4" style="width: 20px;"/>
              </div>
           </div>
        </div>
     </div>

              <div class="subcolumns">  
              <div class="c50l">
              <div class="subcl">
              <div class="type-select">
                <label for="liste_ort">Ort <sup title="This field is mandatory.">*</sup> </label>

                <?php
                    session_start
();
                    
$sql "SELECT ort, ort_nr FROM tbl_ort ORDER BY ort";
                    
form_list("ort"$db->queryArray($sql), array_item($formdata"ort_nr"));
                    
$_SESSION["ort_nr"] = $formdata["ort"];    
                
?>
              </div>
           </div>
        </div>


        <div class="c50r">
           <div class="subcr">
              <div class="type-text">
              <label for="plz">PLZ </label>
              <input type="text" name="plz" id="plz" size="5" style="width: 50px;"/>
              </div>
            </div>
        </div>
     </div>

     <div class="subcolumns">
        <div class="c50l">
            <div class="subcl">
              <div class="type-select">
              <label for="liste_kategorie">Kategorie <sup title="This field is mandatory.">*</sup> </label>

<?php
  $sql 
"SELECT zuordnung_beschreibung, zuordnung_nr  FROM tbl_zuordnung ORDER BY zuordnung_beschreibung";
  
form_list("zuordnung"$db->queryArray($sql), array_item($formdata"zuordnung"));    
  
$_SESSION["zuordnung"] = $formdata["zuordnung"];    
?>
              </div>
           </div>
        </div>

        <div class="c50r">
           <div class="subcr">
              <div class="type-text">
              <label for="kategorie2">Kategorie 2 </label>
              <input type="text" name="kategorie2" id="kategorie2" size="25" style="width: 200px;"/>
              </div>
           </div>
         </div>
     </div>

     <div class="subcolumns">
  
        <div class="c50l">
           <div class="subcl">
              <div class="type-text">
              <label for="email">Email</label>
              <input type="text" name="email" id="email" size="80" style="width: 300px;"/>
              </div>
           </div>
        </div>


       <div class="c50r">
          <div class="subcr">
              <div class="type-text">
              <label for="tel">Telefon</label>
       <div class="subcolumns">
          <div class="c33l"
             <div class="subcl">
              <input type="text" name="vorw" id="vorw" size="30" style="width: 75px;"/>
             </div>
          </div>
          <div class="c66r">
             <div class="subcr">
              <input type="text" name="tel" id="tel" size="50" style="width: 125px;"/>
             </div>
          </div>
       </div>
              </div>
          </div>
       </div>
    </div>

              <div class="type-text">
              <label for="kommentar">Kommentar</label>
              <textarea name="kommentar" id="kommentar" cols="60" rows="5"></textarea>
              </div>

<div class="type-select">
  <label for="your-id">Bewertung</label>
  <select name="your-id" id="sterne" size="1" style="width: 150px;" />
    <option value="0" selected="selected" disabled="disabled">Bitte auswählen</option>
      <option value="1">1 Stern</option>
      <option value="2">2 Sterne</option>
      <option value="3">3 Sterne</option>
      <option value="4">4 Sterne</option>
      <option value="5">5 Sterne</option>
</select>
</div>

          
              <div class="type-button">
              <input type="submit" value="Eintragen" id="submit" name="submit" />

            </div>
            </fieldset>
                      </form>
            </div>  
          </div>  
        </div>  

      <!-- end: #col1 -->

        <div id="col3">  
          <div id="col3_content" class="clearfix">  
            <!-- add your content here -->
            <a href="http://das-deutschlandnetz.de/test2/test4/vorlage.php"><img src="images/werbung/werbung.bmp" alt="werbung" /></a>
          </div>  
          <div id="ie_clearing">    </div>  
        </div>  
  

      <div id="footer">
         <table border="0" >

         <tr>
         <td> Layout based on <a href="http://www.yaml.de/">YAML</a></td>
         <td><div align="right"><a href="http://www.das-deutschlandnetz.de/test2/test4/agb.php">AGB's</a></div></td>
         <td><div align="right"><a href="http://www.das-deutschlandnetz.de/test2/test4/impressum.php">Impressum</a></div></td>
         </tr>

         </table>
      </div>  
    </div>
           <!-- Graphic Border - Begin Part 2 -->
              <div id="border-bottom">
                 <div id="edge-bl"> </div>
                 <div id="edge-br"> </div>
              </div>
  
  </div>  
</body>  
</html>
Mitch26

Geändert von Mitch26 (29.06.2009 um 22:45 Uhr).
Mitch26 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Mehere Arrays und nur 2 Werte aus jedem auslesen litterauspirna PHP Tipps 2009 3 07.05.2009 20:30
[Erledigt] Sortieren von Arrays Roflkid PHP-Fortgeschrittene 10 06.05.2009 22:48
[Erledigt] foreach mit Mehrdimensionalen Arrays serious-cool PHP Tipps 2009 2 24.02.2009 01:49
Mehrere Arrays summieren buggybugga PHP-Fortgeschrittene 8 22.07.2008 11:51
Ajax: POST Übergabe eines Arrays obi HTML, Usability und Barrierefreiheit 4 27.07.2007 17:02
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
Arrays kreuzen PHP Tipps 2006 13 08.03.2006 11:36
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Objektorientierter Zugriff auf Multidimensionale Arrays PHP-Fortgeschrittene 31 26.11.2005 21:46
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Übergabe via URL => Scriptfehler PHP Tipps 2005-2 9 24.09.2005 13:12
Verständnis Problem bei Übergabe von Arrays imported_dex PHP Tipps 2005 2 05.03.2005 18:03
Erkennung von Arrays in Strings PHP-Fortgeschrittene 15 07.12.2004 13:00
2 arrays in abhängigkeit ??? PHP Tipps 2004 2 11.08.2004 21:19
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php serialize übergeben, array als submit übergeben, array per post serialize, array übergeben serialize php, array serialize für post, array in label übergeben, serialize get übergeben, php array in db schreiben serialize, php array mit post übergeben serialize, php url array mit ubertragen zu neue seite, php checkbox array serialize übergabe mit get, array per url und serialize übergeben php, php array serialize, php array serialize speichern, arrays serialize php übergeben post, php array serialize sql, serialize übergeben, php serialize form array, session klassen übergeben serialize, serialise a div?

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum