php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.04.2005, 12:42  
Gast
 
Beiträge: n/a
Standard Gästebuch / Datenbank

Habe eine Gästebuchausgabeseite wie folgt gestaltet:
------------------------------------------------------------------------
<?
mysql_connect("localhost" ,
"USER!" , "Passwort");
mysql_select_db("USER");
$sql="select * from Gaestebuch1";
$result=mysql_query($sql);
$anzahl=mysql_num_rows($result);
?>
<html>
<table> <p style="padding-top:100px;">
<head>
<title> "Mein kleines G&auml;stebuch" </title>
<center><font size="6"> Gästebuch </font><center>
</head>



<body LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0

BACKGROUND="../img/gen/blue02.jpg"

LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0
text="#ffffff" link="#FFFFCC" alink="#FFFF99" vlink="#EBEBEB" BGCOLOR="#000066">

<table border="3" width="100%>

<col width="0%">
<col width="100%">
<col width:="0%">

<tr>

<table border="4" width="100%">



<tr>
<td> </td>
<center>EIGENER EINTRAG</center>

</tr>


</table>
</tr>

<table border="4" width=100%>
<col width="50%">
<col width="50%">
<tr>
<td><center>HOME</center></td>
<td><center>"Alles sch&ouml;ne"</center></td>
</tr>

</table>

<table border="1" width="100%">
<?
for ($i = 0; $i < $anzahl; $i++)
{
$row = mysql_fetch_array($result);

$Email=$row['Email'];

$Name=$row['Name'];

$Text=$row['Text'];

$Zeit=$row['Zeit'];

$Zeit=strftime("%a. %d.%m.%Y - %H:%M:%S %p", "$Zeit");

echo"<tr><center><font size='3'>Name: $Name
E-Mail: $Email
Zeit: $Zeit
Text: $Text</font></center></tr>";
}
?>

<table border="4" width="100%">
<col width="50%>
<col width="50%>

<td> <font size="4"> ZURÜCK </font> </td>
<td> <div align="right"><font size="4"> HOME </font> </div></td>

</table>
</td>
</body>

</html>

----------------------------------------------------------------------
Das ist ja jetzt nix großartiges. Das Eingabeformular schaut derartig aus:
----------------------------------------------------------------------
<html>
<head>
<title>Gästebuch</title>
</head>
<body
BACKGROUND="../img/gen/blue02.jpg"
LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0
text="#ffffff" link="#FFFFCC" alink="#FFFF99" vlink="#EBEBEB" BGCOLOR="#000066">

<center>
<h1>G&auml;stebucheintrag </h1>


<form method='POST' action='index4c.php'>


Name:
<input type='Text' name='Name'></p>


Email:
<input type='Text' name='Email'></p>


Text:
<textarea name='Text' cols='30' rows='10' wrap='soft'></textarea></p>

<input type='submit' value='Hier kommt mein Text'>

<input type='reset' value='Lieber doch nicht'>;"



</center>
</form>
</body>
</html>
------------------------------------------------------------------
Geht auch. Daraufhin habe ich die Empfänger php arangiert und mit der Scheint es Schwierigkeiten zu geben:
------------------------------------------------------------------
<?


mysql_connect("localhost" ,
"!USER" , "Passwort");
mysql_select_db("User");

$sql="select * from index4b.html";
$result=mysql_query($sql);


mysql_query("INSERT INTO 'Gaestebuch1' (Name, Email, Text)VALUES('$name', '$email', '$text' ");
?>
<html>
<head>
<title>Gästebuch</title>
</head>
<body
BACKGROUND="../img/gen/blue02.jpg"

LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0
text="#ffffff" link="#FFFFCC" alink="#FFFF99" vlink="#EBEBEB" BGCOLOR="#000066">

<center>
<?
print "
'$Name'
'$Email'
'$Text'";
?>
</center>
</form>
</body>
</html>
------------------------------------------------------------------------------
Hier geht mein Baby freundlich hin zeigt mir das eingegebene und transveriert allerdings nix in die Datenbank.

Was kann ich n da machen??????????????????
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.04.2005, 12:51  
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

du bekommst das volle programm:
1. [php]-tags benutzen

desweitere hat hier keiner eine glaskugel also folgendes zur suaberen programmierung mal umsetzen (dauert zwar etwwas, aber wer was lernen will sollte bereit sein zeit zu investieren).

error-reporting
Zum testen von Scripts setzt man normalerweise am anfang des scripts (oder direkt in einer config-datei die immer Includet wird) [php:e343a58ad2]error_reporting(E_ALL); [/php:e343a58ad2] damit werden dann alle Fehler ausgegeben.


register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen und nicht register_globals auf on stellen !!


select * from
Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

