php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-10-2007, 19:50
figugegu
 Member
Links : Onlinestatus : figugegu ist offline
Registriert seit: Apr 2003
Beiträge: 167
figugegu ist zur Zeit noch ein unbeschriebenes Blatt
Standard Frage zu replace oder so...

Hallo zusammen
Mein Problem:
Ein User schreibt in ne Textarea irgend ein Text und möchte nun irgendwo eine Umfrage platzieren. Sagen wir mal, er macht dies mit einem Platzhalter (z.B. {UMFRAGEXY}). Nun wird dieser Text in der Datenbank abgelegt.

Beim Aufrufen auf der Seite sollte nun {UMFRAGEXY} durch die Umfrage XY ersetzt werden.
Ich hab nun schon fast alles versucht und überlegt, komme aber nicht auf eine gescheite lösung.
Am einfachsten wäre es, wenn {UMFRAGEXY} einfach durch ein include-Befehl ersetzt wird, die schaff ich aber nicht.

Wie macht man das? Ich bin überfordert!

Danke schon jetzt
Gruss
Mit Zitat antworten
  #2 (permalink)  
Alt 23-10-2007, 19:58
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

str_replace() kennst du sicher.

Die Ausgabe der include-Datei kannst du mittels ob_start() in eine Variable Umleiten und dann halt in den Text einfügen.

Fertig
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 23-10-2007, 20:03
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Ich verstehe nicht ganz, wo dein Problem ist!
PHP-Code:
$input getInputFromTextarea();
$pattern '@.*\\{UMFRAGE=([0-9]+)\\}.*@is';
if( !
preg_match$pattern$input$subpattern ) ) {
  die( 
"Passt net!" );
}
$umfrageId $subpattern[1];
$umfrage createHtmlForUmfrage$umfrageId ); // z.B. per include und ob_start
$out str_replace'{UMFRAGE='.$umfrageId.'}'$umfrage$input ); 
Suchst du sowas?
Mit Zitat antworten
  #4 (permalink)  
Alt 24-10-2007, 01:09
figugegu
 Member
Links : Onlinestatus : figugegu ist offline
Registriert seit: Apr 2003
Beiträge: 167
figugegu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@tobiaz:
Ich kenne ob_start nicht wirklich, versuchte mich ein wenig schlau zu machen...
kam nicht gerade weit. Werds mal anschauen.

@PHP-Desaster:
Verstehe ehrlich gesagt deinen code nicht so recht, sorry, kanns also nicht wirklich beurteilen.

Vieleicht nochmals zur erklärung:
In einer Variable ($text) ist viel Inhalt und irgendwo noch der Platzhalter {UMFRAGEXY} geschrieben. Nun möchte ich bei der Ausgabe dieses Textes($text) {UMFRAGEXY} so ersetzten, dass anstelle die datei umfrage.php eingefügt/ausgeführt wird.
Ich habs bis jetzt alleine mit str_replace versucht. Leider ergebnislos.

Danke für eure Hilfe

Gruss
Mit Zitat antworten
  #5 (permalink)  
Alt 24-10-2007, 09:54
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht solltest du noch einmal versuchen, meinen Schnippsel zu verstehen. Die Funktion createHtmlForUmfrage() soll dir halt die Umfrage erzeugen. Wie sie das jetzt macht, ist dem Schnippsel egal. Beispielsweise wäre so etwas möglich:

