php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.03.2005, 20:01  
Gast
 
Beiträge: n/a
Standard Eregi und Checkscript - blocken sich

hi leute.
ich habe ein einfaches formular, welches dateien in der db abspeichert.
(das script benutz ich zum adden von IRC Channels)
wenn ich jetzt auf submit klicke, damit der die daten weiterleitet
habe ich noch 2 kleine funktionen eingefügt.
- das script checkt ob ein "#" im wort enthalten ist
- das script checkt die DB ab ob ein channel mit gleichem namen in der db ist.
nur die beiden scripte blocken sich gegenseitig..
hier das script:
PHP-Code:
<?php if(!isset($_POST['submit'])) { ?>
<form action="form.php" method="post">
<table width=100%>
<tr>
        <td width="170"  class="zellenlinks">#Channel</td>
        <td width="230"  class="zellen"><input type="text" name="chan" class="input" size="25" value="#"></td>
    </tr>
</table>
</form>
<?php
}elseif(!isset($_POST['chan']) || $_POST['chan'] == "") {
    echo 
'<p align="center">Insert Channel

[url="form.php"]Back[/url]'
;
}else{
    
$chan $_POST['chan'];
if (!
eregi('#'$chan)) {
   echo 
"Channel <u>must</u> contain at least one # !
<a href=form.php>Back</a>"
;
} else {
if (
mysql_num_rows($result))
{
echo 
"Channel already saved!
<a href=form.php>Back</a>"
;
}
else
{
$query2 "Insert into TABELLE (channel) VALUES ('$chan')";
mysql_query($query2);
if (
mysql_errno()) {
echo 
"Problem: " mysql_error();
}else{
echo 
"Channel {$chan} has been successfully added!
<a href=form.php>Back</a>"
;
} } } }
?>
das problem liegt, dass der das einfügt nachdem der gecheckt hat ob er in schon vorhanden ist.
wie könnte ich die beiden verknüpfen?
nett wäre wenn ihr mir noch sagen würdet, wie ich es mache, dass das script Nur den 1. buchstaben vom wort checkt, ob das ein "#" ist,
da eregi das ganze wort überprüft.

bin dankbar für jeden ratschlag.
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.03.2005, 20:02  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

$var{0} ist das erste zeichen eines strings.

2. bitte mal [php]-tags benutzen und einrücken, dann schau ich mir die sources nochmal an :P
robo47 ist offline  
Alt 11.03.2005, 21:01  
Gast
 
Beiträge: n/a
Standard re

hm ich habs nochmal mit verschiedenen methoden versucht..
eine möglichkeit war halt die beiden mit " || " zu verknüpfen.
PHP-Code:
<?php
if (!eregi('#'$chan)) ||  (mysql_num_rows($result)) { 
   echo 
"Channel is invalid
<a href=form.php>Back</a>"
;
?>
ich habe gerade gemerkt, dass ich überhaupt nicht $result definiert hab.
wäre nett wenn ihr noch einmal nachschauen könntet wie ich das machen könnte.
 
Alt 12.03.2005, 01:09  
Benutzer
 
Registriert seit: 05.10.2004
Beiträge: 66
Stinger
Stinger eine Nachricht über ICQ schicken
Standard

Du must eine db abfrage machen, die überprüft, ob dieser chan schon eingetragen ist.
Dort weist du dan $result den mysql_query zu.
dann müsste es auch mit der mysql_num_row abfrage klappen
Stinger ist offline  
Alt 12.03.2005, 03:07  
Gast
 
Beiträge: n/a
Standard re

ich hab mehrere sachen schon probiert,
$result hab ich wiefolgt definiert:

PHP-Code:
<?php
$result 
"SELECT channel FROM TABELLE");
if (
mysql_num_row($result)) {
echo 
"Channel schon vorhanden";
}
?>
oder habe ich da einen fehler gemacht?
mein script sieht jetzt so aus
*nur ganz grob*
PHP-Code:
<?php
}else{
$chan $_POST['chan'];
$result "SELECT channel from whitelist";
if (
mysql_num_row($result)) {
echo 
"Channel exists";
}
else
{
$query2 "Insert into TABELLE VALUES ('$chan')"
mysql_query($query2); 
}
if (
$query2) {
echo 
"Channel {$chan} has been successfully added!
<a href=form.php>Back</a>"

} else {
echo 
"Error"; } }
mysql_close();

?>
nur das will einfach nicht klappen. egal ob es den channel gibt oder nicht, er wird trotzdem hinzugefügt
 
 


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
Definieren von Blöcken und in Html einbinden! Brauche Hilfe. jf146 PHP Tipps 2006 3 01.04.2006 13:56
eregi()? oder explode() ? oder doch split() ? *schnief* Skazi PHP Tipps 2006 4 06.01.2006 16:38
verschachteln von Blöcken mit PHPLIB argon PHP Tipps 2007 1 28.12.2005 09:28
PHP: IP von Besuchern blocken SvenLittkowski PHP Tipps 2007 3 15.12.2005 00:58
eregi spoi PHP Tipps 2007 8 24.11.2005 19:12
eregi spoi PHP Tipps 2007 11 13.11.2005 12:33
eregi() Skazi PHP Tipps 2007 4 11.11.2005 22:12
popups blocken, newsletter script und frage zu db's PHP Tipps 2005-2 2 28.09.2005 07:00
preg_match() oder eregi()? Chr!s PHP Tipps 2005-2 4 13.08.2005 21:46
eregi zahlen, gross und kleine buchstaben, keine umlaute,... Dave Waterstone PHP Tipps 2005-2 3 24.07.2005 19:11
Variable in mehrere PHP Blöcken verfügbar? Calli PHP Tipps 2005-2 5 09.06.2005 10:48
gmx blockt menschen die werbung blocken :P robo47 Off-Topic Diskussionen 7 18.03.2005 22:52
string frage evtl eregi ?? REG EX PHP Tipps 2005 2 25.02.2005 11:59
Mit ereg(i) den Namen erkennen (oder so) PHP Tipps 2004-2 2 12.11.2004 17:56
Pingbefehl blocken auf Linux-Server? unknownsoul Server, Hosting und Workstations 3 25.09.2004 19:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php eregi ganzes wort, !eregi form, if (eregi($backurl

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.