![]() |
Anzeige:
|
|
|||||||
| PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 21.11.2007
Beiträge: 29
|
hi,
jetz hab ich ein andres problem: Code:
<?php
mysql_connect("localhost", "root", "") or die
("Keine Verbindung moeglich");
mysql_select_db("gb") or die
("Die Datenbank existiert nicht");
$email_bild = '[img]email.gif[/img]';
//$hp_bild = '[img]hp.gif[/img]';
$Author = $_POST["Author"]; //Author wird übergeben
$email = $_POST["email"]; //email wird übergeben
$Inhalt = $_POST["Inhalt"]; //Inhalt wird übergeben
$IP = $_POST["IP"].$_SERVER['REMOTE_ADDR']; //ip-adresse wird übergeben
$Datum = $_POST["Datum"].time(); // Uhrzeit+datum wird übergeben
$jetzt = time();
$lo = "SELECT Datum FROM gb";
$lu = mysql_query($lo);
$vorher = $lu + (5*60);
if ($jetzt >= $vorher + (5*60)) {
echo "<h3>Danke das du dich eingetragen hast.</h3>";
$eintrag = "INSERT INTO gb (Author, email, Datum, Inhalt, IP) VALUES ('$Author', '$email', '$Datum', '$Inhalt', '$IP')"; //Eintrag
$eintragen = mysql_query($eintrag);
}
else {
echo "<font size=\"+3\">Versuch es später nochmal.</font>";
}
$abfrage = "SELECT * FROM gb";
$ergebnis = mysql_query($abfrage);
while($abfrage = mysql_fetch_array($ergebnis))
{
echo "<table cellpadding=\"4\" cellspacing=\"1\" border=\"0\" width=\"100%\" bgcolor=\"#444444\" align=\"center\">\n";
echo "<tr bgcolor=\"#2a2a2a\" class=\"tablehead\">";
echo "<td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=\"#ffffff\">Autor</font></td>\n";
echo "<td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=\"#ffffff\">Kommentar</font></td>\n";
echo "</tr>";
echo "<tr bgcolor=\"#4a4a4a\" class=\"tableb\">\n";
echo "<td valign=\"top\" width=\"230\" nowrap=\"nowrap\"><table>\n";
echo "<tr>";
echo "<td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><span style=\"color:;\">".$abfrage['Author']."</span>\n";
echo "<td><a href=\"mailto:".$abfrage['email']."\">$email_bild</a>\n";
echo "<td><a href=\"".$abfrage['hp']."\"$hp_bild</a></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><span style=\"color:#b8b8b7;\">".$abfrage['Datum']."</span></font></td>\n";
echo "</tr>\n";
echo "</table></td>\n";
echo "<td width=\"100%\" valign=\"top\">\n";
echo "<table width=\"100%\" align=\"left\">\n";
echo "<tr>";
echo "<td valign=\"top\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">".$abfrage['Inhalt']."</font></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</table>\n";
}
?>
wie ichs bis jetzt probiert hab siehts so aus: die aktuelle zeit wird in einer varibale ($jetzt) gespeichert, danach wird das datum aus der datenbank gelesen und mit $jetzt verglichen. wenn $jetzt größer oder gleich des Datums aus der datenabnk ist wird der eintrag nicht gespeichert. hier nochmal der betreffende code: Code:
$jetzt = time();
$lo = "SELECT Datum FROM gb";
$lu = mysql_query($lo);
$vorher = $lu + (5*60);
if ($jetzt >= $vorher + (5*60)) {
echo "<h3>Danke das du dich eingetragen hast.</h3>";
$eintrag = "INSERT INTO gb (Author, email, Datum, Inhalt, IP) VALUES ('$Author', '$email', '$Datum', '$Inhalt', '$IP')"; //Eintrag
$eintragen = mysql_query($eintrag);
}
else {
echo "<font size=\"+3\">Versuch es später nochmal.</font>";
}
kann mir bitte jemand sagen wie das richtig sein muss? ich sitz schon zulange vor dem code und komm nicht drauf. mfg wsl und nochwas: was ist daran falsch? Code:
ALTER TABLE `gb` ADD `id` INT( 40 ) NULL AUTO_INCREMENT Code:
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key |
|
|
|
|
|
|
#2 (Direktlink) |
|
Dauergast
![]() Registriert seit: 04.07.2004
Ort: Leipzig
Beiträge: 1.085
|
Eine Reloadsperre würde ich rein theoretisch betrachtet so aufbauen, dass beim ersten Laden des Formulars eine Variable mit einem beliebigen Zahlencode gesetzt wird. Dieser Zahlencode wird auch in der Sitzung gespeichert (oder in der Datenbank). Nach dem Versand des Formulars wird geprüft ob diese beiden Codes übereinstimmen. Mit Zeiten würde ich nicht arbeiten - viel zu unsicher.
Was das zweite Problem angeht: in der Tabelle existiert bereits eine auto_increment-Spalte. Die musst du entfernen oder umeditieren um eine neue einzufügen. phpmyadmin ist da sehr hilfreich. |
|
|
|
|
|
#3 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 21.11.2007
Beiträge: 29
|
zu 1: wüsste nicht wie ich des machen soll, bin neu in php und MySQL
kannst du mir den code geben? zu 2: ich arbeite ja mit phpmyadmin und da wird das ausgegeben, obwohl noch keine andre spalte mit auto_increment ist. |
|
|
|
|
|
#4 (Direktlink) |
|
Stammuser
![]() Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
|
vllt. id noch als primary key setzen
und darf der Wert 0 bei auto_increment drin stehn????
__________________
mFg K. R. Eyden |
|
|
|
|
|
#5 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 21.11.2007
Beiträge: 29
|
hi
ka ob da 0 drin stehen darf hab die reloadsperre jetzt anders gemacht: ich hab einfach die seite wos ausgegeben wird woanders hin "geheadert". und wenn man jetzt F5 oder akutalisieren drückt ist es egal, weil ja nur die datenbank ausgelsen wird und nicht das formluar neu bearbeitet wird. danke an euch alle |
|
|
|
|
|
|
#6 (Direktlink) | |
|
Dauergast
![]() Registriert seit: 04.07.2004
Ort: Leipzig
Beiträge: 1.085
|
Zitat:
|
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|