Page 2 of 2

Re: Parameter aus FORM an PHP übergeben ?

Posted: Thu 17. Jul 2008, 19:57
by ShyGuy
so eine Art Leer Replacement Tag...
Das war das Stichwort, das gefehlt hat !!

Ich hatte Dir gerade eine PM geschickt - vergiss sie !
Weiß, zwar noch nichts genaues, aber mit einem {STOCK} auf der Seite, bekomme ich jetzt schon mal eine Ausgabe.
Von hier an komme ich -hoffentlich- allein weiter.

Das war doch sehr inspirativ - vielen Dank !

Re: Parameter aus FORM an PHP übergeben ?

Posted: Thu 17. Jul 2008, 20:15
by Jensensen
ShyGuy wrote:Das war doch sehr inspirativ - vielen Dank !
ja, danke, jungs.

toll
$content['all'] = str_replace('{STOCK}', stock(), $content['all']);
function stock() {
$blabla='...';
return $blabla;
}
ja sagte ich doch
Jensensen wrote:durch frontend render scripts !??
Und wie kommt nun die Var aus dem form KONKRET in FE render?

Re: Parameter aus FORM an PHP übergeben ?

Posted: Thu 17. Jul 2008, 20:29
by juergen
Jensensen wrote:
Und wie kommt nun die Var aus dem form KONKRET in FE render?
Die Form ruft den Teil mit dem Replacer auf und schon funzt das ...das könnte man auch noch eleganter lösen mit einer Fallunterscheidung Var gesetzt ja/nein und dann könnte das script ohne weiteres sich selbst aufrufen...

Re: Parameter aus FORM an PHP übergeben ?

Posted: Thu 17. Jul 2008, 20:52
by Jensensen
DF6IH wrote:Die Form ruft den Teil mit dem Replacer auf und schon funzt das ...
Hi Jürgen,
danke, aber ich verstehe es nicht.
Ich will hier ja keinen Einzelunterricht haben - im Gegenteil, ist ja public, aber wie / womit

CODE EXAMPLE

ruft das Formular den "Replacer" auf?
Und woher, aus was,

CODE EXAMPLE

wodurch, womit, wie also "rutscht" der Parameter aus dem Formular in das FE render replacer script? :?: :roll:


ShyGuy, hast Du ein konkretes Code-Beispiel?

Re: [Gelöst]Parameter aus FORM an PHP übergeben...

Posted: Thu 17. Jul 2008, 21:05
by jscholtysik
Hey Jens,


schau Dir einfach mal meine Reptags an unter

http://forum.phpwcms.org/viewtopic.php? ... pe#p103987

Die sind alle nach dem gleichen Muster gestrickt.

Das Users Online Reptag macht auch so eine Ausgabe wie hier in diesem Thread... ;-)


Joachim

Re: [Gelöst]Parameter aus FORM an PHP übergeben...

Posted: Thu 17. Jul 2008, 21:18
by Jensensen
Hi Jo,

danke.
Das ist ein "normales" FErender script, denke ich.

Die Frage aber war, wie die Variable aus dem Formluar-Posting "herausgefriffen", isoliert, übergeben werden kann, um dann in FErender scripts weiter genutzt werden zu können.

wie geht das?
beispiel code?
bitte, 4-5 zeilen oder so reichten aus...

danke euch!

Re: [Gelöst]Parameter aus FORM an PHP übergeben...

Posted: Thu 17. Jul 2008, 21:40
by juergen
Ja klar Jens,

das sieht am Anfang ein wenig abstrakt aus und ich habe sicher eine genze Zeit gebrütet bis es allmählich klarer wurde..

Anlss ist erst mal der Transport von Variablen Werten, die ansonsten verloren wären oder nur in Programmübergreifenden Vars gespeichert werden müssten.

An dessen Stelle 'transportierst ' du die :

-> die Form hat ein Target, also da schlägt sie auf:

$_POST Methode liest im aufgerufenen File die Variable(n) wieder aus:

<input .... meine_var.....> nach index.php?liesdaaus ---> dort -> meine_var=$_POST['meine_var'];

$_GET Methode:

<a href=... index.php?liesdasaus&meine_var='schoeneVar01815'--> dort --> meine_var =$_GET['meine_var'];

