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

Der CSS-Problemlöser

Der CSS-Problemlöser 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.09.2003, 21:55:55
MadMaX209 MadMaX209 ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: bonn
Beiträge: 12
MadMaX209 eine Nachricht über ICQ schicken
Gästebuch mit MySql will nicht reloaden

Also
ich hab mal wieder ein Problem.
Ich bin dabei meine ganzen scripts auf Sql umzuschreiben. Nur habe ich bei meinem Gästebuch seit dem das Problem, dass wenn ich auf der "Eintragen-Seite" auf den "EIntragen" Button klicke, Sql den Eintrag zwar aufnimmt, ich aber auf der Gästebuchhauptseite erst auf Aktualisieren klicken muss damit er erscheint.
Das macht doch kein normales Gästebuch?!!!
Entweder das liegt an meinem Browser oder ich leide mal wieder unter extremer Verplantheit.



Max
Mit Zitat antworten
  #2  
Alt 01.10.2003, 01:10:10
Benutzerbild von Jürg
Jürg Jürg ist offline
Junior Member
 
Registriert seit: May 2003
Ort: CH Zürich
Alter: 66
Beiträge: 352
Jürg eine Nachricht über Skype™ schicken
Ich gehe davon aus, dass Du ein Gästebuch hast und von da aus gest Du auf die Seite "Eintragen".
Mach das doch nun so:
Im oberen Teil vom Gästebuch hast Du das Eingabeformular, dan folgen die Eintragungen.
Durch drücken von "Senden", kommt auf eine "neue" Seite (ist in derselben Datei), wo Du dich bedankst und die Eintragungen bestätigst. Da drückt man "Gästebuch" und gelangt zurück zum Gästebuch. Dies ist nun neu geladen.
Nebenbei: beim "Senden" würde ich gleich ein Mail an Dich senden. Dann bist Du über die Eintragungen immer informiert und kanst den Blödsinn löschen.
Das Ganze gaht so:
Beachte auch das JaveScript, strip_tags und preg_replace

PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php include ("../headinclude-de.txt");
function 
mysql_die() {echo "Fehler: ";echo mysql_error();exit;}?>
<script type="text/javascript" language="JavaScript"><!--
    function start(){                                            // setzt Curser in erstes Feld
        document.forms['Gaesteeintrag'].Nachname.focus();
    }
    function testeFormular(){                                    // prueft Adresse
        var formular = document.forms['Gaesteeintrag'];         // kuerzt Namen zu formular
        if (formular.Nachname.value == "" &&
            formular.Ort.value == "" &&
            formular.Beitrag.value == "" ){
            alert("Bitte alle Felder mit * ausfüllen!");
            document.forms['Gaesteeintrag'].Nachname.focus();
            return false;
            }
        else{
            if(formular.Nachname.value == ""){
               alert("Bitte geben Sie Ihren Nachnamen ein!");
               formular.Nachname.focus();
               return false;
            }
            if(formular.Ort.value == ""){
               alert("Bitte geben Sie Ihren Ort ein!");
               formular.Ort.focus();
               return false;
            }
            if(formular.Beitrag.value == ""){
               alert("Bitte geben Sie Ihren Beitrag ein!");
               formular.Beitrag.focus();
               return false;
            }
       }
       return true;
    }
