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 |
07.11.2006, 20:01:42
|
Anfänger
|
|
Registriert seit: Nov 2006
Beiträge: 38
|
|
Script speicher sofort ...$_SERVER[PHP_SELF]...auch ohne Einträge
Hallo Leuts,
habe ein kleines script welches über ein adminsite verwaltet wird. einträge können in div. feldern gemacht werden (titel, datum, tect. etc.) - das funktioniert auch. leider speichert das script auch sofort! wenn ich keine einträge vornehme. m.a.w. diese lassen sich zwar löschen, aber das kann nicht sinn der sache sein und es nervt. kann mir vielleicht jemand helfen - wenn ja - was braucht ihr von mir?
vielen dank - komm einfach nicht weiter...
|
07.11.2006, 20:47:03
|
Anfänger
|
|
Registriert seit: Nov 2006
Beiträge: 38
|
|
Keiner eine Idee?
Keiner eine Idee?
|
07.11.2006, 20:55:14
|
Member
|
|
Registriert seit: Aug 2005
Beiträge: 644
|
|
AW: Script speicher sofort ...$_SERVER[PHP_SELF]...auch ohne Einträge
Also erstmal raff ich deine Erklärung nich. Werden leere Einträge gespeichert oder was?
Dann wärs vielleicht sinnvoll den Code zu posten?!
|
07.11.2006, 21:08:19
|
Member
|
|
Registriert seit: Oct 2006
Beiträge: 610
|
|
AW: Script speicher sofort ...$_SERVER[PHP_SELF]...auch ohne Einträge
Wahrscheinlich Formular und Auswertung in einer Seite und keine Unterscheidung ob schon Daten da sind.. Und/Oder keine Ahnung, dass PHP-Seiten nicht "stehen bleiben" wenn man ein Formular ausgegeben hat, sondern bis zum Ende durchlaufen und dann neu geladen werden, wenn man das Formular absendet..
PHP-Code:
if (isset($_POST['feldname'])) { //Eintrag in Datenbank }
Geändert von BenniG. (07.11.2006 um 21:09:01 Uhr)
|
07.11.2006, 21:35:26
|
Anfänger
|
|
Registriert seit: Nov 2006
Beiträge: 38
|
|
Hier ist der Code
hier ist der code - nicht wundern - habe die nicht relevanten sachen rausgenommen....danke für eure hilfestellung.
es gibt nur die admin.php, ausgabe.php, config.php, header und footer
admin.php
PHP-Code:
<?
include('config.php');
session_start();
?>
<?
// Wenn nicht eingeloggt -> login
// --> Passwortabfrage
// --> Logout
// --> Menü
// --> Neues erstellen
case 'new':
$sql = "INSERT INTO $tablename (title) VALUES ('')";
mysql_query($sql, $db);
$id = mysql_insert_id();
Header("Location: $_SERVER[PHP_SELF]?action=edit&id=$id");
break;
// --> bearbeiten
case 'edit':
AdminHeader();
displayCMSEdit();
AdminFooter();
break;
// --> löschen
case 'delete':
include ("config.php");
mysql_query("DELETE FROM bid WHERE id='$id'");
mysql_close();
Header("Location: $_SERVER[PHP_SELF]?action=menu");
break;
// --> speichern
case 'save':
$title = $_POST['title'];
$url = $_POST['url'];
$url_title = $_POST['url_title'];
$date = $_POST['date'];
$text = $_POST['text'];
etc
$showentry = $_POST['showentry'] == 'on';
$sql = "UPDATE $tablename SET title='$title',url='$url',url_title='$url_title',date='$date',text='$text' WHERE id = $id";
mysql_query($sql, $db);
Header("Location: $_SERVER[PHP_SELF]?action=edit&id=$id");
break;
// --> Status setzen
case 'setstatus':
$showentry = (int)$_GET['showentry'];
$sql = "UPDATE $tablename SET showentry=$showentry WHERE id = $id";
mysql_query($sql, $db);
Header("Location: $_SERVER[PHP_SELF]?action=menu");
break;
default:
AdminHeader();
displayLogin();
AdminFooter();
}
?>
<?
// Funktionen und LoginStyle
// Funktionen und Menue Admin -- Übersicht
// Darstellung Übersicht
// bearbeiten - Funktionen
function displayCMSEdit()
{
global $id, $tablename, $db;
$sql = "SELECT id,title,url,url_title,date,text,showentry FROM $tablename WHERE id = $id";
$result = mysql_query($sql, $db);
list($id,$title,$url,$url_title,$date,$text,$showentry) = mysql_fetch_row($result);
$title = htmlentities($title);
$url = htmlentities($url);
$url_title = htmlentities($url_title);
$date = htmlentities($date);
$text = htmlentities($text);
etc
?>
<?
// Menue Admin
echo "<table align=\"center\" border=\"0\" background=\"images/menue_bg_u.gif\" cellpadding=\"0\" cellspacing=\"0\" height=\"30px\" width=\"800px\" style=\"border: 1px solid #DEDDDA\"><tr><td>";
echo "<tr><td bgcolor=\"#\">
<a href='info.php'><font color=\"#F23F20\"> Info</a></font> |
<a href='hilfe.php'><font color=\"#F23F20\">Hilfe</a></font> |
<a href='$_SERVER[PHP_SELF]?action=logout'>Ausloggen</a> |
<a href='$_SERVER[PHP_SELF]?action=menu'>Hauptmenü</a> |
<a href='cms.php?url=$url'target='_blank'><font color=\"#5A79AB\">Vorschau</a></font>";
echo "<form action='$_SERVER[PHP_SELF]?action=save&id=$id' method='post'></td></tr>";
echo "</table>\n";
?><?
// titel, Url etc
echo "<table align=\"center\" bgcolor=\"#\" width=\"800px\" style=\"border: 1px solid #DEDDDA\">\n";
echo "<tr bgcolor=\"#F4F0E4\"><td>Titel:</td><td><input type=\"text\" name=\"title\" value=\"$title\" size=\"70\" /></td></tr>\n";
echo "<tr bgcolor=\"#F4F0E4\"><td>URL:</td><td><input type=\"text\" name=\"url\" value=\"$url\" size=\"70\" /></td></tr>\n";
echo "<tr bgcolor=\"#F4F0E4\"><td>URL Titel:</td><td><input type=\"text\" name=\"url_title\" value=\"$url_title\" size=\"70\" /></td></tr>\n";
?>
<?
// Einträge
// --> Datum
echo "Datum: <input type=\"text\" name=\"date\" value=\"$date\" size=\"14\" />\n";
// --> Beschreibung Text
echo "<tr bgcolor=\"#F4F0E4\"><td valign=\"top\">Text:</td><td><textarea name=\"text\" rows=\"20\" cols=\"68\">$text</textarea></td></tr>\n";
// --> Speichern
echo "<table align=\"center\" border=\"0\" background=\"images/menue_bg_u.gif\" cellpadding=\"0\" cellspacing=\"0\" height=\"30px\" width=\"800px\" style=\"border: 1px solid #DEDDDA\"><tr><td>";
echo "<tr bgcolor=\"#F4F0E4\"><td valign=\"top\" align=\"right\" <input type=\"submit\" value=\"Speichern\" /></td></tr>\n";
echo "</form>\n";
echo "</table>\n";
}
?><?
// --> Header der Site
// --> Footer der Site
?>
ausgabe.php
PHP-Code:
<html>
<body>
<?
if(isset($_GET["show"])) $url = $_GET["show"];
include("config.php");
$sql = "SELECT id,title,url,url_title,date,text,showentry FROM $tablename WHERE url='$url' AND showentry=1";
$result = mysql_query($sql, $db);
list($id,$title,$url,$url_title,$date,$text,$showentry) = mysql_fetch_row($result);
if (mysql_affected_rows() == 0) exit;
if ((int)$_GET['noheader'] == 0) include("inc/header.php");
?>
<table width="100%" border="0" cellpadding="2" cellspacing="2" bordercolor="#000000" bgcolor="#FFCC00" id="code">
<tr>
<td><?echo($cms_title)?></td>
</tr>
<tr>
<td></td>
</tr>
</table>
<?
if ((int)$_GET['nofooter'] == 0) include("inc/footer.php");
function parsePHP($str)
{
ob_start();
$q = "?";
$regex = "/<\\${q}php((.|\n)*?)\\${q}>/";
preg_match_all($regex,$str,$out);
$out = $out[1];
$php = Array();
$in = Array();
while(list($num, $text) = each($out))
{
ob_start();
eval("$text;");
$php[] = ob_get_contents();
$in[] = $regex;
ob_end_clean();
}
return preg_replace($in,$php,$str,1);
}
?>
</body>
</html>
|
07.11.2006, 21:45:56
|
Member
|
|
Registriert seit: Aug 2005
Beiträge: 644
|
|
AW: Script speicher sofort ...$_SERVER[PHP_SELF]...auch ohne Einträge
Ah ich glaub jetzt versteh ichs.
Wenn jemand einen Eintrag erstellt, dann erzeugst du einfach einen leeren Eintrag und verlinkst auf die Edit Seite?
Also wenn ich das richtig seh wirst du kaum rum kommen das new nochmal wie edit zu machen nur halkt ohne Vorwerte und mit INSERT. Allerdings denk ich mal das du viel von edit einfach kopieren kannst!
(Du könntest es natürlich auch mit einem machen und dann immer zwischen edit und new unterscheiden. Die Frage ist halt was schneller geht.)
|
07.11.2006, 21:54:05
|
Anfänger
|
|
Registriert seit: Nov 2006
Beiträge: 38
|
|
???
danke für die schnelle hilfe - leider bin ich ein kompletter php-mysql-neuling - somit fällt es mir schwer deine anleitung nachzuvollziehen...
wie kann ich zwischen edit und new unterscheiden?
|
08.11.2006, 09:34:10
|
Anfänger
|
|
Registriert seit: Nov 2006
Beiträge: 38
|
|
Noch einmal HILFE
guten morgen,
leider bin ich gestern nicht weiter gekommen. vielleicht kann mir ja noch jemand einen tipp geben - daaaanke
|
08.11.2006, 11:10:38
|
Member
|
|
Registriert seit: Oct 2006
Beiträge: 610
|
|
AW: Script speicher sofort ...$_SERVER[PHP_SELF]...auch ohne Einträge
Naja, ohne Ahnung in PHP und wahrscheinlich auch MySQL ist das ein bisschen blöd!
bei case new:
PHP-Code:
// --> Neues erstellen case 'new': $sql = "SELECT coalesce(max(id)+1,1) new_id FROM `$tablename`"; $result = mysql_query($sql,$db) or die (mysql_error() . "<br>"); if (!$row=mysql_fetch_assoc($result)) { die ("Fehler, keine Daten"); } $id = $row['new_id']; Header("Location: $_SERVER[PHP_SELF]?action=edit&id=$id"); break;
bei case save:
PHP-Code:
case 'save': $title = $_POST['title']; $url = $_POST['url']; $url_title = $_POST['url_title']; $date = $_POST['date']; $text = $_POST['text']; etc $showentry = $_POST['showentry'] == 'on'; $sql = "REPLACE INTO $tablename SET title='$title',url='$url',url_title='$url_title',date='$date',text='$text',id = $id"; mysql_query($sql, $db); Header("Location: $_SERVER[PHP_SELF]?action=edit&id=$id"); break;
ACHTUNG: So können NICHT 2 Leute gleichzeitig Arbeiten!
|
08.11.2006, 11:43:18
|
Anfänger
|
|
Registriert seit: Nov 2006
Beiträge: 38
|
|
danke
danke nochmal für deine unterstützung - habe die änderungen im script vorgenommen - naja ein bißchen kenn ich mich schon aus - leider wird jetzt gar nichts mehr gespeichert. zwar speichert das script jetzt keine leeren einträge mehr (fehlermeldung ("Fehler, keine Daten") erschein aber auch nicht) aber einträge werden nun nicht mehr gespeichert. ??? noch eine idee?
|
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 11:42:11 Uhr.
|