php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.07.2010, 14:13  
Erfahrener Benutzer
 
Registriert seit: 10.02.2009
Beiträge: 929
ragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Mensch
Standard

Ein "Fehler":
PHP-Code:
   #### Datenbank ausgewählt, jetzt Gästebuch Programm ####

    
$ersteller trim(strip_tags($_POST["ersteller"]));
    
$beitrag trim(strip_tags($_POST["beitrag"]));
    [
b][u]$smilie trim(strip_tags($_POST["smilie"]));[/u][/b]
   
    
# Wurde das Formular ausgefüllt ?
    
if (!empty($_POST["submit"])) 
1. bu??? wtf?? Rennt das wirklich so bei dir? Ich denke nicht
2. IMHO wäre es schöner, zuerst zu Üprüfen ob das Form. abgeschickt wurde und dann die Variablen zu verwenden
ragtek ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.07.2010, 14:44  
Neuer Benutzer
 
Benutzerbild von disturbedchick
 
Registriert seit: 30.06.2010
Beiträge: 27
PHP-Kenntnisse:
Anfänger
disturbedchick befindet sich auf einem aufstrebenden Ast
Standard

Also.. zuerst legst du die Datei "functions.php" an..
Da kommt Folgendes rein: (Ist kommentiert)
PHP-Code:
<?php // functions.php
// -------------------------- Funktion Smilies ------------------------------- //
// definiert, welche Zeichenfolgen ersetzt werden sollen
function bbsmilies($bb){ 

    
$bb str_replace($search$replace$bb);
    
    
$search = array();
    
$replace = array();
            
    
$bb nl2br($bb);
    
// ab hier kannst du beliebig austauschen - und natürlich noch smilies hinzufügen
    
$bb str_replace(':)''<img src="smilies/emoc_01.gif" alt=":)" border="0" />'$bb);
    
$bb str_replace(':D''<img src="smilies/emoc_02.gif" alt=":D" border="0" />'$bb);
    
$bb str_replace(':love:''<img src="smilies/emoc_03.gif" alt="love" border="0" />'$bb);
    return 
$bb;
}
// defniert die onclicks. bindest du später ein
function get_bbsmilies($place){

    
// bei klick auf bild => füge zeichenfolge ein ( zb :D ) | auch hier kannst du ändern, hinzufügen
    
$bb.= '<img onclick="add(\':)\');" style="cursor:pointer" src="smilies/emoc_01.gif" alt=":)" title="grinsend" />';
    
$bb.= '<img onclick="add(\':D\');" style="cursor:pointer" src="smilies/emoc_02.gif" alt=":D" title="lachend" />';
    
$bb.= '<img onclick="add(\':love:\');" style="cursor:pointer" src="smilies/emoc_03.gif" alt="love" title="verliebt" />';
    
    echo 
$bb;    
}
// -------------------------------------------------------------------------- //
?>
Damit das alles auch hergeholt wird, musst du die eben angelegte functions.php noch in deine Datei includen. Ich mache das immer direkt in der header.php. Wie du magst.
PHP-Code:
<?php include("functions.php"); ?>
Jetzt hast du die Funktionen definiert und die Datei, in der sie steht includet.
Du musst die onclicks aber noch einbinden - und den Text auf den die Funktion angewendet wird auch wieder richtig ausgeben. Ich mache das hier kurz anhand eines Beispiels:

Zuerst Javascript, damit onclick läuft:
Code:
<script type="text/javascript">
<!-- BBSmilies Funktion -->
var n = 1;
function add(code) {
	document.getElementById('bbsmilies').text.value += " " + code ;
}
</script>
Das lass mal so, wie es ist. "text" kannst du austauschen - bestimmt den Namen der Textarea, in welche die Zeichenfolge bei onclick eingefügt wird!

Nun schnell das Formular: (Die ID des Formulars muss "bbsmilies" sein)
Code:
<form action="example.php" method="post" id="bbsmilies">
			<fieldset>
				<h1>Formular</h1>
				
				<label>Titel</label>
				<input type="text" name="title">
				
				<?php get_bbsmilies('place'); /* BBSmilies ausgeben */ ?>
				
				<label>Text</label>
				<textarea rows="8" cols="50" name="text" id=""></textarea> <br />

				<input type="submit" value="submit" name="submit" class="button">
			</fieldset>
		</form>