// Folgendes Script stammt im Wesentlichen von Ralf Pfeifer ([url]www.arstechnica.de[/url])
  function IstZuLang(Feld, AnzZeichen){
    var FehlerMeldung = "Fehler beim Ausfüllen des Formulars!nn"
    var FeldLaenge = Feld.value.length
    var OK = FeldLaenge <= AnzZeichen

    if (!OK) {
       FehlerMeldung += "Dieses Feld darf max. " + AnzZeichen
       FehlerMeldung += " enthalten.nSie haben " + FeldLaenge + " Zeichen eingegeben"
       alert(FehlerMeldung)
       Feld.focus() }
    return OK
  }
  function eMailAdresseOK(eMail){
     if (eMail.value.length==0) { return true }
     var FehlerMeldung = new String("Fehler in der eMail-Adressenn")
     var PosEt = eMail.value.indexOf("@")
     if (PosEt == -1) {
       alert(FehlerMeldung + "Es fehlt ein @")
       return eMail.focus() }
     if (PosEt == 0) {
       alert(FehlerMeldung + "Es fehlt der Empfänger")
       return eMail.focus() }
     if (eMail.value.indexOf("@", PosEt + 1) > PosEt) {
       alert(FehlerMeldung + "Es darf nur ein @ enthalten sein")
       return eMail.focus() }
     var PosPt = eMail.value.indexOf(".", PosEt)
     if ((PosPt == -1) || (PosPt - PosEt < 2) || (eMail.value.length - PosPt < 3)) {
       FehlerMeldung += "Eine eMail-Adresse muß so aufgebaut sein: [email]x@x.xx[/email] "
       FehlerMeldung += "Jedes x steht für mindestens ein Zeichen"
       alert(FehlerMeldung)
       return eMail.focus() }
     var ZugelasseneZeichen = new String("abcdefghijklmnopqrstuvwxyz")
     ZugelasseneZeichen += ZugelasseneZeichen.toUpperCase() + "0123456789.-_@"
     return PruefeZeichen(eMail, ZugelasseneZeichen, FehlerMeldung)
    }
    function PruefeZeichen(Feld, ZugelasseneZeichen, FehlerMeldung){
       for (var Pos = 0; Pos < Feld.value.length; Pos++)
       {
          if (ZugelasseneZeichen.indexOf(Feld.value.charAt(Pos)) == -1)
          { FehlerMeldung += "nnIhre Eingabe enthält das Zeichen '"
            FehlerMeldung += Feld.value.charAt(Pos)
            FehlerMeldung += "'. Sie dürfen nur diese Zeichen verwenden:n"
            FehlerMeldung += ZugelasseneZeichen
            if (ZugelasseneZeichen.indexOf(" ") == -1)
               { FehlerMeldung += "nLeerzeichen sind nicht erlaubt" }
            else
               { FehlerMeldung += "nund das Leerzeichen" }
            alert(FehlerMeldung)
            Feld.focus()
            return
          }
       }
    }