SEHR WICHTIG:

mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
[php:e343a58ad2]
$sql = "SELECT feld1,feld2 FROM table WHERE id=5";
$result = mysql_query($sql) or die(mysql_error().'
Query: '.$sql);
[/php:e343a58ad2]

ich schätze das wird dich weiterbringen.

mfg
robo47
robo47 ist offline  
Alt 19.04.2005, 12:53  
Gast
 
Beiträge: n/a
Standard

Hi und sorry, wenn meine Anfrage ein wenig zu unfreundlich klingt. Ist eigentlich garnicht meine Art

Das Thema ärgert mich im Moment nur

Für jeden Beitrag und wenns nur gute Wünsche sind. Bin ich natürlich sehr erfreut



Vielen Dank.
Michael.
 
Alt 19.04.2005, 12:53  
Gast
 
Beiträge: n/a
Standard

Hi Also ich kann di rmal zeigen wie ich es gelöst habe:

----------------------------------
Das ist das eingabe Formular
----------------------------------

PHP-Code:
<?php
<html>
<
head>
<
link rel="stylesheet" type="text/css" href="formate1.css">
    <
title>GBooK der KAI-Der BBS-Varel</title>
</
head>

<
body bgcolor="#ffffff" text="#c0c0c0">
<
form name="eintrag" action="eintrag.php" method="post">
<
p align="center"><font size="16">Neuer Eintrag im GBooK</font></p>
<
p align="center">
    <
table>
        <
tr>
            <
td><span style="font-size:14pt">Name: </span></td>
            <
td><input type="text" name="Name" class="normal"</td>
            <
td></td>
            <
td><span style="font-size:14pt">E-Mail Adresse: </span></td>
            <
td><input type="text" name="EMail" class="normal"</td>
        </
tr>
        <
tr>
            <
td><span style="font-size:14pt">Herkunft: </span></td>
            <
td><input type="text" name="herkunft" class="normal"></td>
            <
td></td>
            <
td><span style="font-size:14pt">Bundesland: </span></td>
            <
td><input type="text" name="bundesland" class="normal"></td>
        </
tr>
        <
tr>
            <
td colspan="5" style="text-align:center;">
                <
center>
                <
table>
                    <
tr>
                        <
td><p align="center"><span style="font-size:14pt">Eintrag: </span></p></td>
                        <
td><p ailgn="center"><textarea name="eintrag" class="normal" cols="25" rows="5">Hier könnt ihr euren Eintrag rein schreiben...</textarea></p></td>
                    </
tr>
                </
table>
                </
center>
            </
td>
    
        </
tr>
        <
tr>
            <
td></td>
            <
td></td>
            <
td><p align="center"><input type="submit" value="Eintragen" class="normal"></p></td>
            <
td><p align="center"><input type="reset" value="Löschen" class="normal"></p></td>
        </
tr>
    </
table>
    
</
form>    
</
body>
</
html>
?>
-----------------------------
Das überprüfungs Script und das, was es in die Datenbank schreibt
---------------------------------------------

PHP-Code:
<?php
<html>
<
head>
<
link rel="stylesheet" type="text/css" href="formate1.css">
</
head>
<
body>
<?
php
        $feld 
= array();
        
        
$name $_POST["Name"];
        
$email $_POST["EMail"];
        
$herkunft $_POST["herkunft"];
        
$bundesland $_POST["bundesland"];
        
$eintrag $_POST["eintrag"];
        
            
        
        if (
$name == ""$feld[] = "Name";    
        if (
$email == ""$feld[] = "E-Mail";
        
        
    
                        
        if (!
count($feld) == 0) { ?>
            <form name="eintrag" action="eintrag1.php" method="post">
            <h1>Eingabefehler</h1>
            <span style="font-size:14pt">Folgende Felder wurden nicht ausgefüllt:
            <ul>
            <?php
            
foreach ($feld as $fehler) {
              echo 
"[*]".$fehler;
              
            }
            
?>
            

            

            [/list]            <input type="submit" value="Zurück" class="normal"> 
                        </span></form><?php
        
exit(); // Skript beenden!
        

        else { 
?>
            <span style="font-size:20pt"><p align="center">Danke <?php echo $name?> für deinen Eintrag.</p></span>
            

            

            <form name="entraege" action="eintraege.php" method="post">
            <p align="center"><input type="submit" value="Weiter" class="normal"></p>
            </form>
        <?php 
        
?>
        
<?php    $dbName "DB";
        
$dbHost "HOST";
        
$dbUser "USER";
        
$dbPW "PW";
        
        if (!((
$dblink mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
        
$datum time();
    
//echo $datum." as ".strlen($datum);
    
mysql_query("INSERT INTO eintraege VALUES('','$datum','$name','$email','$herkunft','$bundesland','$eintrag');") or die(mysql_error());
?>
</body>
</html>

---------------------------------------------
und hier die ausgabe
---------------------------------------------

<html>
<head>
<link rel="stylesheet" type="text/css" href="formate1.css">
    <title>GBooK der KAI-Der BBS-Varel</title>
</head>
<body bgcolor="#ffffff" text="#c0c0c0">

    <p align="center"><span style="font-size:25pt" weigth="bold">GBooK der KAI</span></p>
    

    

    

    <form name="eintrag" action="eintrag1.php" method="post">
        <table>
            <tr>
            <td><input type="submit" class="normal" value="Neuer Eintrag"></td>
            </tr>
        </table>
        

        

        

<?php
        $dbName 
"DB";
        
$dbHost "host";
        
$dbUser "USER";
        
$dbPW "PW";
        if (!((
$dblink mysql_connect($dbHost,$dbUser,$dbPW)) && (mysql_select_db($dbName,$dblink)))) die(mysql_error());
    
        
        
//Beginn Datenbank-auslese
        
$verfasser = array();
        
$herkunft = array();
        
$email = array();
        
$bundesland = array();
        
$inhalt = array();
        
$datum = array();
        if (
$query mysql_query("SELECT * FROM eintraege ORDER BY datum DESC;")) {
            while (
$eintrag mysql_fetch_array($query)) {
                
$datum[] = $eintrag["datum"];
                
$verfasser[] = $eintrag["name"];
                
$herkunft[] = $eintrag["herkunft"];
                
$email[] = $eintrag["email"];
                
$bundesland[] = $eintrag["bundesland"];
                
$inhalt[] = $eintrag["eintrag"];
            }
        } else die(
mysql_error());
        
//Die Daten werden ausgegeben
        
for ($i 0$i count($verfasser); $i++) { ?>
            <table>

              <tr>
                <td><h4><?php echo date("d.m.Y - H:i",$datum[$i]).": ".stripslashes($verfasser[$i])." (".stripslashes($herkunft[$i])." in ".stripslashes($bundesland[$i]).")"?></h4></td>
              </tr>
              <tr>
                <td><h3><?php echo stripslashes(nl2br($inhalt[$i]."")); ?></h3></td>
              </tr>
              
            </table>
            <hr>
        <?php
        
}?>
            <form name="eintrag" action="eintrag1.php" method="post">
        <table>
            <tr>
            <td><input type="submit" class="normal" value="Neuer Eintrag"></td>
            </tr>
        </table>
</body>
</html>

----------------------------------------

ich hofffe es hilft dir
?>
 
Alt 19.04.2005, 12:56  
Gast
 
Beiträge: n/a
Standard Danke für die Beiträge

Habe allerdings zur Lösung ein Bedingung gestellt bekommen.

Das ganze soll nur in PHP gemacht werden. Vielen Dank aber für die Beispiele. bald gehts für mich auch mit CSS los.
 
Alt 19.04.2005, 12:59  
Gast
 
Beiträge: n/a
Standard

ok mom ich schau mir mal dein script an und schau mal wo der fehler ist, kann aber ein bisschen dauern!
 
Alt 19.04.2005, 12:59  
Gast
 
Beiträge: n/a
Standard

:P Mein Retter i d Not
 
Alt 19.04.2005, 13:01  
Gast
 
Beiträge: n/a
Standard

ok musst mir mal sagen wie die zeilen in der tabelle heißen
 
Alt 19.04.2005, 13:03  
Gast
 
Beiträge: n/a
Standard

Bitte drum Fehler dummer Art zu entschuldigen. Arbeite erst seit ein paar Tagen mit HTML und PHP Um genau zu sein seit insegsamt 6 Arbeitstagen
 
Alt 19.04.2005, 13:05  
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

naja warum fängst du dann mit sowas an? nicht mit was kleinerem erstmal oder mit Tutorials?
setzt dich doch einfach mal hin und befolge die von mir geposteten Tips, 90% davon muss man eh früher oder später befolgen.

mfg
robo47
robo47 ist offline  
 


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
Array Inhalte in eine Datenbank über tragen Munsi1 PHP Tipps 2008 5 11.04.2008 13:28
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Verbindung zu einer Datenbank im LAN Datenbanken 11 25.09.2005 12:18
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
[Erledigt] Seiten in PHP mit Datenbank PHP Tipps 2005-2 3 24.07.2005 09:07
Zugriff auf Sybase 8 Datenbank über ADOdb PHP-Fortgeschrittene 15 06.04.2005 15:55
Eintrag in Datenbank mittels Formular? Datenbanken 5 16.12.2004 17:36
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14


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