Die eigentliche Arbeit besteht dann darin zu schauen, dass dir niemand über diese Methoden Salz in den Tee schüttet.

Beide Methoden funktionieren im rendering von phpwcms bestens.. daher ist so alles möglche einbaubar...

Re: [Gelöst]Parameter aus FORM an PHP übergeben...

Posted: Thu 17. Jul 2008, 21:42
by ShyGuy
So'n Käse, es gibt ja noch eine zweite Seite und das geht hier munter weiter - hab' ich gar nicht gesehen :D

Also, ich versuche mal das an meinem Beispiel etwas transparent zu machen...

hier das Script, das im Frontend_Render mitläuft:
Da hab' ich doch eben tatsächlich Frontend mit 't' am Ende geschrieben - bekommen jetzt noch eine Gänsehaut...

Code: Select all

<?php

// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
  die("You Cannot Access Th Script Directly, Have a Nice Day.");
}
// ----------------------------------------------------------------

$content['all'] = str_replace('{STOCK}', stock(), $content['all']);
  function stock() {
    $stock = $_POST["stock"];
    if (strlen($stock) < 4)
      return '<b>Please enter more then 3 characters !</b>';
     // this displays all records where the value
    // of the selected field matches the query
    $data = select_csv('ddd.csv', ',', '0',$stock);
    $ausgabe.= '<ul>';
    for ( $i = 0; $i < count($data); $i++ )
    {
      $ausgabe.= '<li>';
      $ausgabe.= $data[$i][0].' ';
      $ausgabe.= '<br>';
      $ausgabe.= '<b>';
      $ausgabe.= $data[$i][1].' ';
      $ausgabe.= 'pcs. available';
      $ausgabe.= '</b>';
      $ausgabe.= '</li>';
    }
    $ausgabe.= '</ul>';
     return $ausgabe;
  }
     
     

  function select_csv($file,$delimiter,$field,$query)
  {
  $data_array = file($file);
  for ( $i = 0; $i < count($data_array); $i++ )
  {
    $parts_array[$i] = explode($delimiter,$data_array[$i]);
    if(substr(trim(strtolower($parts_array[$i][$field])),0,strlen($query)) == trim(strtolower($query)))
    {
     $result_array[] = $parts_array[$i];
    }
  }
  return $result_array;
  }


?>
Dazu habe ich einen CP HTML in dem das hier steht:

Code: Select all

<form action="http://de.xecro.com/index.php?login" method="post">

<p>article code <input name="stock" type="text" size="22" maxlength="30">
<input type="submit" value="query"></p>
</form>
Kannst Du Dir leider nicht life andsehen, da das bei mir hinter einem FE-Login steht.
Ist aber letztendlich auch recht unspektakulär...

Im gleichen Artikel habe ich noch einen nachfolgenden CP Text, in dem steht lediglich

Code: Select all

{STOCK}
So weit ich das jetzt für mich auseinander genommen habe, ersetzt die

Code: Select all

$content['all'] = str_replace('{STOCK}', stock(), $content['all']);
jetzt den RP-Tag {STOCK} durch den Rückgabewert, den die PHP-Funktion liefert.
Ist ein bisschen unglücklich, dass da fast alles "stock" heißt; das war ursprünglich nicht so geplant.

Das Script macht eigentlich nichts anderes, als in einer CSV nach Fragmenten eines Artikelcodes zu
schauen, und diesen dann, bei Übereinstimmung, zusammen mit der lieferbaren Menge anzuzeigen
- bzw. in diesem Fall zurückzugeben und anzeigen zu lassen 8)

---

Re: [Gelöst]Parameter aus FORM an PHP übergeben...

Posted: Thu 17. Jul 2008, 22:15
by Jensensen
[x]
jau, dank dir.
AHA, da kommen wir der sache doch schon etwas näher.
das ist also kein formular mittels CP form erstellt, was bei mir immer so aussieht: [x]
und submit value ist sonst immer
[x]

sondern "händisch" [x]
(brauchen wir also den CP form gar nicht?)

dennoch und also ist demnach der inhalt eines formular input-feldes name="stock" auszulesen mit
[x]

da haben wir nun endlich die antwort.
danke

Re: [Gelöst]Parameter aus FORM an PHP übergeben...

Posted: Thu 17. Jul 2008, 23:09
by Jensensen
[x]