quote:Op donderdag 10 november 2005 17:35 schreef Desdinova het volgende:
Waarom werkt dit niet..
Het is de bedoeling dat een geupload file uitgelezen wordt en de data in die file in een database toegevoegd wordt.
De code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25<?php
php
$table_name="OBcontacts_temp";
$textfile = $_FILES['file']['tmp_name'];
chmod($textfile,0755);
$field_terminater="";
$line_terminator="\r\n";
$query = "LOAD DATA INFILE '$textfile' INTO TABLE $table_name (Data) ";
if (isset($field_terminater)) {
$query .= "FIELDS TERMINATED BY '$field_terminater'";
}
if (strlen($line_terminator)>0) {
$query .= "LINES TERMINATED BY '". stripslashes($line_terminator)."'";
}
$sql_query = $query;
$result= mysql_query($sql_query);
?>
ik vermoed dat de fout zit bij het $textfile = $_Files gebeuren.. iemand die me kan vertellen hoe t wel moet?
De database connectie is goed iig.
mm zou ik daar wat aan kunnen doen?quote:Op maandag 14 november 2005 09:16 schreef Ro�a� het volgende:
Of het kan zijn dat je mysql geen leesrechten heeft tot de upload folder van php
Tevens zou ik empty() ipv isset() gebruiken voor de $field_terminator.
1 2 | ----- ------ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // SML parsen $berichtmetsml = preg_replace("!\\[b\\](.*)\\[/b\\]!Usi","<span class='vet'>\\1</span>",$bericht); $berichtmetsml = preg_replace("!\\[i\\](.*)\\[/i\\]!Usi","<span class='cursief'>\\1</span>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[u\\](.*)\\[/u\\]!Usi","<span class='onderstrepen'>\\1</span>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[s\\](.*)\\[/s\\]!Usi","<span class='doorhalen'>\\1</span>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[url\\]www.(.*)\\[/url\\]!Usi", "<a href=\"http://www.\\1\">\\1</a>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[url\\](.*)\\[/url\\]!Usi","<a href=\"\\1\">\\1</a>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[url=(.*)\\](.*?)\\[/url\\]!Usi","<a href=\"\\1\">\\2</a>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[img\\](.*)\\[/img\\]!Usi","<img class='smlplaatjestandaard' alt='' src=\"\\1\"></img>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[cimg\\](.*)\\[/cimg\\]!Usi","<div class='centreren'><img alt='' class='smlplaatjegecentreerd' src=\"\\\"></img></div>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[limg\\](.*)\\[/limg\\]!Usi","<img alt='' class='smlplaatjelinks' src=\"\\1\"></img>",$berichtmetsml); $berichtmetsml = preg_replace("!\\[rimg\\](.*)\\[/rimg\\]!Usi","<img alt='' class='smlplaatjerechts' src=\"\\1\"></img>",$berichtmetsml); // Bericht tonen echo"<div class='lijntje'><br/><span class='onderstrepen'>$titel, geplaatst op op $datum om $tijd uur.</span><br/><br/>$berichtmetsml<br/><br/></div>"; ?> |
1 2 3 | $berichtmetsml = preg_replace("!\\[url=(.*)\\](.*)\\[/url\\]!Usi","<a href=\"\\1\">\\2</a>",$berichtmetsml); ?> |
OMFG! Ik ben dus al 3 uur bezig om deze fout te vinden. Thx! Het werkt nu perfect!quote:Op maandag 14 november 2005 09:47 schreef Light het volgende:
In je [url= regel staat een vraagteken teveel.
[ code verwijderd ]
Je doet twee addities aan de query, als die allebei worden uitgevoerd heb je een spatie te weinig tussen de twee toevoegingen.quote:Op maandag 14 november 2005 09:23 schreef Desdinova het volgende:
[..]
mm zou ik daar wat aan kunnen doen?
hij laat iig wel wat zien bij de echo van $textfile.
Ik kan het fout hebben, maar dat stukje over Lines Terminated geeft de \r\n toch in single quotes aan mysql?quote:Op maandag 14 november 2005 09:09 schreef Desdinova het volgende:
Had hem geplaatst in de oude, maar daar kijkt niemand meer natuurlijk dus even een repost:
[..]
Sterker nog, er gaat wel wat meer fout. Doe eens een echo $query, vlak voordat je je query uitvoert.quote:Op maandag 14 november 2005 09:09 schreef Desdinova het volgende:
Had hem geplaatst in de oude, maar daar kijkt niemand meer natuurlijk dus even een repost:
[..]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | php session_start(); echo "<form action='$PHP_SELF' method='POST'>"; for ($a = 0; $a < 3; $a++) { echo "<input type='text' name='$tekstvak[$a]'><br>"; } echo "<input type = 'submit' value='Verstuur' name='submit'>"; echo "</form>"; for ($a = 0; $a < 3; $a++) { $_SESSION['tekst'] = $tekstvak[$a]; } $tekst = $_SESSION['tekst']; echo "$tekst"; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | session_start(); echo '<form action="' . $PHP_SELF . '" method="POST">'; echo '<input type="hidden" name="submitted" value="true" />'; for ($i = 0; $i < 3; $i++) { echo '<input type="text" name="tekstvak[' . $i . ']"><br />'; } echo '<input type="submit" value="Verstuur" />'; echo '</form>'; $submitted = $_POST['submitted']; if ($submitted == 'true') { for ($i = 0; $i < 3; $i++) { $_SESSION['tekst'] = $_POST['tekstvak'][$i]; } } unset($submitted); $tekst = $_SESSION['tekst']; print_r($tekst); ?> |
Ik loop nu te kloten met array's en sessies.quote:Ik heb een winkelwagen script waarbij gebruikers artikelen kunnen toevoegen. Per toegevoegd artikel is het de bedoeling dat de gebruiker zelf een tekst toevoegd welke op zijn artikel komt te staan. Het is dus mogelijk dat een gebruiker drie keer het zelfde artikel kiest, maar waar hij drie verschillende teksten op wil hebben.
Wat ik wil, is dus dat zei hun teksten toevoegen en vervolgens op afrekenen drukken. Hierna komen zij uit op een scherm met daarin het overzicht van de door hun toegevoegde artikelen en de daarbij door hun toegevoegde tekst.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | php session_start(); echo '<form action="' . $PHP_SELF . '" method="POST">'; echo '<input type="hidden" name="submitted" value="true" />'; for ($i = 0; $i < 3; $i++) { echo '<input type="text" name="tekstvak[' . $i . ']"><br />'; } echo '<input type="submit" value="Verstuur" />'; echo '</form>'; $submitted = $_POST['submitted']; if ($submitted == 'true') { for ($i = 0; $i < 3; $i++) { $_SESSION['tekst'][$i] = $_POST['tekstvak'][$i]; } } unset($submitted); print_r($_SESSION['tekst']); ?> |
zitten idd wat dingen in.. maar ik heb dat hele stukje op nonactief staan. mijn querie ziet er zo uit (echo):quote:Op maandag 14 november 2005 12:09 schreef JeRa het volgende:
[..]
Sterker nog, er gaat wel wat meer fout. Doe eens een echo $query, vlak voordat je je query uitvoert.
Zet dan eens eenquote:Op maandag 14 november 2005 14:30 schreef Desdinova het volgende:
[..]
zitten idd wat dingen in.. maar ik heb dat hele stukje op nonactief staan. mijn querie ziet er zo uit (echo):
LOAD DATA INFILE '/tmp/phpC8fOxB' INTO TABLE OBcontacts_temp (Data)
voor zover ik kan zien lijkt het ok. ik kan helaas geen andere map aanmaken naast tmp, heb ik geen rechten toe op de server denk ik. beetje brak. zoiezo een brakke server want parse errors laatie ook gewoon niet zien resulteert in n blanke pagina. maar goed.
1 2 3 | error_reporting(E_ALL); ?> |
Ja sorry, was iets vergeten in m'n voorbeeld. Je moet de session variabele natuurlijk ook als array zien. ikke_ook heeft de goede code gegeven die in jouw geval gewoon moet werkenquote:Op maandag 14 november 2005 12:44 schreef Lariekoek het volgende:
JeRa, hij geeft nu alleen de waarde uit het derde tekstveld terug. Wat mijn bedoeling is:
[..]
Ik loop nu te kloten met array's en sessies.
Misschien dat iemand een idee heeft hoe dit snel en makkelijk te maken is?
Doe je soms een stripslashes() op de data die je van MySQL binnen krijgt?quote:Op maandag 14 november 2005 21:39 schreef Chandler het volgende:
Ik zit met een klein probleempje http://nl3.php.net/mysql_escape_string gebruik ik nu maar als ik texten terug wil zetten in een textbox krijg ik rn rn te zien... en dat wil ik niet. Hoe kan ik dit converteren? want ik kan geen undo routine terug vinden op php.net?
Waarom doe je een stripslashes() op die data? data die in MySQL behoort ruw te zijn, zonder slashes. Bij data toevoegen of veranderen moet je wel mysql_real_escape_string() gebruiken, maar dat is omdat MySQL anders niet het verschil ziet tussen data en de delimiters.quote:Op maandag 14 november 2005 22:07 schreef Chandler het volgende:
euh ja hoezo? maaruh dat doe ik pas nadat ik het probeer te converteren naar chr(13) etc
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |