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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
18.03.2009, 21:39:16
|
Anfänger
|
|
Registriert seit: Mar 2009
Alter: 38
Beiträge: 4
|
|
Datum bei Beiträgen meines Scripts ausgeben
Hi! ich habe schon mal in einem anderen Forum gefragt, aber da wird wohl erwartet dass man PHP scripten / programmieren kann...
Jedenfalls weiss ich nicht wie ich die date() Funktion in mein script so einbinde, dass er mir hinter jedem Beitrag das Datum ausgibt
Das script hab ich größtenteil mit einem guten Tutorial per Copy & Paste erstellt. Mir ist bewusst dass es ziemlich unsicher ist auch die GET Parameter sind nicht das Gelbe vom Ei. Aber das Script ist nur für private Zwecke gedacht, wo nur ich rankomm.
http://evia-complex.de/shoutbox.jpg
PHP-Code:
<?php
include("config.php");
//Tabellen erstellen
if(isset($_GET["install"])){
@mysql_query("CREATE TABLE $db_table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,article VARCHAR(255) NOT NULL);") or die ("Creating table failed: ".@mysql_error());
?>Tabellen wurden erfolgreich erstellt. <a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Weiter...</a><?php
//Ausgabe
}else{
?>
<!-- Formfelder -->
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
Titel:<br />
<input type="text" value="" name="input_title" maxlength="<?php echo $maxlength_titel; ?>" /><br />
Beitrag:<br />
<input type="text" value="" name="input_article" maxlength="<?php echo $maxlength_article; ?>" /><br />
<input type="submit" value="fertig" />
</form>
<!-- Formfelder Ende -->
<?php
// Zahl der Beiträge die angezeigt werden sollen
$display = (isset($_GET["show"]) ? "all" : $beitraglimit);
// Die Links, ob alle Beiträge angezeigt werden sollen oder nicht
if($display == "all"){
?><!--<a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Kompakt</a>--><?php
}else{
?><!--<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?show=all">Alle Beiträge anzeigen</a>--><?php
}
?>
<?php
//neuen Beitrag einfügen
$input_title = $_POST["input_title"];
$input_article = $_POST["input_article"];
$result = @mysql_query("SELECT * FROM $db_table ORDER BY id DESC LIMIT 0,1;");
$row = @mysql_fetch_array($result);
$input_title;
$input_article;
if($row["title"] != $input_title || $row["article"] != $input_article){
@mysql_query("INSERT INTO $db_table (title,article) VALUES ('$input_title','$input_article');");
}
}
//Ausgabe der Beiträge
$result = @mysql_query("SELECT * FROM $db_table ORDER BY id DESC;");
if($display == "all"){
while($row=@mysql_fetch_array($result)){
?>
<!-- Alle Beiträge anzeigen -->
<p>
<strong><?php echo $row["title"]; ?></strong>
<br />
<?php echo $row["article"]; ?>
</p>
<!-- Alle Beiträge anzeigen Ende -->
<?php
}
}else{
for($i=0;$i<$display && ($row=@mysql_fetch_array($result));$i++){
?>
<!-- Ausgabe Inhalt -->
<p>
<strong><?php echo $row["title"]; ?></strong>
<br />
<?php echo $row["article"]; ?>
</p>
<!-- Ausgabe Inhalt Ende -->
<?php
}
}
@mysql_close();
?>
|
18.03.2009, 21:50:58
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
Ich vermute einmal, daß du das Datum des jeweiligen Beitrages angezeigt bekommen willst. Da dieses Datum aber nirgends beim erstellen gespeichert wird, kann das so nicht funktionieren. Du müsstest also in diesem Fall deine Datenbanktabelle um eine Spalte erweitern, in der das Erstelldatum gespeichert wird.
Um später eine einfachere Anzeige zu bekommen empfehle ich die die Spalte als datetime oder timestamp zu erstellen.
|
19.03.2009, 09:04:11
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
Zitat:
Zitat von totalruin
Hi! ich habe schon mal in einem anderen Forum gefragt, aber da wird wohl erwartet dass man PHP scripten / programmieren kann
|
und wie stellst du dir das hier vor ?
cx
|
19.03.2009, 09:13:33
|
Anfänger
|
|
Registriert seit: Mar 2009
Alter: 38
Beiträge: 4
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
ich weiss nicht dass mir einer erklär wie ich das zeit datum jetzt richtig ausgebe :(
also ich bin jetzt etwas weiter ich habe in der datenbank timestamp und datetime felder erstellt.
ausgeben werd ich wohl später mit echo, aber wie übertrag ich jetzt das datum wenn der beitrag gepostet wird in die datenbank?
gruß
(sorry man braucht geduld mit mir :P )
|
19.03.2009, 12:08:24
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
Zitat:
Zitat von totalruin
sorry man braucht geduld mit mir
|
sorry, ich habe die befürchtung, dass geduld nicht ausreichen wird, da dir offensichtlich absolute basics fehlen:
Zitat:
Zitat von totalruin
wie übertrag ich jetzt das datum wenn der beitrag gepostet wird in die datenbank?
|
cx
|
19.03.2009, 13:23:45
|
Anfänger
|
|
Registriert seit: Mar 2009
Alter: 38
Beiträge: 4
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
Okay, es funktioniert jetzt die Lösung dafür war so
PHP-Code:
SELECT DATE_FORMAT(dasdatum,'%W %M %Y') AS dasdatum, title, article FROM $db_table ORDER BY id DESC
Findet noch jemand den letzten Fehler in meinem Script? Dann wär das Ganze gelöst...
Problem: Sobald ich die Seite aufrufe, fügt er einen LEEREN Eintrag hinzu (Datum und löschen-link stehen aber da). Wenn ich diesen Eintrag löschen will, sag mir mein Script "ID Fehlerhaft" .. Kann es nur über die Datenbank löschen.
Wenn ich z.B. noch einmal auf die Seite gehe, fügt er aber keinen neuen Beitrag hinzu, immer nur einmal den Leeren da.
Wenn ich jetzt einen Beitrag schreibe, dann wird der Beitrag schön und gut gepostet, aber wenn ich die Seite jetzt nochmal ausführe (nicht aktualieseren) per Enter Taste in der Statuszeile, fügt er wieder nen Leeren Eintrag mit einer ungültigen ID ein .. Die ID ist in der Datenbank vorhanden, aber wie gesagt, wenn ich es löschen will, dann sagt es ID Fehlerhaft.
Da muss ein Fehler in meinem delete query sein oder?
gruß
Geändert von totalruin (19.03.2009 um 14:56:32 Uhr)
|
19.03.2009, 15:20:51
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
Zitat:
Zitat von totalruin
Problem: Sobald ich die Seite aufrufe, fügt er einen LEEREN Eintrag hinzu (Datum und löschen-link stehen aber da).
|
Richtig, da die Bedingung "$row["title"] != $input_title || $row["article"] != $input_article" wahr ist, wenn das Formular nicht per Post abgeschickt wurde, somit keine Elemente im Array $_POST exisiteren und damit in Folge der automatischen Typanpassung PHPs $input_title und $input_article leere Zeichenketten sind.
Zitat:
Zitat von totalruin
Wenn ich diesen Eintrag löschen will, sag mir mein Script "ID Fehlerhaft" .. Kann es nur über die Datenbank löschen.
|
Ohne den dazu gehörenden Code zu kennen, können wir dir dabei nicht helfen.
|
19.03.2009, 16:02:15
|
Anfänger
|
|
Registriert seit: Mar 2009
Alter: 38
Beiträge: 4
|
|
AW: Datum bei Beiträgen meines Scripts ausgeben
HILFE ! Es hat doch nicht geklappt! Es funktioniert jetzt alles bis auf neue Einträge posten! Er will die Daten nicht übergeben!
Postet also keine neuen Beiträge!
der aktuelle code(noch ohne die if Zeile von weiter oben im Beitrag):
PHP-Code:
<?php include("config.php");
if(isset($_GET['action'])) { $action = $_GET['action']; } else { $action = 'show'; }
if($action == 'show' or $action == 'showall') { ?> <!-- Formfelder --> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> Titel:<br /> <input type="text" value="" name="input_title" maxlength="<?php echo $maxlength_titel; ?>" /><br /> Beitrag:<br /> <input type="text" value="" name="input_article" maxlength="<?php echo $maxlength_article; ?>" /><br /> <input type="submit" value="fertig" /> </form> <!-- Formfelder Ende --> <?php // Die Links, ob alle Beiträge angezeigt werden sollen oder nicht if($action == 'showall') { ?><!--<a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Kompakt</a>--><?php }else{ ?><!--<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?action=showall">Alle Beiträge anzeigen</a>--><?php }
//neuen Beitrag einfügen $input_title = $_POST["input_title"]; $input_article = $_POST["input_article"];
$result = mysql_query("SELECT title,article FROM $db_table ORDER BY id DESC LIMIT 0,1"); $row = mysql_fetch_array($result); if($row["title"] != $input_title || $row["article"] != $input_article) { mysql_query("INSERT INTO $db_table (title,article,dasdatum) VALUES ('$input_title','$input_article',now())"); } $SQL = "SELECT DATE_FORMAT(dasdatum,'%W %M %Y') AS dasdatum, title, article FROM $db_table ORDER BY id DESC"; if($action != 'showall') { $SQL .= " LIMIT 0,$beitraglimit"; } //Ausgabe der Beiträge $result = mysql_query($SQL); while($row = mysql_fetch_array($result)) { ?>
<!-- Alle Beiträge anzeigen --> <p> <strong><?php echo $row["title"]; ?></strong> <br /> <?php echo $row["article"]; ?> <br /> <?php echo $row["dasdatum"]; ?> <br /> <a href="<?php echo $_SERVER["PHP_SELF"].'?action=del&id='.$row["id"]; ?>">löschen</a> </p> <!-- Alle Beiträge anzeigen Ende -->
<?php } } elseif($action == 'del') { if(!is_numeric($_GET['id'])) { die('ID Fehlerhaft!'); } $id = $_GET['id']; mysql_query("DELETE FROM $db_table WHERE `id`= $id") or die('Loeschen fehlgeschlagen'); echo 'Entrag mit ID '.$id.' erfolgreich geloescht!'; } elseif($action == 'install') { //Tabellen erstellen mysql_query("CREATE TABLE $db_table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,article VARCHAR(255) NOT NULL);") or die ("Creating table failed: ".mysql_error()); ?> Tabellen wurden erfolgreich erstellt. <a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Weiter...</a> <?php } else { ?> <a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Weiter...</a> <?php } mysql_close(); ?>
Geändert von totalruin (19.03.2009 um 16:35:01 Uhr)
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:07:20 Uhr.
|