Das war's fast. Du musst nun nur noch darauf achten, dass du dern Text, auf den die Funktion angewendet wird, auch richtig ausgibst. Wie folgt:
PHP-Code:
echo bbsmilies($row->text); 
Ich hoffe das war verständlich.. Ansonsten fragen

Mituser: Bei Fehlern unbedintgerne drauf hinweisen

Geändert von disturbedchick (04.07.2010 um 15:04 Uhr).
disturbedchick ist offline   Mit Zitat antworten
Alt 04.07.2010, 15:08  
Neuer Benutzer
 
Registriert seit: 04.07.2010
Beiträge: 6
PHP-Kenntnisse:
Anfänger
hostlius befindet sich auf einem aufstrebenden Ast
Standard

muss ich dann auch noch für die mysql tabelle einen spalte ffr die smilies anlegen ?
hostlius ist offline   Mit Zitat antworten
Alt 04.07.2010, 15:10  
Neuer Benutzer
 
Benutzerbild von disturbedchick
 
Registriert seit: 30.06.2010
Beiträge: 27
PHP-Kenntnisse:
Anfänger
disturbedchick befindet sich auf einem aufstrebenden Ast
Standard

Nein, das machst du alles in der functions.php.. Keine zusätzlichen Spalten.
Hast du dir den Code einmal genau angeschaut?? Dies hat mit der Datenbank nichts zu tun!!

Es wäre übrigens ratsam, vor allem, da du nichtmal Ahnung von einer "functions.php" hattest, die Codes nicht nur zu kopieren, sondern dich mit den einzelnen Funktionen auseinanderzusetzen und ein wenig darüber zu lernen. Das erleichtert dir das Arbeiten damit ungemein.


EDIT: PHP: Functions - Manual
oder
http://www.selfphp.de/funktionsreferenz

Geändert von disturbedchick (04.07.2010 um 15:22 Uhr).
disturbedchick ist offline   Mit Zitat antworten
Alt 04.07.2010, 15:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Es ist sehr schade, dass Du Dir nicht mal die Mühe machst, zu versuchen, eine Komplettlösung halbwegs zu verstehen.

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 04.07.2010, 15:25  
Neuer Benutzer
 
Registriert seit: 04.07.2010
Beiträge: 6
PHP-Kenntnisse:
Anfänger
hostlius befindet sich auf einem aufstrebenden Ast
Standard

deshalb fragte ich ja weil ich keine Verbindung zur datenbank erkannt hatte...und mir nicht sicher war...
hostlius ist offline   Mit Zitat antworten
Alt 04.07.2010, 15:31  
Neuer Benutzer
 
Benutzerbild von disturbedchick
 
Registriert seit: 30.06.2010
Beiträge: 27
PHP-Kenntnisse:
Anfänger
disturbedchick befindet sich auf einem aufstrebenden Ast
Standard

Ich sagte dir zuvor, dass ich es für dich schreiben werde. Die Lösung ist voll und ganz komplett. Der Code ist komplett. Alles da. Keine zusätzlichen Codes, Tabellen, was auch immer benötigt.
Edit: Außer den Smilies, versteht sich.
disturbedchick ist offline   Mit Zitat antworten
Alt 04.07.2010, 15:45  
Neuer Benutzer
 
Registriert seit: 04.07.2010
Beiträge: 6
PHP-Kenntnisse:
Anfänger
hostlius befindet sich auf einem aufstrebenden Ast
Standard

also so siehts bei mir aus:



<
PHP-Code:
<?php include("functions.php"); ?> 

<?php
    $server 
"localhost";
    
$datenbank "css-php-mysql";
    
$username "johannes";
    
$passwort "XXXXX";

    
$link mysql_connect($server$username$passwort);

    if (!
$link)
        {
        die(
"Konnte die Datenbank nicht öffnen.
             Fehlermeldung: "
mysql_error());
        }

    