//--></script>
</head>
<body  onLoad="init(); start()" onResize="positionierung()" onScroll="positionierung()">
<a name="top"></a><div id="Marke"></div>
<?php
include ("open.inc.php4");
if(isset (
$submit)){
// Mail zur Ueberpruefung
          
$loeschlink "http://www.xy.xy/xy.php";
          
$empfaenger "xy@xy.xy";
          
$text "Nachname:    ".$Nachname."nVorname:     ".$Vorname."nOrt:         ".$Ort."nEMail:       ".$EMail."nBeitrag:n".$Beitrag;
          
$extra "MIME-Version: 1.0nContent-Type: text/plain; charset=iso-8859-1nContent-Transfer-Encoding: quoted-printablen";
          @
mail($empfaenger,"Gästebuch","Folgender Eintrag erfolgte:nn".$text."nnLöschen: ".$loeschlink,$extra."From:xy@xy.xynX-Mailer:PHP/".phpversion());
// Eintraege an db Newsletter
          
if ($EMail !=""){
             
$query"insert into newsletter (Vorname,Nachname,Ort,EMail,Woher)
             values('$Vorname','$Nachname','$Ort','$EMail','$woher')"
;
             
$result=mysql_query($query$conn) or mysql_die();
          }
// Eintraege an db Gaestebuch
          
$Beitrag strip_tags($Beitrag);
          
$query"insert into gaestebuch (Vorname,Nachname,Ort,EMail,Beitrag)
          values('$Vorname','$Nachname','$Ort','$EMail','$Beitrag')"
;
          
$result=mysql_query($query$conn) or mysql_die();
          require(
"kopfzeil-de.txt");
          echo 
"<p class="e5"><br>Erfolgreich eingef&uuml;gt!<br><br>
                <a href='gaestebuch.php'><b>Zur&uuml;ck zu Erfassungsseite</b></a><br>"
;
          }
          else{
require(
"kopfzeil-de.txt");
?>
<noscript>
<p align="center"><font color="#FF0000">Ihr Browser unterst&uuml;tzt leider die Funktionen mit JavaScript nicht!<br>
Wahrscheinlich haben Sie eine alte Browser-Version, oder Sie haben JavaScript deaktiviert.<br>
Dadurch funktioniert das untenstehende Formular m&ouml;glicher weise nicht richtig.</font></p>
</noscript>
<form method="post" action="<?php echo $PHP_SELF?>" onsubmit="return testeFormular()" name="Gaesteeintrag">
  <table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
    <tr>
      <td><p class="kl"><b>Nachname * </b></p></td>
      <td><input type="text" name="Nachname" size="40" tabindex="1"></td>
    </tr>
    <tr>
      <td><p class="kl"><b>Vorname</b></p></td>
      <td><input type="text" name="Vorname" size="40" tabindex="2"></td>
    </tr>
    <tr>
      <td><p class="kl"><b>Ort * </b></p></td>
      <td><input type="text" name="Ort" size="40" tabindex="3"></td>
    </tr>
    <tr>
      <td><p class="kl"><b>E-Mail</b></p></td>
      <td>
      <input type="text" name="EMail" size="40" OnBlur="eMailAdresseOK(this)" tabindex="4"></td>
    </tr>
    <tr>
      <td valign="top"><p class="kl"><b>Beitrag * </b></p></td>
      <td><textarea rows="9" name="Beitrag" cols="60" tabindex="5" wrap="soft"></textarea></td>
    </tr>
  </table>
      <input type="hidden" name="woher" value="Gaestebuch">
  <dir>
       <input class="norm" type="submit" name="submit" value="Abschicken" tabindex="6">
       <input class="norm" type="reset" name="reset" value="Zurücksetzen">
  </dir>
</form>
<?      // Verbindung mit db fuer Eintraege anzeigen
mysql_select_db("bank",$conn);
$query = "select *, DATE_FORMAT(Datum,'%d.%m.%y') as Datum_f from gaestebuch ORDER BY Datum DESC";
$result = mysql_query($query,$conn);
$num = mysql_numrows($result);
for ($i = 0; $i < $num; $i++){
        $row = mysql_fetch_array($result);
        echo "
        <table border="0" cellpadding="1" cellspacing="1">
               <tr>
                   <td width="60"><b>Name:</b></td>
                   <td width="300">$row[Vorname] $row[Nachname]</td>
                   <td width="60"><b>Ort:</b></td>
                   <td>$row[Ort]</td>
               </tr>
               <tr>
                   <td width="60"><b>Mail:</b></td>
                   <td width="300">";
        $str = preg_replace('"([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})"i','<a href="mailto:1">1</a>', $row[EMail]);
        print $str;
        echo "
                   </td>
                   <td width="60"><b>Date:</b></td>
                   <td>$row[Datum_f]</td>
               </tr>
        </table>
        <p>";
        print nl2br($row[Beitrag]);
        echo "
        </p>
        <hr>";
}
}
?>
</body></html>
Ich hoffe es hilft, bin aber überzeugt, das geht noch schöner.
Der Code läuft unter: http://www.tram-museum.ch/php/gaestebuch-D.php4
Viel Spass
__________________
www.zudila.ch
Mit Zitat antworten
  #3  
Alt 11.10.2003, 14:45:00
MadMaX209 MadMaX209 ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: bonn
Beiträge: 12
MadMaX209 eine Nachricht über ICQ schicken
Hey, danke!
Bin durch deinen Vorschlag auf ne Lösung gekommen.
DANKE!
Mit Zitat antworten
Antwort


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

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 12:13:54 Uhr.


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


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