PHP-Code:
function createHtmlForUmfrage$id ) {
  
ob_start();
  include 
"umfrage.php";
  
$content ob_get_contents();
  
ob_end_clean();
  return( 
$content );

Ich habe dein {UMFRAGEXY}-Platzhalter einfach mal um die Angabe einer Umfragen-ID erweitert, darum die Syntax {UMFRAGE=XY}. Diese ID wird der create-Funktion übergeben. Du könntest die Umfrage in der Funktion genauso gut aus der Datenbank laden oder whatever!

Btw: Output Control Funktionen
Mit Zitat antworten
  #6 (permalink)  
Alt 24-10-2007, 12:22
figugegu
 Member
Links : Onlinestatus : figugegu ist offline
Registriert seit: Apr 2003
Beiträge: 167
figugegu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, ich beginne zu verstehen...
Folgender Code:
PHP-Code:
function createHtmlForUmfrage($umfrageId) {
  
ob_start();
  include 
"umfrage.php";
  
$umfrage ob_get_contents();
  
ob_end_clean();
  return( 
$umfrage );

schreibt die umfrage.php in die Variable $umfrage, richtig?
Was mir bei folgendem code nicht klar ist, was die funktion getInputFromTextarea(); bewirken soll.
PHP-Code:
$input getInputFromTextarea();
$pattern '@.*\{UMFRAGE=([0-9]+)\}.*@is';
if( !
preg_match$pattern$input$subpattern ) ) {
  die( 
"Passt net!" );
}
$umfrageId $subpattern[1];
$umfrage createHtmlForUmfrage$umfrageId ); // z.B. per include und ob_start
$out str_replace'{UMFRAGE='.$umfrageId.'}'$umfrage$input ); 
$out ist nun meine gewollte ausgabe, oder?

Danke und gruss
Mit Zitat antworten
  #7 (permalink)  
Alt 24-10-2007, 12:53
TroX
 Registrierter Benutzer
Links : Onlinestatus : TroX ist offline
Registriert seit: Dec 2006
Ort: Schweiz
Beiträge: 156
TroX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von figugegu
Ok, ich beginne zu verstehen...
Folgender Code:
schreibt die umfrage.php in die Variable $umfrage, richtig?
Was mir bei folgendem code nicht klar ist, was die funktion getInputFromTextarea(); bewirken soll.
Das getInputFromTextarea soll nur eine pseudo-funktion als Beispiel sein.

PHP-Code:
$input $_POST['name_der_textarea']; 
sollte es dir wohl erleichtern.


MfG
__________________
Freedom is a state of mind. Not a state in which we live.

troxdev.ch | animefieber
Mit Zitat antworten
  #8 (permalink)  
Alt 24-10-2007, 13:18
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von figugegu

Vieleicht nochmals zur erklärung:
In einer Variable ($text) ist viel Inhalt und irgendwo noch der Platzhalter {UMFRAGEXY} geschrieben. Nun möchte ich bei der Ausgabe dieses Textes($text) {UMFRAGEXY} so ersetzten, dass anstelle die datei umfrage.php eingefügt/ausgeführt wird.
Ich habs bis jetzt alleine mit str_replace versucht. Leider ergebnislos.

Danke für eure Hilfe

Gruss

bin i heut morge a bissl bräsig?? wenn da schon steht, dass er den ganzen plumperquatsch schon in ner variablen hat, wat soll das ganze ob_geflushe und so? wird das n neuer trendsport???

wenn das was da steht wahr ist, hat er lediglich n prob mit str_replace()...????!!!!!
__________________
**********
arkos
**********
Mit Zitat antworten
  #9 (permalink)  
Alt 24-10-2007, 13:42
figugegu
 Member
Links : Onlinestatus : figugegu ist offline
Registriert seit: Apr 2003
Beiträge: 167
figugegu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich packs nicht, hier mal mein Code:
PHP-Code:
function createHtmlForUmfrage($inhaltd) {
  
ob_start();
  include(
"umfrage.php");
  
$umfrage ob_get_contents();
  
ob_end_clean();
  return(
$umfrage);
}

function 
repfunc($inhaltd) {

$pattern '@.*\{UMFRAGE=([0-9]+)\}.*@is';
preg_match($pattern$inhaltd$subpattern);
$umfrageId $subpattern[1];
$inhaltd str_replace('{UMFRAGE='.$umfrageId.'}',$umfrage,$inhaltd);

return(
$inhaltd);
}
echo 
repfunc($inhaltd); 
In $inhaltd ist der ganze Text

Der Platzhalter {UMFRAGE=2} wird zwar ersetzt, leider aber durch nichts... also $umfrage ist leer!

Sorry für die (hoffentlich nicht sehr zeitraubenden) Fragen
Gruss
Mit Zitat antworten
  #10 (permalink)  
Alt 24-10-2007, 14:49
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du musst die Funktion ja auch aufrufen...

$umfrage = createHtmlForUmfrage($inhaltd);

Zitat:
Original geschrieben von arkos
bin i heut morge a bissl bräsig?? wenn da schon steht, dass er den ganzen plumperquatsch schon in ner variablen hat, wat soll das ganze ob_geflushe und so? wird das n neuer trendsport???