#### "Erfolgreich zur Datenbank verbunden ! ####

    
$db mysql_select_db($datenbank$link);
    if (!
$db)
        {
        echo 
"Konnte die Datenbank nicht auswählen.";
        }

    
#### Datenbank ausgewählt, jetzt Gästebuch Programm ####

    
$ersteller trim(strip_tags($_POST["ersteller"]));
    
$titel trim(strip_tags($_POST["titel"]));
    
$beitrag trim(strip_tags($_POST["beitrag"]));

    
# Wurde das Formular ausgefüllt ?
    
if (!empty($_POST["submit"]))
        {
        
Prüfen ob etwas fehlt
        
if (empty($ersteller))    $_errors[] = "Name Fehlt.";
        if (empty(
$titel))        $_errors[] = "Titel fehlt.";
        if (empty(
$beitrag))    $_errors[] = "Beitrag fehlt.";

        
# Sind Fehler im Array $_errors gespeichert ?
        
if (count($_errors) > 0)
            {
            
# Ja, Fehler vorhanden - anzeigen !
            
foreach($_errors as $_error)
                {
                echo 
$_error "<br>";
                }
            }
        else
            {
            
# Nein, keine Fehler - Eintrag abspeichern
            
$_sql 'INSERT INTO gaestebuch
                     (ersteller,titel,beitrag,datum)
                       VALUES (
                     "'
.mysql_real_escape_string($ersteller).'",
                     "'
.mysql_real_escape_string($titel).'",
                     "'
.mysql_real_escape_string($beitrag).'",
                     NOW());'
;

            
mysql_query($_sql$link);

            echo 
"<b>Danke für Ihren Eintrag.</b><br><br>";
            }
        }

?>
<b>Alle G&auml;stebucheintr&auml;ge:</b><br>
<br>
<?
    $_sql 
"SELECT * FROM gaestebuch ORDER BY datum ASC";
    
$_res mysql_query($_sql$link);
    while (
$row mysql_fetch_array($_resMYSQL_ASSOC))
        {
        echo 
"<hr>";
        echo 
"Eintrag Nummer: " $row["id"];
        echo 
" von " $row["ersteller"];
        echo 
" vom " date("d.m.Y - H:i:s"strtotime($row["datum"]));
        echo 
"<br>Titel: " $row["titel"];
        echo 
"<br>Text: "str_replace("\n""<br>"$row["beitrag"]);
        echo 
bbsmilies($row->text);
        echo 
"<hr>";
        }
?>
<br><br>
<form action="gaestebuch.php" method="POST" id="bbsmilies">
Ihr Name: <input name="ersteller" maxlength=30><br>
Titel des Beitrags: <input name="titel" maxlength=100><br>
Ihr G&auml;stebucheintrag:<br>
<textarea name="beitrag" rows=5 cols=50></textarea><br>
<?php get_bbsmilies('place'); /* BBSmilies ausgeben */ ?>
<input type="submit" name="submit" value="Eintragen">
</form>


<script type="text/javascript">
<!-- BBSmilies Funktion -->
var n = 1;
function add(code) {
document.getElementById('bbsmilies').text.value += " " + code ;
}
</script>




<?
    mysql_close
($link);
?>


die functions.php habe ich übernommen und meine smilies eingefügt... em Formular zeigt es nun meine 3 smileys an aber ich kann sie nicht auswählen ... ????
hostlius ist offline   Mit Zitat antworten
Alt 04.07.2010, 15:49  
Neuer Benutzer
 
Benutzerbild von disturbedchick
 
Registriert seit: 30.06.2010
Beiträge: 27
PHP-Kenntnisse:
Anfänger
disturbedchick befindet sich auf einem aufstrebenden Ast
Standard

Lies dir bitte einmal ganz genau durch, was ich dir erklärt habe. Soviel zum Thema "Ich habe es mir angeguckt..." Na klar
Dein Fehler ist offensichtlich. Ich verrate jetzt aus Prinzip nichts! Die Lösung findest du, wenn du dir meinen Lösungsvorschlag noch einmal genau durchliest.

By the way: Beschäftige dich noch einmal mit den Grundlagen von PHP. Warum unterbrichst du andauernd PHP, obwohl unnötig?

