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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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 für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.03.2003, 17:04:27
StefanGe StefanGe ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
Werte aus einzelnem Formularfeld ändern

Hallo,

ich schicke Eingaben aus einem Formular mit post an ein PHP-Script. Dieses schreibt die Eingaben in eine test.htm und zeigt diese an (in der test.htm ). Stark verkürzt sieht wie folgt aus:
PHP-Code:
$ergebnisseimplode(""file("test.htm"));
foreach(
$HTTP_POST_VARS as $key=> $val)
//$ergebnisse= str_replace("MM", "Michael Mustermann", $ergebnisse);
$ergebnissestr_replace("<$key>"$val$ergebnisse);
echo 
$ergebnisse
Klappt auch alles soweit prächtig. Jetzt möchte ich aber die Eingabe aus einem bestimmten Feld des Formulars (name="autor") verändern, *bevor* die Werte in das Feld "<autor>" in der test.htm geschrieben werden. Hintergrund ist, dass ich Kürzel, die der Benutzer in dieses Feld eingibt, durch den vollständigen Text ersetze möchte. Also z.B. "MM" durch "Michael Mustermann".
Die auskommentierte Zeile ändert natürlich leider alle "MM" und nicht nur die aus dem Feld "autor" :-(
In den anderen Feldern darf "MM" natürlich nicht geändert werden - und genau da liegt mein Problem.
Lässt sich das überhaupt mit obiger Konstruktion realisieren?

Wäre sehr dankbar für Vorschläge!
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
Mit Zitat antworten
  #2  
Alt 03.03.2003, 17:17:46
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Du koenntest in der HTML-Datei eine auskommentierte Zeile stehen haben, die Du als Indikator für die darauf folgende Zeile nutzt. Dann diese Zeile im Array suchen und dann str_replace nur auf die folgende anwenden.
Bsp:
<!-- Ich bin ein Dummy-Text fuer ein wenig str_replace() //-->
<input type="text" name="author" value="MM">

Das wirst Du natuerlich noch vor dem implode() machen duerfen...
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 03.03.2003, 19:03:09
StefanGe StefanGe ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
Hi c4,

das klingt nach einer guten Idee! Ich habe den zu ändernden Bereich jetzt mit <!-- start --> und <!-- ende --> markiert (tatsächlich ist es eine Textarea, die sich über mehrere Zeilen erstreckt.) Leider raff ich überhaupt nicht, wie ich diesen Bereich auch finde (geht das mit array_search?). Und: Wo genau baue ich dass in mein Script ein? Vermutlich vor der echo Zeile, oder?
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
Mit Zitat antworten
  #4  
Alt 03.03.2003, 19:11:43
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
So sollte es klappen.
PHP-Code:
$ergebnisse=file("test.htm");

$i=0; while ($i<count($ergebnisse))
 { if (
$ergebnisse[$i]=="<!-- start -->") { str_replace("MM""Manfred Maust"$ergebnisse[$i]); } $i++; }

$ergebnisse=*implode("",*$ergebnisse);
foreach(
$HTTP_POST_VARS*as*$key=>*$val)
 { 
$ergebnisse=str_replace("<$key>",*$val,*$ergebnisse); }

echo*$ergebnisse
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 05.03.2003, 15:28:28
StefanGe StefanGe ist offline
Anfänger
 
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
Hi!
Hab's leider nicht früher geschafft zu antworten. Leider klappt das Script nicht. Es wird einfach nichts ersetzt.

:-((
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
Mit Zitat antworten
  #6  
Alt 05.03.2003, 16:33:35
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Sorry, das Skript ist nicht einmal vollständig... Also nochmal:
PHP-Code:
$ergebnisse=file("test.htm");

$i=0; while ($i<count($ergebnisse))
 { if (
$ergebnisse[$i]=="<!-- start -->") { $ergebnisse[$i+1]str_replace("MM""Manfred Maust"$ergebnisse[$i+1]); } $i++; }

$ergebnisse=*implode("",*$ergebnisse);
foreach(
$HTTP_POST_VARS*as*$key=>*$val)
 { 
$ergebnisse=str_replace("<$key>",*$val,*$ergebnisse); }

echo*$ergebnisse
Es fehlte eine Wertzuweisung nach dem Ersetzen. Könnte jetzt klappen.
__________________
sic!
--> http://dbCF.de/
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:07:59 Uhr.


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


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