wenn das was da steht wahr ist, hat er lediglich n prob mit str_replace()...????!!!!!
"umfrage.php" gibt eine Umfrage aus (anstatt einen Text zurück), das soll eingefangen und an die richtige Stelle gepackt werden. Wenn ich das so richtig verstanden habe.

Edit: @Topicstarter: Ein richtig eingestelltes error_reporting hätte sich über eine nicht existierende Variable beschwert...
__________________
ich glaube
Mit Zitat antworten
  #11 (permalink)  
Alt 24-10-2007, 14:51
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Dann guck dir meinen Code nochmal an und vergleiche Zeile für Zeile. So wird dir auffallen, dass du der Variablen nichts zu weißt!
PHP-Code:
$umfrage createHtmlForUmfrage$umfrageId ); 
Du solltest dich erst einmal ausgiebig mit Grundlagen beschäftigen, bevor das ganze hier weiter ins Chaos verläuft!

@arkos:
Zitat:
Am einfachsten wäre es, wenn {UMFRAGEXY} einfach durch ein include-Befehl ersetzt wird, die schaff ich aber nicht.
Deswegen waren TobiaZ und ich bei den ob_*-Funktionen
Mit Zitat antworten
  #12 (permalink)  
Alt 24-10-2007, 14:57
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
@arkos: Deswegen waren TobiaZ und ich bei den ob_*-Funktionen [/B]
ok, verstehe. um das zu klären, könnte der threadgeber ja mal die umfrage.php hier posten
__________________
**********
arkos
**********
Mit Zitat antworten
  #13 (permalink)  
Alt 24-10-2007, 15:07
figugegu
 Member
Links : Onlinestatus : figugegu ist offline
Registriert seit: Apr 2003
Beiträge: 167
figugegu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Du musst die Funktion ja auch aufrufen...

$umfrage = createHtmlForUmfrage($inhaltd);
Sooorrry, hab ich nicht gesehen...
Aber es klappt nun mit folgendem code!!

PHP-Code:
function createHtmlForUmfrage($inhaltd) {
  
ob_start();
  include(
"umfrage.php");
  
$umfrage ob_get_contents();
  
ob_end_clean();
  return(
$umfrage);
}

function 
repfunc($inhaltd) {

$umfrage createHtmlForUmfrage($inhaltd);
$pattern '@.*{UMFRAGE=([0-9]+)}.*@is';
preg_match($pattern$inhaltd$subpattern);
$umfrageId $subpattern[1];
$inhaltd str_replace('{UMFRAGE='.$umfrageId.'}',$umfrage,$inhaltd);

return(
$inhaltd);
}
echo 
repfunc($inhaltd); 
Vielenvielen Dank an alle für eure hilfe.

Gruss
Mit Zitat antworten
  #14 (permalink)  
Alt 24-10-2007, 15:37
figugegu
 Member
Links : Onlinestatus : figugegu ist offline
Registriert seit: Apr 2003
Beiträge: 167
figugegu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ähmmmm, sorry, aber doch noch ne kurze Frage...
Welches ist die beste lösung, um nun die UmfrageId an umfrage.php zu übergeben?
Dies sollte ja geschehen, bevor diese ausgeführt wird.

Gruss
Mit Zitat antworten
  #15 (permalink)  
Alt 24-10-2007, 15:45
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
function createHtmlForUmfrage($inhaltd) {
  
ob_start();
  include(
"umfrage.php");
  
$umfrage ob_get_contents();
  
ob_end_clean();
  return(
$umfrage);
}

function 
repfunc($inhaltd,$umfrageId) {

$umfrage createHtmlForUmfrage($inhaltd);
$pattern '@.*{UMFRAGE=([0-9]+)}.*@is';
preg_match($pattern$inhaltd$subpattern);
$umfrageId $subpattern[1];
$inhaltd str_replace('{UMFRAGE='.$umfrageId.'}',$umfrage,$inhaltd);

return(
$inhaltd);
}

$umfrageId "7";
// sieben als beispiel fuer die umfrageid 

echo repfunc($inhaltd,$umfrageId); 
__________________
**********
arkos
**********
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:55 Uhr.