PHP-Code:
<?php 
include("functions.php"); 

    
$server "localhost";
    
$datenbank "css-php-mysql";
    
$username "johannes";
    
$passwort "XXXXX";
    ....
?>
dürfte sinniger sein!

EDIT:
Außerdem: Gibst du in deinem Fall nicht mit
PHP-Code:
echo bbsmilies($row->text); 
aus, sondern mit
PHP-Code:
echo bbsmilies($row->beitrag); 
Du kannst darüber hinaus froh sein, dass die Spalte "Text" bei dir nicht existiert, sonst hättest du nun 2 Gästebucheinträge ausgegeben.
Wieso willst du doppelt ausgeben?
Dein Code geposteter Code ist schlicht und ergreifend falsch:
PHP-Code:
        echo "<br>Text: "str_replace("\n""<br>"$row["beitrag"]); // Hier gibst du einmal den Beitrag aus
        
echo bbsmilies($row->text); // Hier versuchst du noch einmal den Beitrag auszugeben, aber vollkommen falsch und sinnfrei 
Wenn du mich fragst, ist dein ganzer Code murks. Überarbeite ihn.

Kennst du den Namen deiner Spaltern in der eigenen DB nicht?
Zitat:
Zitat von hostlius
CREATE TABLE `gaestebuch` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ersteller` CHAR( 30 ) NOT NULL ,
`beitrag` TEXT NOT NULL ,
`datum` DATETIME NOT NULL,
`smilie` BLOB
) ENGINE = MYISAM ;
Heißt deine Spalte nun Text, oder vielleicht doch Beitrag?
Zitat:
Zitat von hostlius
ich habe mir kürzlich ein kleines Gästebuch geprogt....
Wer glaub dir das jetzt noch?

Ich kann dir nur noch einmal DRINGEND raten, dich mit den Grundfunktionen von php, (my)sql und co zu beschäftigen..

Geändert von disturbedchick (05.07.2010 um 01:15 Uhr).
disturbedchick ist offline   Mit Zitat antworten
Alt 05.07.2010, 14:41  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

habe lange weile und möchte auch mal mein senf dazu geben:

PHP-Code:
echo bbsmilies($row->beitrag); 
PHP-Code:
while ($row mysql_fetch_array($_resMYSQL_ASSOC)) 
wer sich auskennt, weis was ich meine.. und ich verweise mal auf dieses tutorial

MFG
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Antwort


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
textbasierendes gästebuch arrayfehler? Inaliii PHP Tipps 2010 14 15.05.2010 04:15
Gästebuch & Spam francis-braun PHP Tipps 2009 3 23.03.2009 19:20
Gästebuch für jeden user chr1s Scriptbörse 2 02.03.2009 11:39
[Erledigt] Gästebuch skript ohne mysql do it yourself gandalf PHP Tipps 2008 15 11.07.2008 21:52
Fehler im Gästebuch Wimme PHP Tipps 2006 1 22.08.2006 16:43
[Erledigt] Problem mit Smilies HTML, Usability und Barrierefreiheit 2 03.10.2005 18:56
smilies im gästebuch PHP Tipps 2005-2 7 20.08.2005 15:17
Dropdown-Menü und Gästebuch PHP Tipps 2005-2 5 20.06.2005 23:20
Smilies im Gästebuch PHP Tipps 2005-2 3 12.06.2005 16:01
Smilies für Gästebuch Beitragsarchiv 6 31.03.2005 09:02
Unbekanntes Problem mit Gästebuch PHP Tipps 2007 3 02.01.2005 22:04
[Erledigt] smilies aus einem javascriptfenster HTML, Usability und Barrierefreiheit 6 03.11.2004 10:49
Problem mit meinem Gästebuch picco PHP Tipps 2004 10 25.08.2004 23:35
Smilies im Gästebuch umwandeln PHP Tipps 2004 3 28.07.2004 20:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php replace smilies, smilies in gaestebuch umwandeln, replace smilies im gb, php gästebuch smilies, <?php get_bbsmilies(\'place\'); ?>, http://www.php.de/scriptboerse/69443-smilies-gaestebuch-2.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:08 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